Files
felhom.eu/documentation/audits/slice4-2026-09-13/live/12-F-update.txt
T
admin 5ef0f52bcd
gates / gates (push) Successful in 19s
Slice 4 shipped (R-448/R-443/R-439 CLOSED, proven live); R-472..R-476; the floor-between-bakes claim corrected
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
2026-09-13 12:30:17 +02:00

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