Converge SSH client keepalives for kai-server fleet-wide via ansible #290
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#290
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?
SSH sessions from client machines into kai-server drop after ~5 minutes idle. Root cause: no keepalives in the client-side
~/.ssh/confighost block, so an idle connection sends zero traffic and a NAT/firewall state table (or sshd idle policy) expires it.The fix is three lines in the
kai-serverhost block, applied by hand on kais-macbook-pro on 2026-06-11:~/.ssh/configis not ansible-managed today - nothing ininfrastructure/ansibletouches client ssh config (theauthorized-keysrole only manages server-side authorized_keys). So the fix lives only on the MacBook, and kai-desktop-tower / kai-windows-laptop will each hit the same 5-minute drop until they get the same block.Ask: converge the keepalive block fleet-wide via ansible, per the authoring-vs-rollout split (the rollout belongs here in infrastructure/ansible). Either a small new role for client ssh config or an addition to
kai-config. Notes:User kai,IdentityFile, and (macOS only)UseKeychain/AddKeysToAgent, so the template needs a platform conditional or macOS-only lines guarded appropriately.Hostline is SSM-backed (/coilysiren/kai-server/tailnet-fqdn) - resolve at converge time, never hardcode in the template.blockinfile) so hand-added hosts (router, OrbStack include) survive.C:\Users\<user>\.ssh\config) - see kai-windows-env for host specifics.