Controller 0.351.0 released: release evidence, status and report
gates / gates (push) Successful in 1m56s
gates / gates (push) Successful in 1m56s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
1 parent
c16697c21a
commit
13c786dd2f
18 files changed
+319
-3
No files matched your search
@@ -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
|
||||
|
||||
@@ -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).
|
||||
|
||||
@@ -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.
|
||||
@@ -0,0 +1,6 @@
|
||||
[0;32m[INFO][0m ╔══════════════════════════════════════╗
|
||||
[0;32m[INFO][0m ║ Build complete ✓ ║
|
||||
[0;32m[INFO][0m ╚══════════════════════════════════════╝
|
||||
[0;32m[INFO][0m Image: gitea.dooplex.hu/admin/felhom-controller:0.351.0
|
||||
[0;32m[INFO][0m Size: 486M
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1 @@
|
||||
2026-11-09T12:14:27Z
|
||||
@@ -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"
|
||||
@@ -0,0 +1,3 @@
|
||||
2026-11-09T12:18:28Z
|
||||
HTTP/1.1 303 See Other
|
||||
Location: /configuration?flash=floor_set
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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]
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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]
|
||||
@@ -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
|
||||
@@ -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
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
# walk_release.sh <ssh-host> <vmid> <domain> <since RFC3339> — 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" <<EOF
|
||||
echo "controller: \$(docker ps --filter name=^/felhom-controller\$ --format '{{.Image}} {{.Status}}')"
|
||||
echo "traefik: \$(docker inspect traefik --format '{{.Config.Image}} {{.Image}} {{.State.Status}}') version \$(docker exec traefik traefik version | head -1 | awk '{print \$2}')"
|
||||
echo "traefik repo digest: \$(docker image inspect \$(docker inspect traefik --format '{{.Image}}') --format '{{join .RepoDigests " "}}')"
|
||||
echo "containers: \$(docker ps -a --format '{{.Names}}|{{.Status}}' | wc -l) total"
|
||||
bad=\$(docker ps -a --format '{{.Names}}|{{.Status}}' | grep -E 'unhealthy|Restarting|Exited|Dead|Created' || true)
|
||||
echo "not running/unhealthy: \${bad:-none}"
|
||||
echo "refusals since \$(echo $SINCE): \$(docker logs --since $SINCE felhom-controller 2>&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
|
||||
Reference in new issue
Block a user