docs: add nordvpn tailscale coordination plan
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
# NordVPN Tailscale Coordination Design
|
||||
|
||||
## Goal
|
||||
Stabilize macOS NordVPN connects by explicitly stopping Tailscale before bringing up the NordVPN WireGuard tunnel, then restarting Tailscale after NordVPN disconnects.
|
||||
|
||||
## Behavior
|
||||
- macOS only
|
||||
- on `connect`:
|
||||
- detect whether Tailscale is active
|
||||
- if active, stop it and record that state
|
||||
- bring up NordVPN
|
||||
- on `disconnect`:
|
||||
- tear down NordVPN
|
||||
- if the skill stopped Tailscale earlier, start it again
|
||||
- clear the saved state
|
||||
- on connect failure after stopping Tailscale:
|
||||
- attempt to start Tailscale again before returning the error
|
||||
|
||||
## State
|
||||
- persist `tailscaleWasActive` under `~/.nordvpn-client`
|
||||
- only restart Tailscale if the skill actually stopped it
|
||||
|
||||
## Rollback target if successful
|
||||
- remove the temporary macOS physical-service DNS management patch
|
||||
- restore the simpler NordVPN config path that uses NordVPN DNS directly in the WireGuard config
|
||||
- keep Tailscale suspend/resume as the macOS coexistence solution
|
||||
10
docs/plans/2026-03-12-nordvpn-tailscale-coordination.md
Normal file
10
docs/plans/2026-03-12-nordvpn-tailscale-coordination.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# NordVPN Tailscale Coordination Plan
|
||||
|
||||
1. Add macOS Tailscale state file support under `~/.nordvpn-client`.
|
||||
2. Implement helpers to detect, stop, and start Tailscale on macOS.
|
||||
3. Add unit tests for Tailscale state transitions.
|
||||
4. Wire Tailscale stop into macOS `connect` before WireGuard up.
|
||||
5. Wire Tailscale restart into macOS `disconnect` and connect-failure rollback.
|
||||
6. Sync the installed workspace copy.
|
||||
7. Run tests and non-destructive verification.
|
||||
8. Commit and push.
|
||||
Reference in New Issue
Block a user