Files
felhom.eu/documentation/audits/update-arc-2026-09-21/11-r520-after-restart.txt
T
admin 0c263c77f2
gates / gates (push) Successful in 24s
Update arc resumed: the state measured, R-524/R-520/R-589/R-469 closed, seven questions put to the operator
Phase 0 — measured, never estimated:
- both demo boxes: 10 apps, 0 behind, 0 unknown
- 46 of 58 exact catalog pins are behind upstream; 39 within a major, 7 across
- 6 of 7 measurable floating pins have been repushed since the catalog set them
  (R-446 is no longer theoretical)
- the "23 of 66 floating pins" figure repeated in four places was STALE; recounted
  to 10, with the definition written down beside it

Three claims in the brief corrected, named first:
- R-589 was NOT open — it shipped in v0.258.0; only the row was stale
- the chaos-night canary is NOT a defect — both gates refused to certify by design
- the hub half of the report confirmed, with the nuance that the raw payload is
  stored whole, so Slice 7 is cheaper than the row implies

Closed: R-524 (controller v0.260.0, proven live in both languages), R-520 (power cut
during a REAL version change — the pin goes back, the app runs, the page says so),
R-589, R-469 (MariaDB half). Filed: R-605, R-606. R-462's stale scope corrected.

09 gains §3 decision 10 (decided by CC unattended — operator may reverse), §3b with
the seven questions in the decision shape, §6.2/6.3 the two open slices, and §6.4 an
update night costed from R-462's real numbers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
2026-09-21 13:13:23 +02:00

79 lines
4.9 KiB
Plaintext

### STEP 5 RESULT — after pct start 9202
== 1. Controller log lines about the interrupted update (verbatim) ==
2026/09/21 11:06:12 installed.go:525: [INFO] [stacks] installed-images backfill: 0 app(s) recorded, 1 already had a record, 0 left unrecorded (could not be observed completely — unknown, which renders nothing)
2026/09/21 11:06:12 pin.go:289: [INFO] [stacks] pin adoption: 0 pinned, 1 already pinned, 0 left unpinned (0 not completely observed, 0 running something the template no longer offers)
2026/09/21 11:06:12 sync.go:117: [INFO] [sync] Starting catalog sync (repo: https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git, interval: 15m0s)
2026/09/21 11:06:12 sync.go:208: [INFO] [sync] Starting catalog sync
2026/09/21 11:06:12 sync.go:296: [INFO] [sync] Pulling latest from https://gitea.dooplex.hu/admin/app-catalog-felhom.eu.git (branch: main)
2026/09/21 11:06:12 sync.go:298: [DEBUG] [sync] git fetch --depth 1 origin main in /opt/docker/felhom-controller/data/catalog-cache
2026/09/21 11:06:12 update.go:904: [WARN] [stacks] update recovery: uptime-kuma was interrupted in pulling (started 2026-09-21T11:04:52Z) — nothing had run; putting the pin back
2026/09/21 11:06:12 sync.go:592: [DEBUG] [sync] Running: git fetch --depth 1 origin main
2026/09/21 11:06:12 [DEBUG] [stacks] SaveAppConfig: saving /opt/docker/stacks/uptime-kuma — 2 env vars, 0 encrypted, 0 sensitive fields
2026/09/21 11:06:12 [INFO] [stacks] SaveAppConfig: saved config for uptime-kuma
2026/09/21 11:06:12 pin.go:93: [INFO] [stacks] pin uptime-kuma: uptime-kuma=louislam/uptime-kuma:2.4.0
2026/09/21 11:06:12 update.go:705: [INFO] [stacks] update uptime-kuma: pin and definition PUT BACK to the pre-update version (uptime-kuma=louislam/uptime-kuma:2.4.0)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] CPUCollector.Start: sampleRate=5s
2026/09/21 11:06:12 main.go:511: [INFO] Metrics store opened at /opt/docker/felhom-controller/data/metrics.db
2026/09/21 11:06:12 main.go:523: [INFO] Metrics collector started (60s interval)
2026/09/21 11:06:12 info.go:13: [DEBUG] [system] GetInfo starting (hddPath="/mnt/felhom-drives/scratch_hdd", hasCPUCollector=true)
== 2. app.yaml — pinned_images vs installed_images ==
# Auto-generated by felhom-controller — do not edit locked fields manually
deployed: true
deployed_at: "2026-09-21T10:57:12Z"
env:
DOMAIN: enkisfelhom.hu
SUBDOMAIN: status
locked_fields:
- DOMAIN
- SUBDOMAIN
desired_state: running
installed_images:
uptime-kuma:
ref: louislam/uptime-kuma:2.4.0
digest: sha256:91e963bfda569ba115206e843febb446f473ab525add4e08b2b9e3beffa16985
at: "2026-09-21T10:57:45Z"
pinned_images:
uptime-kuma: louislam/uptime-kuma:2.4.0
== live docker-compose.yml image line ==
image: louislam/uptime-kuma:2.4.0
== 3. update-journal.json after recovery ==
== 4. Was a HOLD set? (API view) ==
state 'running'
deployed True
updating False
deploying False
update_phase 'failed'
update_phase_label 'A frissítés nem sikerült'
update_error 'A frissítés megszakadt, mert a vezérlő újraindult, mielőtt az új verzió elindult volna. Az alkalmazás a korábbi verzióval fut tovább.'
health_probe.healthy True
containers [('louislam/uptime-kuma:2.4.0', 'Up 31 seconds (healthy)')]
installed_images {'uptime-kuma': 'louislam/uptime-kuma:2.4.0'}
pinned_images {'uptime-kuma': 'louislam/uptime-kuma:2.4.0'}
catalog_images {'uptime-kuma': 'louislam/uptime-kuma:2.5.0'}
template_images {'uptime-kuma': 'louislam/uptime-kuma:2.5.0'}
== hold-related log lines (positive+negative control) ==
grep -ci 'hold' in the log: 0
(negative control) grep -c 'ZZZ-not-present': 0
== 5. What the app page says to the household after the cut ==
--- [hu] badge + update-state block ---
<span class="tag tag-warn" title="Újabb változat érhető el ehhez az alkalmazáshoz. A frissítés indításához nyomd meg a Frissítés gombot.">Frissítés elérhető — ma</span>
sentences shown:
A frissítés indításához nyomd meg a Frissítés gombot.">Frissítés elérhető — ma
A frissítés megszakadt, mert a vezérlő újraindult, mielőtt az új verzió elindult volna. Az alkalmazás a korábbi verzióval fut tovább.
--- [en] badge + update-state block ---
<span class="tag tag-warn" title="A newer version of this app is available. Select the Update button to start it.">Update available — today</span>
sentences shown:
A frissítés megszakadt, mert a vezérlő újraindult, mielőtt az új verzió elindult volna. Az alkalmazás a korábbi verzióval fut tovább.
== 6. Is the app running AND serving? ==
uptime-kuma | louislam/uptime-kuma:2.4.0 | Up 2 minutes (healthy)
HTTP from inside the guest to the app container :3001/ -> 302
controller health probe:
{'healthy': True, 'last_check': '2026-09-21T11:06:22.247118521Z', 'details': [{'type': 'http', 'target': ':3001/', 'healthy': True, 'status': 302, 'latency': '4ms'}]}