ci(fleet): assert the roster's four copies agree, and build what Flux builds #198
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "ci/fleet-roster-drift-check"
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?
The lazer-machine retirement (#196) updated three of the four places the fleet roster is written down and missed the fourth -
FLEET_DISPLAYin the public dotfiles repo - so the status bar kept drawing a red dot for a machine that no longer existed, indistinguishable from one that was merely down. Nothing failed, because this repo had no PR CI at all.scripts/check-fleet-roster.pyAsserts the invariant that actually holds: every rostered name must be declared in the gatus config. Not equality - declared-but-unrostered is deliberate (the sleeping Pi Zeros, the carry phone), and it is the retirement direction that breaks. Stdlib only, so there is no pip step to skip. CI runs the two-file half;
--roster-env/--displaycover all four locally.Its first run found real pre-existing drift:
cachy-laptopis rostered on the bars but declared in no gatus endpoint - it can never report, which is why it has readNEVER REPORTEDindefinitely.windowsis on the exporter's roster but not the bars' - so Grafana and the glyph have been describing different fleets.Both are pre-existing and left alone here; they are a decision, not a cleanup.
kustomize gate
Over the Flux entry points (
apps+clusters/*), deliberately not a per-directory loop:apps/calis unwired and references asecret.yamlabsent from the repo, so a loop would gate this repo on something production does not build. Verified both targets build clean.Pairs with dotfiles
fix/fleet-pulse-ghost-display, which fixes the fourth copy and makes the bar self-report a ghost token.