From 13c786dd2ff5a5c98e6285ba1f53db80a2e38bb9 Mon Sep 17 00:00:00 2001 From: kisfenyo Date: Mon, 9 Nov 2026 13:23:25 +0100 Subject: [PATCH] Controller 0.351.0 released: release evidence, status and report Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS --- REPORT.md | 10 ++- STATUS.md | 2 +- .../audits/release-2026-11-09/README.md | 42 ++++++++++ .../release-2026-11-09/ctl-0351-build.txt | 6 ++ .../release-2026-11-09/floors-cleared.txt | 9 ++ .../release-2026-11-09/floors-per-box.txt | 9 ++ .../release-2026-11-09/floors-set-at.txt | 1 + .../global-floor-readback.txt | 11 +++ .../release-2026-11-09/global-floor.txt | 3 + .../audits/release-2026-11-09/https-only.txt | 34 ++++++++ .../audits/release-2026-11-09/read_boxes.sh | 6 ++ .../release-2026-11-09/rollout-wait.txt | 6 ++ .../tester1-images-after.txt | 18 ++++ .../tester1-images-before.txt | 25 ++++++ .../tester1-rc1-retention-log.txt | 21 +++++ .../release-2026-11-09/tester1-walk-rc1.txt | 12 +++ .../audits/release-2026-11-09/walk-3boxes.txt | 83 +++++++++++++++++++ .../audits/release-2026-11-09/walk_release.sh | 24 ++++++ 18 files changed, 319 insertions(+), 3 deletions(-) create mode 100644 documentation/audits/release-2026-11-09/README.md create mode 100644 documentation/audits/release-2026-11-09/ctl-0351-build.txt create mode 100644 documentation/audits/release-2026-11-09/floors-cleared.txt create mode 100644 documentation/audits/release-2026-11-09/floors-per-box.txt create mode 100644 documentation/audits/release-2026-11-09/floors-set-at.txt create mode 100644 documentation/audits/release-2026-11-09/global-floor-readback.txt create mode 100644 documentation/audits/release-2026-11-09/global-floor.txt create mode 100644 documentation/audits/release-2026-11-09/https-only.txt create mode 100755 documentation/audits/release-2026-11-09/read_boxes.sh create mode 100644 documentation/audits/release-2026-11-09/rollout-wait.txt create mode 100644 documentation/audits/release-2026-11-09/tester1-images-after.txt create mode 100644 documentation/audits/release-2026-11-09/tester1-images-before.txt create mode 100644 documentation/audits/release-2026-11-09/tester1-rc1-retention-log.txt create mode 100644 documentation/audits/release-2026-11-09/tester1-walk-rc1.txt create mode 100644 documentation/audits/release-2026-11-09/walk-3boxes.txt create mode 100755 documentation/audits/release-2026-11-09/walk_release.sh diff --git a/REPORT.md b/REPORT.md index 3bd29a86..34acc77e 100644 --- a/REPORT.md +++ b/REPORT.md @@ -2,8 +2,8 @@ **Plain words first.** demo-hp did not restart on 11-08/09. Its local whole-box copy was refused for space again (12.5 GiB free, 13.3 GiB needed), so the night's OS run and its kernel step waited. With the operator's yes, CC freed -space and filed the causes. The controller now deletes two kinds of old images by itself (v0.351.0, in code, not -released). +space and filed the causes. The controller now deletes two kinds of old images by itself: v0.351.0, **released the +same day** (global floor 12:18 UTC, MinAgent 0.158.1). ## What the whole-box copy holds (demo-hp guest 9201, `docker system df -v`, measured) @@ -37,6 +37,12 @@ image space unused; most of it is undo images). - Controller v0.351.0 (felhom-controller CHANGELOG): decision 56 amended (old `-rc` controller images go) and decision 285 (pinned infrastructure images keep the pin and the previous pin). Six mutants red-proved. +- **Released 2026-11-09** (`documentation/audits/release-2026-11-09/README.md`): rc.1 by hand on Tester 1 (37 → 24 + images, 12 controller + 2 infrastructure images deleted, about 1 GB freed, because the test builds share layers); + per-box floors 12:14 UTC, all three test boxes on 0.351.0 by 12:15; each box's own pass deleted what the rule says + (demo-felhom: 1 controller + 5 infrastructure images); walk green on all three, `https_only_check.py` rc 0; global + floor 0.351.0 / MinAgent 0.158.1 at 12:18 UTC, read back from the hub log and the configuration page; per-box floors + cleared. - `09-update-architecture.md` §3: decision 285 added, decision 56 amended. ## Register diff --git a/STATUS.md b/STATUS.md index 6d8506d6..1077f04c 100644 --- a/STATUS.md +++ b/STATUS.md @@ -2,7 +2,7 @@ **Ready for Tester 2? Yes — tell the friend go (`documentation/pilot/TESTER2-handover.md`).** -**Updated 2026-11-09.** demo-hp did not restart, because its local whole-box copy was refused for space again and the night update waited; CC freed space (old images, an old installer file), so tonight's copy fits. Controller 0.351.0 (in code, not released) deletes old test builds and old system images by itself. Two new rows: the whole-box copy is mostly app programs (your decision, R-1366), and the host log noise (R-1367). +**Updated 2026-11-09.** demo-hp did not restart, because its local whole-box copy was refused for space again and the night update waited; CC freed space (old images, an old installer file), so tonight's copy fits. Controller 0.351.0 is released to every box (floor 12:18 UTC): it deletes old test builds and old system images by itself. Two new rows: the whole-box copy is mostly app programs (your decision, R-1366), and the host log noise (R-1367). ## What works - **The Plex attack did not reach Felhom's secrets** (R-1241). diff --git a/documentation/audits/release-2026-11-09/README.md b/documentation/audits/release-2026-11-09/README.md new file mode 100644 index 00000000..6c4fd036 --- /dev/null +++ b/documentation/audits/release-2026-11-09/README.md @@ -0,0 +1,42 @@ +# Controller 0.351.0 release, 2026-11-09 (attended, operator's „go with A") + +**Image:** 0.351.0 from `27360d6a` (CI 2603 green), `sha256:1d90563c443022770b2db90a7730f1ea5aea45cc5b0fa64fec9823d60d42d97f` +(`ctl-0351-build.txt`). rc.1 from the same commit, `sha256:f789f4b03da9645266fc712b1e687ae3939bbb52416ac798f42e8b0146e49ab2`. +What it carries: decision 56 amended (old `-rc` controller images go) and decision 285 (old infrastructure images go). + +## rc.1 on Tester 1, by hand (`tester1-images-before.txt`, `tester1-rc1-retention-log.txt`, `tester1-images-after.txt`, `tester1-walk-rc1.txt`) + +Tester 1 still had the old images (demo-hp's were removed by hand earlier the same day). rc.1 installed through +`/etc/felhom-controller-image` at 12:10 UTC; the pass ran at 12:12:54, about 3 minutes after the start. + +- Controller: 12 of 14 images deleted (11 old test builds and 0.349.0). Kept: running 0.351.0-rc.1 and the previous + 0.350.0 (found by version order: a hand install writes no swap record). +- Infrastructure: traefik v3.7.13 and cloudflared 2026.9.3 deleted. Kept: each pin and the one before it (traefik + v3.7.16, cloudflared 2026.10.3, FileBrowser 1.5.6-stable, Samba 1.1.0). `alpine`, `hello-world`, `traefik/whoami` + are not in the infrastructure list and were not touched. +- 37 → 24 images; Docker's image total 8.665 → 7.612 GB. Only about 1 GB is freed, because the old test builds share + most of their layers. Still reclaimable: 3.13 GB, mostly the apps' undo images (decision 53, on purpose). +- Walk green: 0 unhealthy, 0 refusals, 0 ERROR lines, login and file manager 200, every app route answers. + +## The three boxes through the normal update path (`floors-set-at.txt`, `floors-per-box.txt`, `rollout-wait.txt`, `walk-3boxes.txt`, `https-only.txt`) + +Per-box floors 0.351.0 / MinAgent 0.158.1 at 12:14:27 UTC (303 `floor_set` each); all three on 0.351.0, healthy, by +12:15:11. Each box's own pass, about 3 minutes after its start: + +| Box | Controller images deleted | Infrastructure images deleted | Images after | +|---|---|---|---| +| Tester 1 | 0.350.0 (previous is now rc.1, from the self-update's record) | none | 24, 7.6 GB | +| demo-hp | 0.349.0 | none (cleaned by hand earlier; Samba shows no previous, because 1.1.0 was removed by hand) | 43, 24.2 GB | +| demo-felhom | 0.349.0 | traefik v3.6.7, v3.7.13; cloudflared 2026.6.0, 2026.9.3; FileBrowser 1.3.3-stable | 16, 2.2 GB | + +Walk green on all three (0 unhealthy, 0 refusals, 0 ERROR lines, login and file manager 200, every app route through +Traefik 200/302/401). `https_only_check.py` rc 0 (controls passed; every public name 301 to https). + +## The floor (`global-floor.txt`, `global-floor-readback.txt`, `floors-cleared.txt`) + +Global floor 0.351.0 / MinAgent 0.158.1 at 12:18:28 UTC with CC's token (303 `floor_set`). Read back from two channels: +the running hub pod's log (`Global controller-version floor set to "0.351.0" (declared MinAgent "0.158.1")`) and the +configuration page (`min_controller_version` 0.351.0, `min_agent` 0.158.1). Per-box floors cleared 12:18:38 (the hub log +shows each override set to ""). + +**Teardown:** machine — no throwaway app; host — nothing provisioned; hub — the three per-box floors cleared. diff --git a/documentation/audits/release-2026-11-09/ctl-0351-build.txt b/documentation/audits/release-2026-11-09/ctl-0351-build.txt new file mode 100644 index 00000000..cc555d6f --- /dev/null +++ b/documentation/audits/release-2026-11-09/ctl-0351-build.txt @@ -0,0 +1,6 @@ +[INFO] ╔══════════════════════════════════════╗ +[INFO] ║ Build complete ✓ ║ +[INFO] ╚══════════════════════════════════════╝ +[INFO] Image: gitea.dooplex.hu/admin/felhom-controller:0.351.0 +[INFO] Size: 486M + diff --git a/documentation/audits/release-2026-11-09/floors-cleared.txt b/documentation/audits/release-2026-11-09/floors-cleared.txt new file mode 100644 index 00000000..2d9319c7 --- /dev/null +++ b/documentation/audits/release-2026-11-09/floors-cleared.txt @@ -0,0 +1,9 @@ +== tester-1 +HTTP/1.1 303 See Other +Location: /customers/tester-1?flash=floor_set +== demo-hp +HTTP/1.1 303 See Other +Location: /customers/demo-hp?flash=floor_set +== demo-felhom +HTTP/1.1 303 See Other +Location: /customers/demo-felhom?flash=floor_set diff --git a/documentation/audits/release-2026-11-09/floors-per-box.txt b/documentation/audits/release-2026-11-09/floors-per-box.txt new file mode 100644 index 00000000..2d9319c7 --- /dev/null +++ b/documentation/audits/release-2026-11-09/floors-per-box.txt @@ -0,0 +1,9 @@ +== tester-1 +HTTP/1.1 303 See Other +Location: /customers/tester-1?flash=floor_set +== demo-hp +HTTP/1.1 303 See Other +Location: /customers/demo-hp?flash=floor_set +== demo-felhom +HTTP/1.1 303 See Other +Location: /customers/demo-felhom?flash=floor_set diff --git a/documentation/audits/release-2026-11-09/floors-set-at.txt b/documentation/audits/release-2026-11-09/floors-set-at.txt new file mode 100644 index 00000000..ca579e35 --- /dev/null +++ b/documentation/audits/release-2026-11-09/floors-set-at.txt @@ -0,0 +1 @@ +2026-11-09T12:14:27Z diff --git a/documentation/audits/release-2026-11-09/global-floor-readback.txt b/documentation/audits/release-2026-11-09/global-floor-readback.txt new file mode 100644 index 00000000..6eaea131 --- /dev/null +++ b/documentation/audits/release-2026-11-09/global-floor-readback.txt @@ -0,0 +1,11 @@ +2026/11/09 13:14:27 [INFO] access token "cc-releases-2": POST /customers/demo-hp/floor → 303 +2026/11/09 13:14:27 [INFO] Customer demo-felhom controller-version floor override set to "0.351.0" (declared MinAgent "0.158.1") +2026/11/09 13:14:27 [INFO] access token "cc-releases-2": POST /customers/demo-felhom/floor → 303 +2026/11/09 13:14:31 [INFO] managed floor SERVED for demo-felhom: floor 0.351.0, agent requirement "0.158.1" from declared (golden 0.350.0) +2026/11/09 13:14:31 [INFO] managed floor SERVED for tester-1: floor 0.351.0, agent requirement "0.158.1" from declared (golden 0.350.0) +2026/11/09 13:14:31 [INFO] managed floor SERVED for demo-hp: floor 0.351.0, agent requirement "0.158.1" from declared (golden 0.350.0) +2026/11/09 13:18:28 [INFO] Global controller-version floor set to "0.351.0" (declared MinAgent "0.158.1") +2026/11/09 13:18:28 [INFO] access token "cc-releases-2": POST /configuration/global-floor → 303 +name="min_controller_version" value="0.351.0" +name="min_agent" value="0.158.1" +name="min_agent" value="0.158.1" diff --git a/documentation/audits/release-2026-11-09/global-floor.txt b/documentation/audits/release-2026-11-09/global-floor.txt new file mode 100644 index 00000000..076973c7 --- /dev/null +++ b/documentation/audits/release-2026-11-09/global-floor.txt @@ -0,0 +1,3 @@ +2026-11-09T12:18:28Z +HTTP/1.1 303 See Other +Location: /configuration?flash=floor_set diff --git a/documentation/audits/release-2026-11-09/https-only.txt b/documentation/audits/release-2026-11-09/https-only.txt new file mode 100644 index 00000000..dcd31fd2 --- /dev/null +++ b/documentation/audits/release-2026-11-09/https-only.txt @@ -0,0 +1,34 @@ +control NEGATIVE (a stub answering 200 over plain http): convicted, as it must (200 -) +== tester-1 (enkicsifelhom.hu): 6 public name(s) + OK control POSITIVE http://felhom.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://felhom.enkicsifelhom.hu/r1033-check?q=1 + OK http://files.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://files.enkicsifelhom.hu/r1033-check?q=1 + OK http://no-such-name-r1033.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://no-such-name-r1033.enkicsifelhom.hu/r1033-check?q=1 + OK http://paperless.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://paperless.enkicsifelhom.hu/r1033-check?q=1 + OK http://paste.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://paste.enkicsifelhom.hu/r1033-check?q=1 + OK http://wiki.enkicsifelhom.hu/r1033-check?q=1 -> 301 https://wiki.enkicsifelhom.hu/r1033-check?q=1 +== demo-hp (enkisfelhom.hu): 15 public name(s) + OK http://arcade.enkisfelhom.hu/r1033-check?q=1 -> 301 https://arcade.enkisfelhom.hu/r1033-check?q=1 + OK http://books.enkisfelhom.hu/r1033-check?q=1 -> 301 https://books.enkisfelhom.hu/r1033-check?q=1 + OK http://docs.enkisfelhom.hu/r1033-check?q=1 -> 301 https://docs.enkisfelhom.hu/r1033-check?q=1 + OK http://felhom.enkisfelhom.hu/r1033-check?q=1 -> 301 https://felhom.enkisfelhom.hu/r1033-check?q=1 + OK http://files.enkisfelhom.hu/r1033-check?q=1 -> 301 https://files.enkisfelhom.hu/r1033-check?q=1 + OK http://gist.enkisfelhom.hu/r1033-check?q=1 -> 301 https://gist.enkisfelhom.hu/r1033-check?q=1 + OK http://ha.enkisfelhom.hu/r1033-check?q=1 -> 301 https://ha.enkisfelhom.hu/r1033-check?q=1 + OK http://no-such-name-r1033.enkisfelhom.hu/r1033-check?q=1 -> 301 https://no-such-name-r1033.enkisfelhom.hu/r1033-check?q=1 + OK http://papir.enkisfelhom.hu/r1033-check?q=1 -> 301 https://papir.enkisfelhom.hu/r1033-check?q=1 + OK http://paste.enkisfelhom.hu/r1033-check?q=1 -> 301 https://paste.enkisfelhom.hu/r1033-check?q=1 + OK http://pdf.enkisfelhom.hu/r1033-check?q=1 -> 301 https://pdf.enkisfelhom.hu/r1033-check?q=1 + OK http://plex.enkisfelhom.hu/r1033-check?q=1 -> 301 https://plex.enkisfelhom.hu/r1033-check?q=1 + OK http://time.enkisfelhom.hu/r1033-check?q=1 -> 301 https://time.enkisfelhom.hu/r1033-check?q=1 + OK http://travel.enkisfelhom.hu/r1033-check?q=1 -> 301 https://travel.enkisfelhom.hu/r1033-check?q=1 + OK http://wiki.enkisfelhom.hu/r1033-check?q=1 -> 301 https://wiki.enkisfelhom.hu/r1033-check?q=1 +== demo-felhom (demo-felhom.eu): 8 public name(s) + OK http://felhom.demo-felhom.eu/r1033-check?q=1 -> 301 https://felhom.demo-felhom.eu/r1033-check?q=1 + OK http://files.demo-felhom.eu/r1033-check?q=1 -> 301 https://files.demo-felhom.eu/r1033-check?q=1 + OK http://gist.demo-felhom.eu/r1033-check?q=1 -> 301 https://gist.demo-felhom.eu/r1033-check?q=1 + OK http://no-such-name-r1033.demo-felhom.eu/r1033-check?q=1 -> 301 https://no-such-name-r1033.demo-felhom.eu/r1033-check?q=1 + OK http://prowlarr.demo-felhom.eu/r1033-check?q=1 -> 301 https://prowlarr.demo-felhom.eu/r1033-check?q=1 + OK http://radarr.demo-felhom.eu/r1033-check?q=1 -> 301 https://radarr.demo-felhom.eu/r1033-check?q=1 + OK http://sonarr.demo-felhom.eu/r1033-check?q=1 -> 301 https://sonarr.demo-felhom.eu/r1033-check?q=1 + OK http://torrent.demo-felhom.eu/r1033-check?q=1 -> 301 https://torrent.demo-felhom.eu/r1033-check?q=1 +== every public name redirects http -> https diff --git a/documentation/audits/release-2026-11-09/read_boxes.sh b/documentation/audits/release-2026-11-09/read_boxes.sh new file mode 100755 index 00000000..44a2c4c2 --- /dev/null +++ b/documentation/audits/release-2026-11-09/read_boxes.sh @@ -0,0 +1,6 @@ +#!/bin/bash +# read_boxes.sh — one line per box, read-only: the controller's image and status, Traefik's image. +for x in "tester-1 root@192.168.0.154" "demo-hp hp" "demo-felhom felhom-pve"; do set -- $x + o=$(ssh -o BatchMode=yes -o ConnectTimeout=10 $2 "pct exec 9201 -- docker ps --format '{{.Names}}|{{.Image}}|{{.Status}}'" 2>&1 | grep -E '^(felhom-controller|traefik)\|') + echo "$1: $(echo "$o" | sed 's#gitea.dooplex.hu/admin/felhom-controller:##' | cut -d'|' -f2,3 | tr '\n' ' ')" +done diff --git a/documentation/audits/release-2026-11-09/rollout-wait.txt b/documentation/audits/release-2026-11-09/rollout-wait.txt new file mode 100644 index 00000000..1fc1a1ce --- /dev/null +++ b/documentation/audits/release-2026-11-09/rollout-wait.txt @@ -0,0 +1,6 @@ +Mon Nov 9 12:15:11 PM UTC 2026 +tester-1: 0.351.0|Up 30 seconds (healthy) traefik:v3.7.17|Up 6 days +demo-hp: 0.351.0|Up 30 seconds (healthy) traefik:v3.7.17|Up 34 hours +demo-felhom: 0.351.0|Up 34 seconds (healthy) traefik:v3.7.17|Up 32 hours + +[exited with code 0] diff --git a/documentation/audits/release-2026-11-09/tester1-images-after.txt b/documentation/audits/release-2026-11-09/tester1-images-after.txt new file mode 100644 index 00000000..7a0b7ad8 --- /dev/null +++ b/documentation/audits/release-2026-11-09/tester1-images-after.txt @@ -0,0 +1,18 @@ +gitea.dooplex.hu/admin/felhom-controller:0.351.0-rc.1 485f658c0460 348MB +gitea.dooplex.hu/admin/felhom-controller:0.350.0 1f32a260789a 348MB +traefik:v3.7.17 a72cb2f4a210 191MB +cloudflare/cloudflared:2026.10.4 472341c39b02 64.6MB +traefik:v3.7.16 3733df53e74c 194MB +cloudflare/cloudflared:2026.10.3 1475624a6d23 64.6MB +gtstef/filebrowser:1.5.8-stable 0019084d4a6f 195MB +alpine:latest 320994c3b997 8.42MB +gtstef/filebrowser:1.5.6-stable 96e26edeefc3 195MB +gitea.dooplex.hu/admin/felhom-samba:1.1.0 8e21163a1646 103MB +hello-world:latest e2ac70e7319a 10.1kB +traefik/whoami:v1.10.3 aeef15490f2b 6.58MB + +TYPE TOTAL ACTIVE SIZE RECLAIMABLE +Images 24 10 7.612GB 3.129GB (41%) +Containers 10 10 48.13MB 0B (0%) +Local Volumes 379 11 348.2MB 41.14kB (0%) +Build Cache 0 0 0B 0B diff --git a/documentation/audits/release-2026-11-09/tester1-images-before.txt b/documentation/audits/release-2026-11-09/tester1-images-before.txt new file mode 100644 index 00000000..0df5d85b --- /dev/null +++ b/documentation/audits/release-2026-11-09/tester1-images-before.txt @@ -0,0 +1,25 @@ +gitea.dooplex.hu/admin/felhom-controller:0.350.0 1f32a260789a 348MB +traefik:v3.7.17 a72cb2f4a210 191MB +gitea.dooplex.hu/admin/felhom-controller:0.349.0 3ef3c22d7694 348MB +gitea.dooplex.hu/admin/felhom-controller:0.349.0-rc.1 712055a90134 348MB +gitea.dooplex.hu/admin/felhom-controller:0.348.0-rc.1 1e0e09bce4b5 348MB +gitea.dooplex.hu/admin/felhom-controller:0.346.0-rc.1 1cccdf6b7c38 348MB +gitea.dooplex.hu/admin/felhom-controller:0.345.0-rc.1 fe0bd83a909b 348MB +cloudflare/cloudflared:2026.10.4 472341c39b02 64.6MB +traefik:v3.7.16 3733df53e74c 194MB +cloudflare/cloudflared:2026.10.3 1475624a6d23 64.6MB +gitea.dooplex.hu/admin/felhom-controller:0.318.0-rc.2 4f33e59f8ee3 411MB +gitea.dooplex.hu/admin/felhom-controller:0.317.0-rc.1 f6a498239f51 411MB +gitea.dooplex.hu/admin/felhom-controller:0.314.0-rc.1 80b7b25c4433 411MB +gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.4 698111af3f49 411MB +gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.3 3d4ee64e9216 411MB +gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.2 0b441db4244b 411MB +gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.1 3bbc4111dddc 411MB +gtstef/filebrowser:1.5.8-stable 0019084d4a6f 195MB +cloudflare/cloudflared:2026.9.3 87f0e97329b3 64.3MB +traefik:v3.7.13 f9309349d2c1 195MB +alpine:latest 320994c3b997 8.42MB +gtstef/filebrowser:1.5.6-stable 96e26edeefc3 195MB +gitea.dooplex.hu/admin/felhom-samba:1.1.0 8e21163a1646 103MB +hello-world:latest e2ac70e7319a 10.1kB +traefik/whoami:v1.10.3 aeef15490f2b 6.58MB diff --git a/documentation/audits/release-2026-11-09/tester1-rc1-retention-log.txt b/documentation/audits/release-2026-11-09/tester1-rc1-retention-log.txt new file mode 100644 index 00000000..c96fb319 --- /dev/null +++ b/documentation/audits/release-2026-11-09/tester1-rc1-retention-log.txt @@ -0,0 +1,21 @@ +2026/11/09 12:12:54 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.2 (0b441db4244b, 411MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:54 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.346.0-rc.1 (1cccdf6b7c38, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:54 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.348.0-rc.1 (1e0e09bce4b5, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:54 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.1 (3bbc4111dddc, 411MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:54 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.3 (3d4ee64e9216, 411MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:54 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.349.0 (3ef3c22d7694, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:55 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.318.0-rc.2 (4f33e59f8ee3, 411MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:55 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.313.0-rc.4 (698111af3f49, 411MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:55 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.349.0-rc.1 (712055a90134, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:55 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.314.0-rc.1 (80b7b25c4433, 411MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:55 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.317.0-rc.1 (f6a498239f51, 411MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:55 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.345.0-rc.1 (fe0bd83a909b, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:12:55 [INFO] [stacks] controller image retention: pass over 14 controller image(s) — running 0.351.0-rc.1, previous "0.350.0" (by version order (no swap record names one present)), 12 candidate(s), 12 deleted, the rest kept +2026/11/09 12:12:56 [INFO] [stacks] infra image retention: deleted traefik:v3.7.13 (f9309349d2c1, 195MB) — older than the previous pin and no container uses it (decision 285) +2026/11/09 12:12:56 [INFO] [stacks] infra image retention: traefik — pass over 3 image(s), pinned v3.7.17, previous "3.7.16", 1 candidate(s), 1 deleted, the rest kept +2026/11/09 12:12:56 [INFO] [stacks] infra image retention: deleted cloudflare/cloudflared:2026.9.3 (87f0e97329b3, 64.3MB) — older than the previous pin and no container uses it (decision 285) +2026/11/09 12:12:56 [INFO] [stacks] infra image retention: cloudflare/cloudflared — pass over 3 image(s), pinned 2026.10.4, previous "2026.10.3", 1 candidate(s), 1 deleted, the rest kept +2026/11/09 12:12:56 [INFO] [stacks] infra image retention: gtstef/filebrowser — pass over 2 image(s), pinned 1.5.8-stable, previous "1.5.6-stable", 0 candidate(s), 0 deleted, the rest kept +2026/11/09 12:12:56 [INFO] [stacks] infra image retention: gitea.dooplex.hu/admin/felhom-samba — pass over 1 image(s), pinned 1.2.0, previous "1.1.0", 0 candidate(s), 0 deleted, the rest kept + +[exited with code 0] diff --git a/documentation/audits/release-2026-11-09/tester1-walk-rc1.txt b/documentation/audits/release-2026-11-09/tester1-walk-rc1.txt new file mode 100644 index 00000000..805bb09d --- /dev/null +++ b/documentation/audits/release-2026-11-09/tester1-walk-rc1.txt @@ -0,0 +1,12 @@ +controller: gitea.dooplex.hu/admin/felhom-controller:0.351.0-rc.1 Up 3 minutes (healthy) +traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17 +traefik repo digest: traefik@sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748 +containers: 10 total +not running/unhealthy: none +refusals since 2026-11-09T12:10:00Z: 0 +ERROR lines since: 0 +login page: 200 +file manager: 200 +route paste.enkicsifelhom.hu [privatebin]: 200 +route paperless.enkicsifelhom.hu [paperless-webserver]: 302 +route wiki.enkicsifelhom.hu [bookstack]: 302 diff --git a/documentation/audits/release-2026-11-09/walk-3boxes.txt b/documentation/audits/release-2026-11-09/walk-3boxes.txt new file mode 100644 index 00000000..5475b284 --- /dev/null +++ b/documentation/audits/release-2026-11-09/walk-3boxes.txt @@ -0,0 +1,83 @@ +=== tester-1 retention +2026/11/09 12:17:39 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.350.0 (1f32a260789a, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:17:39 [INFO] [stacks] controller image retention: pass over 3 controller image(s) — running 0.351.0, previous "0.351.0-rc.1" (the self-update's record), 1 candidate(s), 1 deleted, the rest kept +2026/11/09 12:17:39 [INFO] [stacks] infra image retention: traefik — pass over 2 image(s), pinned v3.7.17, previous "3.7.16", 0 candidate(s), 0 deleted, the rest kept +2026/11/09 12:17:39 [INFO] [stacks] infra image retention: cloudflare/cloudflared — pass over 2 image(s), pinned 2026.10.4, previous "2026.10.3", 0 candidate(s), 0 deleted, the rest kept +2026/11/09 12:17:39 [INFO] [stacks] infra image retention: gtstef/filebrowser — pass over 2 image(s), pinned 1.5.8-stable, previous "1.5.6-stable", 0 candidate(s), 0 deleted, the rest kept +2026/11/09 12:17:39 [INFO] [stacks] infra image retention: gitea.dooplex.hu/admin/felhom-samba — pass over 1 image(s), pinned 1.2.0, previous "1.1.0", 0 candidate(s), 0 deleted, the rest kept +TYPE TOTAL ACTIVE SIZE RECLAIMABLE +Images 24 10 7.612GB 3.129GB (41%) +=== tester-1 walk +controller: gitea.dooplex.hu/admin/felhom-controller:0.351.0 Up 3 minutes (healthy) +traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17 +traefik repo digest: traefik@sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748 +containers: 10 total +not running/unhealthy: none +refusals since 2026-11-09T12:14:27Z: 0 +ERROR lines since: 0 +login page: 200 +file manager: 200 +route paste.enkicsifelhom.hu [privatebin]: 200 +route paperless.enkicsifelhom.hu [paperless-webserver]: 302 +route wiki.enkicsifelhom.hu [bookstack]: 302 +=== demo-hp retention +2026/11/09 12:17:40 controller_image_retention.go:200: [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.349.0 (3ef3c22d7694, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:17:40 controller_image_retention.go:131: [INFO] [stacks] controller image retention: pass over 3 controller image(s) — running 0.351.0, previous "0.350.0" (the self-update's record), 1 candidate(s), 1 deleted, the rest kept +2026/11/09 12:17:40 infra_image_retention.go:94: [INFO] [stacks] infra image retention: traefik — pass over 2 image(s), pinned v3.7.17, previous "3.7.16", 0 candidate(s), 0 deleted, the rest kept +2026/11/09 12:17:40 infra_image_retention.go:94: [INFO] [stacks] infra image retention: cloudflare/cloudflared — pass over 2 image(s), pinned 2026.10.4, previous "2026.10.3", 0 candidate(s), 0 deleted, the rest kept +2026/11/09 12:17:40 infra_image_retention.go:94: [INFO] [stacks] infra image retention: gtstef/filebrowser — pass over 2 image(s), pinned 1.5.8-stable, previous "1.5.6-stable", 0 candidate(s), 0 deleted, the rest kept +2026/11/09 12:17:40 infra_image_retention.go:94: [INFO] [stacks] infra image retention: gitea.dooplex.hu/admin/felhom-samba — pass over 1 image(s), pinned 1.2.0, previous "", 0 candidate(s), 0 deleted, the rest kept +TYPE TOTAL ACTIVE SIZE RECLAIMABLE +Images 43 23 24.15GB 10.38GB (42%) +=== demo-hp walk +controller: gitea.dooplex.hu/admin/felhom-controller:0.351.0 Up 3 minutes (healthy) +traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17 +traefik repo digest: traefik@sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748 +containers: 26 total +not running/unhealthy: none +refusals since 2026-11-09T12:14:27Z: 0 +ERROR lines since: 0 +login page: 200 +file manager: 200 +route arcade.enkisfelhom.hu [romm]: 401 +route paste.enkisfelhom.hu [privatebin]: 200 +route plex.enkisfelhom.hu [plex]: 401 +route papir.enkisfelhom.hu [paperless-webserver]: 302 +route gist.enkisfelhom.hu [opengist]: 302 +route time.enkisfelhom.hu [kimai]: 302 +route ha.enkisfelhom.hu [home-assistant]: 200 +route docs.enkisfelhom.hu [docmost]: 200 +route books.enkisfelhom.hu [calibre-web]: 302 +route wiki.enkisfelhom.hu [bookstack]: 302 +route pdf.enkisfelhom.hu [bentopdf]: 200 +route travel.enkisfelhom.hu [adventurelog]: 200 +route travel.enkisfelhom.hu [adventurelog-frontend]: 200 +=== demo-felhom retention +2026/11/09 12:17:05 [INFO] [stacks] controller image retention: deleted gitea.dooplex.hu/admin/felhom-controller:0.349.0 (3ef3c22d7694, 348MB) — older than the previous controller and no container uses it (decision 56) +2026/11/09 12:17:05 [INFO] [stacks] controller image retention: pass over 3 controller image(s) — running 0.351.0, previous "0.350.0" (the self-update's record), 1 candidate(s), 1 deleted, the rest kept +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: deleted traefik:v3.6.7 (91528df1690f, 186MB) — older than the previous pin and no container uses it (decision 285) +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: deleted traefik:v3.7.13 (f9309349d2c1, 195MB) — older than the previous pin and no container uses it (decision 285) +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: traefik — pass over 4 image(s), pinned v3.7.17, previous "3.7.16", 2 candidate(s), 2 deleted, the rest kept +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: deleted cloudflare/cloudflared:2026.6.0 (7965361006df, 63.3MB) — older than the previous pin and no container uses it (decision 285) +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: deleted cloudflare/cloudflared:2026.9.3 (87f0e97329b3, 64.3MB) — older than the previous pin and no container uses it (decision 285) +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: cloudflare/cloudflared — pass over 4 image(s), pinned 2026.10.4, previous "2026.10.3", 2 candidate(s), 2 deleted, the rest kept +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: deleted gtstef/filebrowser:1.3.3-stable (095fd20d87be, 215MB) — older than the previous pin and no container uses it (decision 285) +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: gtstef/filebrowser — pass over 3 image(s), pinned 1.5.8-stable, previous "1.5.6-stable", 1 candidate(s), 1 deleted, the rest kept +2026/11/09 12:17:05 [INFO] [stacks] infra image retention: gitea.dooplex.hu/admin/felhom-samba — pass over 1 image(s), pinned 1.2.0, previous "1.1.0", 0 candidate(s), 0 deleted, the rest kept +TYPE TOTAL ACTIVE SIZE RECLAIMABLE +Images 16 9 2.183GB 555.2MB (25%) +=== demo-felhom walk +controller: gitea.dooplex.hu/admin/felhom-controller:0.351.0 Up 3 minutes (healthy) +traefik: traefik:v3.7.17 sha256:a72cb2f4a2109f1ae52261c86d56b7d33a27dc5c4e211ce3c7835b772338b94f running version 3.7.17 +traefik repo digest: traefik@sha256:68ae5fe5b64ca166704b746a9e8afcd385e36b3f569a5691401bf652d57b3748 +containers: 9 total +not running/unhealthy: none +refusals since 2026-11-09T12:14:27Z: 0 +ERROR lines since: 0 +login page: 200 +file manager: 200 +route sonarr.demo-felhom.eu [sonarr]: 401 +route radarr.demo-felhom.eu [radarr]: 401 +route torrent.demo-felhom.eu [qbittorrent]: 200 +route prowlarr.demo-felhom.eu [prowlarr]: 401 +route gist.demo-felhom.eu [opengist]: 302 diff --git a/documentation/audits/release-2026-11-09/walk_release.sh b/documentation/audits/release-2026-11-09/walk_release.sh new file mode 100755 index 00000000..d6b6a33f --- /dev/null +++ b/documentation/audits/release-2026-11-09/walk_release.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# walk_release.sh — the release box walk, read-only, from inside the guest: +# the controller's image and health; Traefik's image and digest; every container up and not unhealthy; the controller log since +# the switch (refusals, errors); the dashboard login page and the file manager through the box's own proxy (GET only); +# every app route the box serves, through Traefik with its own Host (the public name is asked apart, from outside). +H=$1; V=$2; D=$3; SINCE=$4 +ssh -o BatchMode=yes -o ConnectTimeout=15 "$H" "pct exec $V -- bash -s" <&1 | grep -ciE 'REFUSED a catalog definition|app_definition_refused|definition refused')" +echo "ERROR lines since: \$(docker logs --since $SINCE felhom-controller 2>&1 | grep -c '\[ERROR\]')" +docker logs --since $SINCE felhom-controller 2>&1 | grep '\[ERROR\]' | cut -c1-220 | tail -5 +echo "login page: \$(curl -sk -o /dev/null -w '%{http_code}' -H 'Host: felhom.$D' https://127.0.0.1/login)" +echo "file manager: \$(curl -sk -o /dev/null -w '%{http_code}' -H 'Host: files.$D' https://127.0.0.1/)" +for c in \$(docker ps --format '{{.Names}}'); do + docker inspect \$c --format '{{json .Config.Labels}}' | grep -o 'Host(\`[^\`]*\`)' | sed 's/Host(\`//; s/\`)//' | sort -u | while read -r h; do + echo "route \$h [\$c]: \$(curl -sk -m 20 -o /dev/null -w '%{http_code}' -H "Host: \$h" https://127.0.0.1/)" + done +done +EOF