immich/renovate: roll back immich-postgres v17 -> v16 (PG major datadir incompat) + gate postgres-family images
Renovate PR #76 (merged 2026-06-06 10:48) bumped ghcr.io/immich-app/postgres from `16-vectorchord0.3.0` to `17-vectorchord0.3.0`. PostgreSQL major upgrades require pg_upgrade or pg_dump/restore — the new server binary refuses to open a data directory initialized by the previous major: FATAL: database files are incompatible with server DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.6 Both immich-postgres and immich-server (depends on Postgres) went into CrashLoopBackOff. PVC still holds the v16 datadir. This PR: 1. Reverts ghcr.io/immich-app/postgres back to `16-vectorchord0.3.0` so immich recovers immediately. 2. Adds a packageRule with `dependencyDashboardApproval: true` covering `postgres`, `postgis/postgis`, and `ghcr.io/immich-app/postgres`. Any update to these images is now held on the Dashboard's "Pending Approval" section -- Renovate won't even open a PR until the user explicitly ticks the box. Forces the migration plan to be made BEFORE the change reaches main. This is the same recovery pattern we just used for meilisearch (PR #77) -- a class of stateful images where the on-disk format isn't forward-compatible across version bumps. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -114,6 +114,15 @@ data:
|
||||
"matchPackageNames": ["getmeili/meilisearch"],
|
||||
"dependencyDashboardApproval": true
|
||||
},
|
||||
{
|
||||
"description": "Postgres-family images: a major bump (e.g. 16 -> 17) requires pg_upgrade or dump/restore — the new server binary refuses to open the old data directory (`database files are incompatible with server`). PR #76 (immich-app/postgres 16 -> 17) on 2026-06-06 crashlooped immich-postgres and immich-server. Renovate's docker versioning treats these custom tag formats inconsistently, so don't trust the major/minor classification: hold ALL updates for these images behind explicit dashboard approval. Includes vanilla postgres, postgis/postgis (where the tag prefix IS the pg major), and ghcr.io/immich-app/postgres (custom `N-vectorchordX.Y.Z` form).",
|
||||
"matchPackageNames": [
|
||||
"postgres",
|
||||
"postgis/postgis",
|
||||
"ghcr.io/immich-app/postgres"
|
||||
],
|
||||
"dependencyDashboardApproval": true
|
||||
},
|
||||
{
|
||||
"description": "termix: kubernetes manager would extract the image with versioning=docker and silently skip it (release-1.11.0 fails the docker pre-check). Disable that extraction; customManagers above does the real work via github-releases.",
|
||||
"matchManagers": ["kubernetes"],
|
||||
|
||||
Reference in New Issue
Block a user