186546d562
gates / gates (push) Successful in 27s
All 28 walked on scratch guest 9202 against the private drill catalog. 26 deployed, 6 proven, 5 inconclusive, 14 with no upstream edge, 1 failed honestly (outline 1.9.1->1.10.1, HELD with the right sentence), 2 undeployable - one (plant-it) by design, refused by the lifecycle gate, proven live for the first time. Each app also got the half the update night skipped: a restore from its own copy with the seed read back again - 21 restored, 2 correctly REFUSED per 07 6.2. R-630 RAISED TO P1 by measurement: a stack with NO probe container does not skip verifying - it waits out the full health timeout and HOLDS, stopping an app whose three containers read healthy. The controller's own words: "not healthy within 5m0s (last: no probe container)". R-633 opened: a remove sent during a restore reports success and leaves a container restarting with a live public route. The product already refuses that clash for update and for restore, naming the blocker; remove has no such guard. R-634 opened: an app can be running, healthy and serving while recorded as deployed=false, and is then unremovable. Reproducible alone on sparkyfitness; concurrency-linked on two others. R-631 and R-632 CLOSED. Register 321 -> 323. Seven interventions, six of them my own harness - named, with what each cost. No product code. The live catalog's image: lines are byte-identical to the start of the night. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
35 lines
4.0 KiB
Plaintext
35 lines
4.0 KiB
Plaintext
14:12:19 ==== immich (sub=photos, class=db, edge={'from': 'ghcr.io/immich-app/immich-server:v3.0.3', 'to': 'ghcr.io/immich-app/immich-server:v3.2.2'})
|
||
14:12:22 [1] made the drive paths this app requires: ['/mnt/felhom-drives/scratch_hdd/userdata/immich']
|
||
14:12:22 [1] required fields filled beyond DOMAIN/SUBDOMAIN: ['HDD_PATH']
|
||
14:12:22 [1] deploy -> 202 {'ok': True, 'message': 'Telepítés elindítva – az állapot a kártyán követhető'}
|
||
14:14:28 [1] deployed, controller state=running, pinned={'immich-machine-learning': 'ghcr.io/immich-app/immich-machine-learning:v3.0.3', 'immich-postgres': 'ghcr.io/immich-app/postgres:16-vectorchord0.4.3-pgvectors0.2.0', 'immich-redis': 'redis:7-alpine', 'immich-server': 'ghcr.io/immich-app/immich-server:v3.0.3'}
|
||
14:14:28 [1] front door 200 controller state=running
|
||
14:14:29 immich: seeded album drillalbum38e0fc27
|
||
14:14:29 immich: readback found=True (http 200, control passed)
|
||
14:14:29 [3] C1 readback before = True
|
||
14:14:29 [4] „Mentés most" -> 200 {'ok': True, 'message': 'Mentés elindítva'}
|
||
14:14:49 [4] backup idle; last=None
|
||
14:14:49 [4] backups page offers 1 restorable copy(ies)
|
||
14:14:50 [5] drill commit dd0768771f63: immich ghcr.io/immich-app/immich-server:v3.0.3 -> ghcr.io/immich-app/immich-server:v3.2.2 (push rc=0)
|
||
14:14:55 [5] badge {'hu': [{'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.', 'text': 'Frissítés elérhető — ma'}], 'en': [{'title': 'A newer version of this app is available. Select the Update button to start it.', 'text': 'Update available — today'}]}
|
||
14:14:56 [6] Update -> 202 {'ok': True, 'data': {'accepted': True, 'completed': False}, 'message': 'Frissítés elindult – az állapot a kártyán követhető'}
|
||
14:14:56 + 0.0s phase=checking label=Ellenőrzés… err=None hold=None
|
||
14:14:57 + 1.1s phase=safety-dump label=Adatbázis pillanatkép… err=None hold=None
|
||
14:14:59 + 3.1s phase=pulling label=Új verzió letöltése… err=None hold=None
|
||
14:16:04 + 67.9s phase=starting label=Indítás az új verzióval… err=None hold=None
|
||
14:16:06 + 70.0s phase=verifying label=Működés ellenőrzése… err=None hold=None
|
||
14:16:26 + 90.5s phase=done label=Frissítve err=None hold=None
|
||
14:16:32 immich: readback found=True (http 200, control passed)
|
||
14:16:32 [R] restoring immich from snapshot 'helyi' (of 1 offered)
|
||
14:16:32 [R] POST /backup/restore -> HTTP/2 302 ['location: /backups/restore?flash_error=Ez+a+ment%C3%A9s+nem+tartalmazza+az+alkalmaz%C3%A1s+f%C3%A1jljait%2C+ez%C3%A9rt+nem+%C3%A1ll%C3%ADtjuk+vissza+az+adatb%C3%A1zist+f%C3%B6l%C3%A9j%C3%BCk+%E2%80%94+a+f%C3%A1jlok+%C3%ADgy+a+hely%C3%BCk%C3%B6n+maradnak.+A+f%C3%A1jlok+a+t%C3%A1voli+m%C3%A1solatb%C3%B3l+%C3%A1ll%C3%ADthat%C3%B3k+vissza%3A+Biztons%C3%A1gi+ment%C3%A9s+%E2%86%92+Vissza%C3%A1ll%C3%ADt%C3%A1s%2C+%E2%80%9ETeljes+vissza%C3%A1ll%C3%ADt%C3%A1s+%28f%C3%A1jlok+%2B+adatb%C3%A1zis%29%E2%80%9D.']
|
||
14:16:32 + 0.0s restore (False, None, None)
|
||
14:16:39 [R] after restore: state=running hold=None phase=done
|
||
14:16:57 immich: readback found=True (http 200, control passed)
|
||
14:16:57 [6] restore -> refused-with-a-sentence, seed back = True
|
||
14:17:09 [X] stop -> 200 {'ok': True, 'message': 'Stack immich stop completed'}
|
||
14:17:14 [X] remove (with drive data) -> 409 {'ok': False, 'error': 'A(z) /mnt/felhom-drives/scratch_hdd/userdata/immich tárhely jelenleg nem elérhető — az alkalmazás nem távolítható el, amíg a meghajtó vi
|
||
14:17:14 [X] refused because the drive path cannot be resolved (R-442, fail-closed and right) — removing the app and KEEPING the drive data instead
|
||
14:17:14 [X] remove (keeping drive data) -> 200 {'ok': True, 'data': {'removed': 'immich', 'volumes_removed': ['immich_immich_ml_cache', 'immich_immich_postgres_data', 'immich_immich_redis_data'], 'hdd_paths_
|
||
14:17:22 [X] after remove: deployed=False leftovers='/opt/docker/stacks/immich'
|
||
14:18:26 [7] 60 s after remove: clean=True ''
|