* website: update Tailscale VPN documentation
Replace use of breakglass with instructions to use interactive login.
This depends on https://github.com/tailscale/tailscale/pull/4117 being
merged.
Add mkfs into the example so that /perm filesystem is initialized.
Add instructions how to use auth-key for unattended device auth instead
of having to use browser interactively.
Append to tailscaled/flags.txt instead of overwriting.
Clarify and update the tsnet example. Add mention of TS_AUTHKEY
as alternative here too.
* website: set auth-key value on the same line for clarity
* website: require tailscale v1.22.1 to simplify instructions
Since tailscale.com v1.22.1 we do not need to set statedir and
tun=userspace-networking on gokrazy.
https://github.com/tailscale/tailscale/pull/4117#issuecomment-1063345864
On current kernels:
/tmp/breakglass3180421852 # ls -l /dev/serial0
lrwxrwxrwx 1 0 0 12 Jan 1 1970 /dev/serial0 -> /dev/ttyAMA0
On future kernels when Bluetooth is enabled:
/tmp/breakglass1740469836 # ls -l /dev/serial0
lrwxrwxrwx 1 0 0 10 Jan 1 1970 /dev/serial0 -> /dev/ttyS0
related to https://github.com/gokrazy/gokrazy/issues/49
gokrazy.go: added a NewWaitForClockService() which enables waitForClock configuration
supervise.go: added waitForClock boolean in service{} and changed the behaviour from environment variable to flag
Signed-off-by: Darshil Chanpura <darshil@thatwebsite.xyz>
With gokrazy/gokrazy#106, we're sending a TERM signal to service
processes and their immediate children. Service processes are being
waited on by `cmd.Wait()`, which will reap any kernel state associated
with it. However, its child processes don't necessarily get reaped
(depending on whether its parent had time to clean up before exiting).
With this change, we explicitly wait for everything in the service
process group to exit and prevent zombies.
Currently, rebooting/upgrading the instance sends a TERM signal to all
running services, waits 1 second and then reboots. Processes that take
longer to cleanly stop can't do so.
Instead, give each service up to 15s to do a clean shutdown. Reboot 15s
after the command is sent, or after all services are stopped, whichever
comes first.
To make it easier to kill entire process tree for a service, create a
per-service process group. Stopping the service can be done by sending a
single signal to the process group.
This means the process has already exited, but should not be treated as an
error. This fixes using “gok run” for crash-looping processes, and also the stop
button in the web interface.