ansible(mac): drop the tailscale formula, keep only the tailscale-app cask (dual install wedges the tun) #253
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/infrastructure#253
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The Mac group installs two competing Tailscale stacks from brew, which fight over the tun and wedge the kernel data path:
tailscaleformula inhomebrew_installed_packages(ansible/inventory/group_vars/mac.yml:108) - ships thetailscaleddaemon + CLI, loaded as a launchd service.tailscale-appcask inhomebrew_cask_apps(ansible/inventory/group_vars/mac.yml:152) - the GUI app + itsmacsyssystem extension, which owns the supported macOS data path.On macOS only the cask app should run. Running the formula
tailscaledalongside it produces two daemons / two utuns / split routes: disco + userspace (tailscale ping) still works, but kernel TCP/ICMP to the tailnet black-holes (nc/ssh/pingtime out).How it surfaced
Hit live on
kais-macbook-produring thekais-macbook-pro -> kai-servero2r debug session (channel ZHQK). kai-server was healthy; the macbook could disco-ping it (7ms via LAN) but every kernel-path probe (nc :22,nc :6443,ssh) timed out. Neithertailscale down/up, a brew service restart, nor a full reboot fixed it - because the fault is two installs, not one stale daemon. Manual remediation requiredlaunchctl bootout system/homebrew.mxcl.tailscale(sudo) to stop the root-domain formula daemon and leave the cask app as the sole stack. A persistentclient 1.98.5 != tailscaled 1.98.2version skew was the tell (CLI from the formula, daemon socket from the cask's 1.98.2 extension).Asked fix (ansible)
Force the proper, single Tailscale install on Macs so this can't recur on convergence/reboot:
tailscale(the formula) fromhomebrew_installed_packagesfor the mac group - keep only thetailscale-appcask./Library/LaunchDaemons/homebrew.mxcl.tailscale.plist) andbrew uninstall tailscaleso already-provisioned Macs self-heal, not just fresh ones.tailscaleCLI on PATH is wanted, confirm the cask app provides it (it does, in the app bundle) before dropping the formula - socoily tailscalekeeps resolving.mac.ymlnear the cask entry: "do NOT also add thetailscaleformula - dual install wedges the tun (see this issue)."Acceptance
tailscaledprocess, no version skew warning fromtailscale ip.nc -z <peer> 22/ssh <peer>connect).