ipn{,/local},cmd/tailscale: add "sync" flag and pref to disable control map poll

For manual (human) testing, this lets the user disable control plane
map polls with "tailscale set --sync=false" (which survives restarts)
and "tailscale set --sync" to restore.

A high severity health warning is shown while this is active.

Updates #12639
Updates #17945

Change-Id: I83668fa5de3b5e5e25444df0815ec2a859153a6d
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
Brad Fitzpatrick
2025-11-17 08:06:16 -08:00
committed by Brad Fitzpatrick
parent 165a24744e
commit f1cddc6ecf
10 changed files with 136 additions and 6 deletions
+11
View File
@@ -83,6 +83,17 @@ func (b *Bool) Scan(src any) error {
}
}
// Normalized returns the normalized form of b, mapping "unset" to ""
// and leaving other values unchanged.
func (b Bool) Normalized() Bool {
switch b {
case ExplicitlyUnset:
return Empty
default:
return b
}
}
// EqualBool reports whether b is equal to v.
// If b is empty or not a valid bool, it reports false.
func (b Bool) EqualBool(v bool) bool {