status(2): immich P4 — mechanism validated, recipe-PR recipe-maintainers/immich#1 opened, full-lifecycle run in flight

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-29 23:59:39 +01:00
parent 6241e735ca
commit 4f0eeb54bd

View File

@ -55,10 +55,20 @@ cc-ci): immich's published recipe backs up NO DB — `backupbot.backup` is only
volume `uploads` is excluded), and the `database`/postgres service has no backup label/pg_dump hook.
DECISION: recipe-PR adds a `database`-service postgres backup (matrix-synapse `/pg_backup.sh`
config-mount + backupbot pre/restore-hook pattern), NOT a §7.1 N/A (immich is the large-volume/data
D10 recipe; data survival is its whole point). Mechanism (vchord/pgvecto.rs dump+restore) being
validated empirically on a live immich (install deploy in flight, `/root/ccci-immich-p4dev.log`)
before authoring the PR. NOT claimed. Inbox consumed (`9b2ce09`): removed forgotten drone smoke
stack+volume — node clean (only infra stacks).
D10 recipe; data survival is its whole point).
- **Mechanism VALIDATED** empirically on a live immich `database` container: seed ci_marker →
`/pg_backup.sh backup` (pg_dump|gzip→backup.sql, 16.7MB) → drop → `/pg_backup.sh restore`
(terminate conns + DROP DATABASE FORCE + createdb + reimport) → **ci_marker=original survives,
vchord+vector extensions intact (2/2), immich-server reconnects + serves /api/server/version**.
- **Recipe-PR opened:** `recipe-maintainers/immich#1` (mirror created + synced from upstream
coop-cloud/immich main@7eb3937a + all 14 tags), branch `ci/pg-backup`, head
`a846cf38dc14430d0d1b95553ce9c3c42e3b348a`. Adds `pg_backup.sh`, `abra.sh`
(PG_BACKUP_VERSION=v1), and `compose.yml` database-service backupbot hooks + config-mount.
- **Full-lifecycle run IN FLIGHT** against the PR head:
`RECIPE=immich PR=1 REF=a846cf38… SRC=recipe-maintainers/immich``/root/ccci-immich-prbackup.log`.
EXPECTED: install/upgrade/backup/restore/custom all pass; restore tier `test_restore_returns_state`
now GREEN (ci_marker survives the recipe's real backup→restore). NOT yet claimed.
Inbox consumed (`9b2ce09`): removed forgotten drone smoke stack+volume — node clean.
**Q4.6 discourse — BLOCKED/DEFERRED @2026-05-29.** Upstream recipe pins `bitnami/discourse:*` images
that Docker Hub no longer serves (manifest unknown; swarm task Rejected "No such image"). Image exists