Skip to content

v0.8.2

Latest

Choose a tag to compare

@github-actions github-actions released this 25 Oct 17:59
· 1 commit to main since this release
6b68f09

Installation

Helm Chart

helm install postgresql-operator oci://ghcr.io/aboutbits/helm-charts/postgresql-operator --version 0.8.2

Alternatively, 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.tgz

With 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.yml

Upgrade 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, Schema or Role that still shows an old PENDING or ERROR phase becomes READY at 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 the ClusterConnection spec, its dependent resources report PENDING until the ClusterConnection is probed again (#100).
  • Role with a missing password Secret: it now shows ERROR with the message, for example Secret reference not found [...], and the operator retries every 60 seconds (#94). Check alerts on the ERROR phase.
  • 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>], and Grant and DefaultPrivilege reconciles log their result (#96). Check log alerts and parsers that match the old messages.

What's Changed

  • Set the status to READY when a Database, Schema or Role is already up to date by @ThoSap in #91
  • Keep the current owner of a Database or Schema without owner in the spec by @ThoSap in #93
  • Set the Role status to ERROR when its password Secret is missing by @ThoSap in #94
  • Log the result of a Grant and DefaultPrivilege reconcile, and name the failed resource in all reconcile error logs by @ThoSap in #96
  • Keep the stored lastPhaseTransitionTime when the operator reads a status by @ThoSap in #99
  • Treat a ClusterConnection without status or with a stale status as not ready by @ThoSap in #100

Full Changelog: v0.8.1...v0.8.2