cmd/tailscale: tell gokrazy to not manage the CLI as a daemon

In the future we'll probably want to run the "tailscale web"
server instead, but for now stop the infinite restart loop.

See https://gokrazy.org/userguide/process-interface/ for details.

Updates #1866

Change-Id: I4133a5fdb859b848813972620495865727fe397a
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
(cherry picked from commit f18bb6397b)
This commit is contained in:
Brad Fitzpatrick 2022-03-01 20:17:31 -08:00 committed by Brad Fitzpatrick
parent 231f8b74e4
commit dee0b7f8b8

View File

@ -129,6 +129,13 @@ func Run(args []string) error {
if len(args) == 1 && (args[0] == "-V" || args[0] == "--version") {
args = []string{"version"}
}
if runtime.GOOS == "linux" && distro.Get() == distro.Gokrazy && len(args) == 0 &&
os.Getenv("GOKRAZY_FIRST_START") == "1" {
// Exit with 125 otherwise the CLI binary is restarted
// forever in a loop by the Gokrazy process supervisor.
// See https://gokrazy.org/userguide/process-interface/
os.Exit(125)
}
var warnOnce sync.Once
tailscale.SetVersionMismatchHandler(func(clientVer, serverVer string) {