Land lan-hosts role: LAN-pin kai-server to dodge the flaky tailnet path #267
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#267
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?
Mac-side workaround for the flaky tailnet path to kai-server. See o2r channel HDBF; relates to #251.
What landed
ansible/roles/lan-hosts(commit2076d52onfix/tap-writer-workingdir): pins fleet hostnames to their LAN IPs in /etc/hosts via a managedblockinfile, gated on being on the home /24 so a freshen off-LAN self-cleans. Wired intofreshen.yml(tagslan-hosts,hosts).Inert by default
lan_hosts_enableddefaults tofalse. The role writes nothing until it is flipped, pending the decision below.Decision pending
kai-server-lanalias. The /etc/hosts approach is wrong off-LAN and only self-cleans on a freshen run while travelling. The ssh-alias is safer for a roaming laptop.Why (debug findings, captured through the o2r ansible-debug repo)
tailscale ping kai-serveris DIRECT over link-local en0, yet TCP :22 over the tailnet IP times out intermittently while :22 on the LAN IP is reliably open. The fault is the tailnet WireGuard TCP path, not on-box sshd.ncto the public WAN :443 from the Mac succeeds, so cross-host hairpin works. The Archer A20's broken hairpin is the same-host loopback case (the cert-manager self-check), not this path.Duplicate of #266 (double POST). Closing.