Register 180 -> 187 (opened R-1223..R-1229: the tunnel reboot gap, the per-customer cooldown, two website sentences, the registry and the home line and ArgoCD from the DooPlex survey); R-1214/R-1204/R-1205 READY, R-1187/R-982/R-925/R-232/R-923/R-924 updated; rc.8 re-proof of the stray-copy fix on 9202

This commit is contained in:
2026-10-22 23:25:16 +02:00
parent c6649dd49b
commit 70a600d0c2
7 changed files with 84 additions and 12 deletions
@@ -0,0 +1,4 @@
== rc.8 (= felhom-controller 1babfe9) on 9202 21:08:54
switched to gitea.dooplex.hu/admin/felhom-controller:0.340.0-rc.8 at 21:08:59
healthy after ~10s: Up 8 seconds (healthy)
2026/10/22 21:08:59 [INFO] [tier2] start-up: no leftover second-drive copy container
@@ -0,0 +1,10 @@
2026/10/22 21:11:57 router.go:1323: [INFO] [api] Manual Tier 2 (off-drive) backup triggered
2026/10/22 21:12:01 router.go:1323: [INFO] [api] Manual Tier 2 (off-drive) backup triggered
2026/10/22 21:13:57 tier2.go:507: [INFO] [backup] Tier 2 copied immich → /mnt/felhom-drives/scratch_hdd/backups/secondary/immich (16.5 GB, 2 leg(s), 1m59s)
2026/10/22 21:13:59 tier2.go:507: [INFO] [backup] Tier 2 copied immich → /mnt/felhom-drives/scratch_hdd/backups/secondary/immich (16.5 GB, 2 leg(s), 1m58s)
2026/10/22 21:14:00 tier2.go:507: [INFO] [backup] Tier 2 copied paperless-ngx → /mnt/sizing-bench/backups/secondary/paperless-ngx (127.4 MB, 1 leg(s), 3s)
2026/10/22 21:14:00 tier2.go:507: [INFO] [backup] Tier 2 copied privatebin → /mnt/felhom-drives/scratch_hdd/backups/secondary/privatebin (8.4 KB, 0 leg(s), 1s)
2026/10/22 21:14:00 tier2.go:569: [INFO] [backup] Tier 2 run complete: 3 app(s) processed (incl. volume-only — F6)
2026/10/22 21:14:00 tier2.go:507: [INFO] [backup] Tier 2 copied paperless-ngx → /mnt/sizing-bench/backups/secondary/paperless-ngx (127.4 MB, 1 leg(s), 1s)
2026/10/22 21:14:01 tier2.go:507: [INFO] [backup] Tier 2 copied privatebin → /mnt/felhom-drives/scratch_hdd/backups/secondary/privatebin (8.4 KB, 0 leg(s), 1s)
2026/10/22 21:14:01 tier2.go:569: [INFO] [backup] Tier 2 run complete: 3 app(s) processed (incl. volume-only — F6)
@@ -0,0 +1,16 @@
== media-leg container name expected: felhom-tier2-copy-immich-
== 21:14:39 POST /api/backup/tier2 (background)
== 21:14:41 the media copy runs:
felhom-tier2-copy-immich-9b848efc | Created | immich
== 21:14:45 restore probe during the copy:
restore probe: HTTP 302 -> /backups/apps?flash_error=Éppen fut a második meghajtóra készülő mentési másolat, ezért most nem indítható visszaállítás. Néhány perc múlva próbáld újra.
== 21:14:45 copies just before the restart:
felhom-tier2-copy-immich-948f2280 | Up 4 seconds | immich
== 21:14:47 restart the controller (systemctl restart felhom-controller-bootstrap)
21:14:50 controller: Up 1 second (health: starting) | copies:
21:14:54 controller: Up 5 seconds (healthy) | copies:
21:14:57 controller: Up 9 seconds (healthy) | copies:
== start-up lines after the restart
2026/10/22 21:14:51 [WARN] [tier2] start-up: removed a leftover second-drive copy container felhom-tier2-copy-immich-948f2280 — a copy a previous controller process lost; the copy is redone at the next run
== copies now:
(none listed = none left)
@@ -0,0 +1,10 @@
2026/10/22 21:15:23 router.go:1323: [INFO] [api] Manual Tier 2 (off-drive) backup triggered
2026/10/22 21:17:15 tier2.go:507: [INFO] [backup] Tier 2 copied immich → /mnt/felhom-drives/scratch_hdd/backups/secondary/immich (16.5 GB, 2 leg(s), 1m52s)
2026/10/22 21:17:16 tier2.go:507: [INFO] [backup] Tier 2 copied paperless-ngx → /mnt/sizing-bench/backups/secondary/paperless-ngx (127.4 MB, 1 leg(s), 1s)
2026/10/22 21:17:17 tier2.go:507: [INFO] [backup] Tier 2 copied privatebin → /mnt/felhom-drives/scratch_hdd/backups/secondary/privatebin (8.4 KB, 0 leg(s), 1s)
2026/10/22 21:17:17 tier2.go:569: [INFO] [backup] Tier 2 run complete: 3 app(s) processed (incl. volume-only — F6)
== equality (source, copy)
6b1cfbbd3fe1ab0637c8c1b099a5ec37 -
6b1cfbbd3fe1ab0637c8c1b099a5ec37 -
17179869184 /mnt/sizing-bench/userdata/media/photos/straycopy-test
17179869184 /mnt/felhom-drives/scratch_hdd/backups/secondary/immich/userdata/media/photos/straycopy-test
@@ -0,0 +1,15 @@
== teardown 21:17:43
/mnt/felhom-drives/scratch_hdd/backups/secondary/immich/userdata/media/photos:
/mnt/sizing-bench/userdata/media/photos:
switched to gitea.dooplex.hu/admin/felhom-controller:0.339.0 at 21:17:50
healthy after ~10s: Up 8 seconds (healthy)
felhom-controller gitea.dooplex.hu/admin/felhom-controller:0.339.0 Up 9 seconds (healthy)
filebrowser gtstef/filebrowser:1.5.6-stable Up 31 hours (healthy)
immich-machine-learning ghcr.io/immich-app/immich-machine-learning:v3.2.4 Up 7 hours (healthy)
immich-postgres ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0 Up 7 hours (healthy)
immich-redis redis:7-alpine Up 7 hours (healthy)
immich-server ghcr.io/immich-app/immich-server:v3.2.4 Up 7 hours (healthy)
traefik traefik:v3.7.13 Up 42 hours
/dev/loop0 32G 2.1G 28G 7% /mnt
copies:
@@ -18,3 +18,13 @@ Red-proofs (Docker-free seams, DooPlex): every `TestStrayCopy_*` test seen faili
no `rm -f` after an error (Timeout, Error), no name/label (NamedAndLabelled), the start-up loop not removing
(StartUpRemoves), the stray flag ignored (Unremovable, FailedStartUp), no in-flight record (RefusedWhileACopyRuns),
the web check removed (RestoreRefusedWhileACopyRuns), the main.go call removed (ClearIsWiredBeforeTheScheduler).
## Re-proof after the second review and the security review — rc.8 (= felhom-controller `1babfe9`)
| File | What |
|---|---|
| `10-rc8-switch.txt` | rc.8 start: „no leftover" |
| `11-rc8-two-runs-same-destination.txt` | two manual runs 4 s apart: the second waited for the first on each destination (both ended 2 s apart, 16.5 GB), no container removed, no failure (N4) |
| `12-rc8-restart-mid-copy.txt` | the restore probe refused during the copy; the controller restarted mid-copy; at start „removed a leftover … felhom-tier2-copy-immich-948f2280"; no container left |
| `13-rc8-redo.txt` | the redo: 16.5 GB, source = copy (`ls -l` md5 and `du -sb`) |
| `14-rc8-teardown-9202.txt` | test files removed, 9202 on 0.339.0, healthy, no copy container |
File diff suppressed because one or more lines are too long