Update the default PostgreSQL to version 14
What does this MR do?
This MR updates the dependency to Bitnami PostgreSQL Chart from 8.9.4
to 12.5.2
, allowing to use PostgreSQL 14.
It also uses PostgreSQL 14 by default and changes the minimum PostgreSQL version to 13.
Bitnami has introduced multiple breaking changes since 8.9.4
and this MR adjusts GitLab Chart to these changes, including value restructuring, template name changes of those that are aliased in GitLab Chart to override the PostgreSQL Chart (for example "postgresql.initdbScriptsCM"
), and most notably the keys to passwords Secret. We have managed to "get around" the changes to the password key names, but at the cost of disabling the use of usePasswordFiles
. (There is a handling bug in the bitnami chart).
Related issues
Closes #4118 (closed)
Testing
For upgrade:
- Install GitLab from
master
(or any other released version) - Fetch and checkout the branch
- Run
helm dependency update
(this is required as the PostgreSQL dependency has changed) - Follow
doc/installation/database_upgrade.md
instructions for database upgrade. ⚠ Make sure to followEdit the existing PostgreSQL passwords Secret
section. (very important)
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened -
Validate potential values for new configuration settings. Formats such as integer 10
, duration10s
, URIscheme://user:passwd@host:port
may require quotation or other special handling when rendered in a template and written to a configuration file.