Add a read-only headroom preflight before State Hub promotion.
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 42s

STATE-WP-0091: refuse Helm when remaining CPU cannot cover the API
surge, migrate hook, or unrelated pending demand. 65m fails, 105m is
narrowly sufficient, not factory admission.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
This commit is contained in:
tegwick 2026-09-14 10:13:48 +02:00
parent 7a4f58b90c
commit 261a48772c
9 changed files with 446 additions and 5 deletions

View file

@ -11,6 +11,18 @@ The chart's `image.repository` defaults to `forgejo.coulomb.social/coulomb/state
## Promote a build to the cluster
0. **Headroom preflight (STATE-WP-0091).** Read-only. Does not lower requests
and does not start Helm. Refuse if remaining CPU cannot cover the API
`maxSurge=1` pod (100m), the migrate hook (50m), or unrelated pending demand.
Aggregate remaining millicores is **not** a scheduling guarantee. Keep
`--atomic` so a failed pull/roll rolls back.
```
make railiance-state-hub-headroom
# fixture replay of revision 61/63:
make railiance-state-hub-headroom HEADROOM_FIXTURE=tests/fixtures/release_headroom/rev61-65m.json
```
Do not proceed if the report `ok` is false.
1. Pick a CI-produced tag to promote — **use an immutable `main-<sha>`**, not
`latest` (avoid surprise upgrades). List candidates:
```