You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/client/local
Nick Khyl 892f8a9582 various: allow tailscaled shutdown via LocalAPI
A customer wants to allow their employees to restart tailscaled at will, when access rights and MDM policy allow it,
as a way to fully reset client state and re-create the tunnel in case of connectivity issues.

On Windows, the main tailscaled process runs as a child of a service process. The service restarts the child
when it exits (or crashes) until the service itself is stopped. Regular (non-admin) users can't stop the service,
and allowing them to do so isn't ideal, especially in managed or multi-user environments.

In this PR, we add a LocalAPI endpoint that instructs ipnserver.Server, and by extension the tailscaled process,
to shut down. The service then restarts the child tailscaled. Shutting down tailscaled requires LocalAPI write access
and an enabled policy setting.

Updates tailscale/corp#32674
Updates tailscale/corp#32675

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2 months ago
..
cert.go feature/featuretags, all: add ts_omit_acme to disable TLS cert support 3 months ago
debugportmapper.go feature/portmapper: make the portmapper & its debugging tools modular 3 months ago
local.go various: allow tailscaled shutdown via LocalAPI 2 months ago
local_test.go nettest, *: add option to run HTTP tests with in-memory network 8 months ago
serve.go all: add ts_omit_serve, start making tailscale serve/funnel be modular 3 months ago
syspolicy.go util/syspolicy: finish adding ts_omit_syspolicy build tags, tests 3 months ago
tailnetlock.go all: add ts_omit_tailnetlock as a start of making it build-time modular 3 months ago