nebraska icon indicating copy to clipboard operation
nebraska copied to clipboard

helm: changes to upstream bitnami charts (postgresql)

Open tylerauerbeck opened this issue 5 months ago • 2 comments

Bitnami recently announced changes to their charts repository: https://github.com/bitnami/charts/issues/35164

At the end of August, existing charts will be moved to a legacy repository and those that remain will be published to a new repository. Those in the new repository will only be available at a latest tag and will not be recommended for production release.

As the current chart makes use of the postgresql chart, it should be determined how to manage this dependency moving forward.

tylerauerbeck avatar Jul 23 '25 02:07 tylerauerbeck

Thanks for the heads-up. I am wondering if we could not simply and purely drop the bitnami dependency and ship a default postgres basic configuration enough for running Nebraska.

tormath1 avatar Jul 23 '25 08:07 tormath1

Thanks for the heads-up. I am wondering if we could not simply and purely drop the bitnami dependency and ship a default postgres basic configuration enough for running Nebraska.

I think we should definitely do that. Considerations when we migrate form the legacy bitnami image to official postgresql:

  • Replication / HA
    • Bitnami: environment-driven automation and Helm charts (repmgr, auto bootstrap/failover).
    • Official: might not have built-in automation. Official doesn't have scripts for replication.
  • Environment variables
    • Map Bitnami → official:
      • POSTGRESQL_USERNAMEPOSTGRES_USER
      • POSTGRESQL_PASSWORDPOSTGRES_PASSWORD
      • POSTGRESQL_DATABASEPOSTGRES_DB
  • Data directory / PGDATA
    • Bitnami default path: e.g. /bitnami/postgresql.
    • Official default: /var/lib/postgresql/data (controlled by PGDATA).
    • Do not blindly reuse volumes — either set PGDATA to the Bitnami path and fix permissions, or perform a dump/restore to a fresh volume.
  • User & permissions
    • Ensure volume ownership matches the image’s UID (example): sudo chown -R 999:999 /path/to/pgdata.
  • Init scripts & helpers
    • Bitnami: wrapper scripts under /opt/bitnami/scripts/....
    • Official: use /docker-entrypoint-initdb.d for first-time initialization.
    • Update any automation that calls Bitnami-specific script paths and is relevant to Nebraska
  • Healthchecks & monitoring
    • Bitnami: includes helper healthchecks and chart expectations.
    • Official: use pg_isready or custom probes; add exporters or sidecars if needed.
  • Config & defaults
    • Bitnami may ship tuned postgresql.conf and different file locations.
  • Image contents & size
    • Bitnami: includes extra tools and wrappers.
    • Official: leaner; install any missing utilities.
  • Kubernetes / Helm
    • Bitnami Helm charts assume Bitnami image layout and env vars.
    • Update chart values, StatefulSet mounts, probes, and any chart-specific sidecars when switching.
  • Backup & migration approach
    • Bitnami might have some backup automation.

ervcz avatar Oct 14 '25 09:10 ervcz