fix(helm): default PostgreSQL to the official maintained image - #1582
Draft
ojasshelke46 wants to merge 1 commit into
Draft
fix(helm): default PostgreSQL to the official maintained image#1582ojasshelke46 wants to merge 1 commit into
ojasshelke46 wants to merge 1 commit into
Conversation
The chart pulled PostgreSQL from bitnamilegacy/postgresql, the frozen archive Bitnami moved its free catalog into when it was retired. Those images are still downloadable but are never rebuilt, so every PostgreSQL or OS-package CVE published from now on stays unpatched in them. The Bitnami Legacy switch in flatcar#1227 was a stopgap to keep installs working; this is the follow-up. - Default image is now docker.io/postgres:17.10-trixie - The subchart drives the official image through POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB and PGDATA, all of which docker.io/postgres honours, so no template changes are needed - The data directory moves to /var/lib/postgresql/pgdata: the official image has no /bitnami tree, and PGDATA must be a subdirectory the container user creates itself because /var/lib/postgresql and /var/lib/postgresql/data ship as 1777, which PostgreSQL rejects - Volume mount path moves accordingly to /var/lib/postgresql Existing deployments with persistence enabled need a dump and restore: the Bitnami image keeps postgresql.conf and pg_hba.conf outside the data directory, and its cluster was initialised against a different glibc. The README documents the migration. Verified on kind: fresh install with and without persistence, data survives a pod restart, Nebraska migrations apply, and an Omaha updatecheck returns a package. Signed-off-by: Ojas Shelke <ojasshelke733@gmail.com>
ojasshelke46
force-pushed
the
fix/postgresql-maintained-image
branch
from
August 13, 2026 18:27
3734b62 to
a0a2a93
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1574
Summary
The chart pulled PostgreSQL from bitnamilegacy/postgresql, the frozen
archive Bitnami moved its free catalog into when it retired free image
maintenance. Never rebuilt, so every PostgreSQL and OS-package CVE
published from now on stays unpatched in it. #1227 moved here as a
stopgap when the free catalog was retired; this is the follow-up
discussed in #1574.
What changed
docker.io/postgres:17.10-trixie/var/lib/postgresql/pgdata— the officialimage has no
/bitnamitree, andPGDATAhas to be a subdirectorythe container user creates itself, since
/var/lib/postgresqlandits data subdirectory ship
1777, which Postgres rejects. Volumemount path moves accordingly.
POSTGRES_USER/POSTGRES_PASSWORD/POSTGRES_DB/PGDATA, allhonored by
docker.io/postgres.persistence enabled — in-place PVC reuse does not work, since Bitnami
keeps
postgresql.conf/pg_hba.confoutside the data directory andits image was built against a different glibc, so a dump and restore
is required.
Test plan
Verified on a local kind cluster (deleted after testing):
helm lintclean/healthreturns 200/v1/updatereturns a real package manifestpostgresql.auth.usernamevariant works