logout method

  1. @override
Future<void> logout()
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);
}