5ef0f52bcd
gates / gates (push) Successful in 19s
Controller v0.237.0-v0.238.1: the Update button is a guarded job — refusals, backup-first when the proven Tier-2 copy is stale, safety dump, pin, pull (pin back on failure), health, HOLD on failure. Proven live on demo-hp: A, B, E, F, H and the restore walk (audits/slice4-2026-09-13/). Correction to this morning's pages: between golden bakes the hub HOLDS a floor above the vouched golden, so a release does not reach the fleet by floor (R-472, operator decision). Corrected in the runbook, STATUS, CONTEXT, R-468 and the gate docstring. Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
97 lines
4.9 KiB
Plaintext
97 lines
4.9 KiB
Plaintext
=== Scenario F — the new version never becomes healthy (alpine:3.20 exits at once) — 2026-09-13T10:12:57Z ===
|
|
--- BEFORE ---
|
|
{
|
|
"state": "running",
|
|
"updating": false,
|
|
"update_phase": null,
|
|
"update_phase_label": null,
|
|
"update_error": null,
|
|
"hold_reason": null,
|
|
"pinned_images": {
|
|
"uptime-kuma": "louislam/uptime-kuma:2.4.0"
|
|
},
|
|
"installed_images": {
|
|
"uptime-kuma": {
|
|
"ref": "louislam/uptime-kuma:2.4.0",
|
|
"digest": "sha256:91e963bfda569ba115206e843febb446f473ab525add4e08b2b9e3beffa16985",
|
|
"at": "2026-09-13T10:08:19Z"
|
|
}
|
|
},
|
|
"catalog_images": {
|
|
"uptime-kuma": "louislam/uptime-kuma:2.4.999"
|
|
}
|
|
}
|
|
louislam/uptime-kuma:2.4.0 Up 3 minutes (healthy)
|
|
--- POST /api/stacks/uptime-kuma/update at 2026-09-13T10:12:58Z ---
|
|
HTTP 202
|
|
{"ok":true,"data":{"accepted":true,"completed":false},"message":"FrissÃtés elindult – az állapot a kártyán követhetÅ‘"}
|
|
|
|
10:12:59 U safety-dump
|
|
10:13:01 U verifying
|
|
10:18:04 - failed
|
|
--- AFTER 2026-09-13T10:18:04Z ---
|
|
{
|
|
"state": "stopped",
|
|
"updating": false,
|
|
"update_phase": "failed",
|
|
"update_phase_label": "A frissÃtés nem sikerült",
|
|
"update_error": "A(z) uptime-kuma frissÃtése 2026-09-13 12:18-kor nem sikerült, és az alkalmazás nem indult el az új verzióval. Az alkalmazás biztonsági okból leállÃtva marad, hogy az adatai ne sérüljenek. VisszaállÃtható a(z) 2026-09-13 12:09-i biztonsági mentésbÅ‘l a Mentések oldalon.",
|
|
"hold_reason": "A(z) uptime-kuma frissÃtése 2026-09-13 12:18-kor nem sikerült, és az alkalmazás nem indult el az új verzióval. Az alkalmazás biztonsági okból leállÃtva marad, hogy az adatai ne sérüljenek. VisszaállÃtható a(z) 2026-09-13 12:09-i biztonsági mentésbÅ‘l a Mentések oldalon.",
|
|
"pinned_images": {
|
|
"uptime-kuma": "alpine:3.20"
|
|
},
|
|
"installed_images": {
|
|
"uptime-kuma": {
|
|
"ref": "louislam/uptime-kuma:2.4.0",
|
|
"digest": "sha256:91e963bfda569ba115206e843febb446f473ab525add4e08b2b9e3beffa16985",
|
|
"at": "2026-09-13T10:08:19Z"
|
|
}
|
|
},
|
|
"catalog_images": {
|
|
"uptime-kuma": "alpine:3.20"
|
|
}
|
|
}
|
|
--- the controller, verbatim (update + backup lines since 2026-09-13T10:12:58Z) ---
|
|
2026/09/13 10:12:59 router.go:567: [INFO] [api] update requested for stack: uptime-kuma
|
|
2026/09/13 10:12:59 update.go:278: [INFO] [stacks] update uptime-kuma: accepted — guarded update started
|
|
2026/09/13 10:12:59 update.go:701: [INFO] [stacks] update uptime-kuma: phase checking
|
|
2026/09/13 10:12:59 update.go:409: [INFO] [stacks] update uptime-kuma: precondition met — proven copy from 2026-09-13T10:09:51Z (3m0s old, limit 24h0m0s)
|
|
2026/09/13 10:12:59 update.go:701: [INFO] [stacks] update uptime-kuma: phase safety-dump
|
|
2026/09/13 10:12:59 update_guard.go:239: [INFO] [backup] update safety dump for uptime-kuma: the app has no database — nothing to copy (no-op)
|
|
2026/09/13 10:12:59 update.go:423: [INFO] [stacks] update uptime-kuma: safety dump done (0 file(s)) []
|
|
2026/09/13 10:12:59 update.go:701: [INFO] [stacks] update uptime-kuma: phase pinning
|
|
2026/09/13 10:12:59 pin.go:362: [INFO] [stacks] update uptime-kuma: pin advanced to the catalog's current definition (uptime-kuma=alpine:3.20)
|
|
2026/09/13 10:12:59 update.go:701: [INFO] [stacks] update uptime-kuma: phase pulling
|
|
2026/09/13 10:13:00 update.go:701: [INFO] [stacks] update uptime-kuma: phase starting
|
|
2026/09/13 10:13:01 update.go:701: [INFO] [stacks] update uptime-kuma: phase verifying
|
|
2026/09/13 10:18:02 update.go:510: [ERROR] [stacks] update uptime-kuma FAILED after the new version was started: not healthy: not healthy within 5m0s (last: state restarting) — stopping and HOLDING the app; the pin stays on the new version (its migration may have run)
|
|
2026/09/13 10:18:02 settings.go:1618: [WARN] [settings] restore hold SET for uptime-kuma — the app stays stopped until it is cleared
|
|
2026/09/13 10:18:02 update_guard.go:294: [WARN] [backup] uptime-kuma is HELD STOPPED after a failed update (restore point: 2026-09-13T10:09:51Z)
|
|
--- the stacks page card (badge / hold / phase fragments) ---
|
|
1 FrissÃtés gombot.">FrissÃtés elérhetÅ‘ â
|
|
1 data-held="true"
|
|
=== Scenario F — the new version never becomes healthy (alpine:3.20 exits at once) done ===
|
|
--- the hold record in settings.json ---
|
|
{
|
|
"uptime-kuma": {
|
|
"stack": "uptime-kuma",
|
|
"at": "2026-09-13T10:18:02Z",
|
|
"reason": "update_failed",
|
|
"copy_date": "2026-09-13T10:09:51Z"
|
|
}
|
|
}
|
|
--- units AFTER (did anything overwrite the restore point during the 5-minute verify window?) ---
|
|
primary-unit: image: alpine:3.20 manifest "created_at": "2026-09-13T10:17:09Z"
|
|
tier2-mirror: image: louislam/uptime-kuma:2.4.0 manifest "created_at": "2026-09-13T10:09:51Z"
|
|
--- containers ---
|
|
(none listed = removed by the hold's stop)
|
|
--- app_info page fragments (ASCII only; controls included) ---
|
|
2 Mentések
|
|
2 Visszaáll
|
|
1 data-held="true"
|
|
3 friss
|
|
2 href="/backups/apps"
|
|
3 leáll
|
|
--- controls: fragments that must be ABSENT on a held card ---
|
|
lifecycle buttons on the uptime-kuma card: 0
|