Push-based fleet Ansible: control = wherever Kai is #333
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#333
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?
Decision
Move fleet Ansible off local-only execution. Today
infrastructure/ansiblerunsansible_connection: localagainst a barelocalhostinventory, so converging the fleet means hand-running sync on every box — 6 physical hosts / 8 OS installs (Windows machines via WSL). That toll is the actual problem; the old "agents shouldn't SSH, so Ansible stays local" rule was conflating two separable things.Decoupling: the agent-SSH-deny boundary already exists in the lockdown / cli-guard layer and needs no new work. Kai running a sync is an operator action, hands-on-keyboard. So Ansible's transport (push over SSH) and the agent's SSH denial are independent — nothing new has to enforce the split.
There is no ward component here. ward's only involvement is that the existing
ward exec <verb>runs the sync Makefile target, exposed via a line in this repo's.ward/ward.yaml— the same path asbuild/test/lint. No new ward verb, no ward-side SSH policy.Model
kai-server,ser8, the desktop tower. They already runsshd, so push adds zero new inbound surface, and "on for long stretches" makes them reliably convergeable.ansible-pullon login) — the macbook, the Windows laptop/WSL. Local-run is cheap there because Kai is already at the keyboard, and keeping them off the target list avoids enabling fresh inboundsshdsurface.Work
localhost/local.yml)..ward/ward.yamlso it runs viaward exec sync(config only, no ward code).Related
Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag:
burndown-2026-06.