Repository navigation
Installation
Helm Chart
helm install postgresql-operator oci://ghcr.io/aboutbits/helm-charts/postgresql-operator --version 0.8.2Alternatively, install the Helm chart from the release asset:
helm install postgresql-operator https://github.com/aboutbits/postgresql-operator/releases/download/v0.8.2/postgresql-operator-0.8.2.tgzWith the Helm chart, the Custom Resource Definitions (CRDs) are installed automatically.
However, if you deploy the operator directly from the OCI image, the CRDs are not automatically applied and must be installed separately.
Manual CRD Installation
kubectl apply -f https://github.com/aboutbits/postgresql-operator/releases/download/v0.8.2/clusterconnections.postgresql.aboutbits.it-v1.yml
kubectl apply -f https://github.com/aboutbits/postgresql-operator/releases/download/v0.8.2/databases.postgresql.aboutbits.it-v1.yml
kubectl apply -f https://github.com/aboutbits/postgresql-operator/releases/download/v0.8.2/schemas.postgresql.aboutbits.it-v1.yml
kubectl apply -f https://github.com/aboutbits/postgresql-operator/releases/download/v0.8.2/roles.postgresql.aboutbits.it-v1.yml
kubectl apply -f https://github.com/aboutbits/postgresql-operator/releases/download/v0.8.2/grants.postgresql.aboutbits.it-v1.yml
kubectl apply -f https://github.com/aboutbits/postgresql-operator/releases/download/v0.8.2/defaultprivileges.postgresql.aboutbits.it-v1.ymlUpgrade notes
- No CRD changes: the CRDs are the same as in 0.8.1. No manual CRD update is necessary.
- Stuck resources heal: a
Database,SchemaorRolethat still shows an oldPENDINGorERRORphase becomesREADYat the first reconcile after the upgrade (#91). No manual action is necessary. lastPhaseTransitionTime: existing values show the time of the last operator restart, not of the last real phase change. From 0.8.2, the value changes only when the phase changes (#99).- Resources applied together with their
ClusterConnection: they can wait up to 60 seconds for their first successful reconcile. Before, the reconcile failed with an exception, and JOSDK retried after 2 seconds, but at most 5 times. After a change of theClusterConnectionspec, its dependent resources reportPENDINGuntil theClusterConnectionis probed again (#100). Rolewith a missing password Secret: it now showsERRORwith the message, for exampleSecret reference not found [...], and the operator retries every 60 seconds (#94). Check alerts on theERRORphase.- Status writes: each successful reconcile now writes the status, also when nothing changed (#91). This adds one status update per resource at each resync and each restart.
- Logs: reconcile errors now log
Failed to reconcile <kind> [resource=<namespace>/<name>], andGrantandDefaultPrivilegereconciles log their result (#96). Check log alerts and parsers that match the old messages.
What's Changed
- Set the status to
READYwhen aDatabase,SchemaorRoleis already up to date by @ThoSap in #91 - Keep the current owner of a
DatabaseorSchemawithoutownerin the spec by @ThoSap in #93 - Set the Role status to
ERRORwhen its password Secret is missing by @ThoSap in #94 - Log the result of a
GrantandDefaultPrivilegereconcile, and name the failed resource in all reconcile error logs by @ThoSap in #96 - Keep the stored
lastPhaseTransitionTimewhen the operator reads a status by @ThoSap in #99 - Treat a
ClusterConnectionwithout status or with a stale status as not ready by @ThoSap in #100
Full Changelog: v0.8.1...v0.8.2