logout method
override
Asks upstream Tailscale to revoke and remove the current logical profile. The lower-level StateStore container remains in place for later enrollment; physical storage destruction is a separate explicit local-reset concern.
If the node was previously brought down, logout temporarily reconstructs it from persisted state so revocation can still be attempted. A timeout or failure closes that possibly-mutated runtime, preserves local recovery evidence, and throws TailscaleLogoutException with TailscaleErrorCode.logoutIndeterminate. It never silently turns a failed remote logout into a local-only identity wipe.
Implementation
@override
Future<void> logout() async {
_requireInitialized();
return _supervisorLifecycle.run(_runLogout);
}