Skip to content

Releases: case-88/pgbouncer-aurora-operator

v0.2.0

Choose a tag to compare

@case-88 case-88 released this 06 Jul 15:15
f902354

Highlights

  • Traffic routing rebuilt around explicit Pod labels: member-writer/member-reader membership plus a traffic label (true/false/none). Role Services select membership and traffic="true" together, and every Pod carries member-any for Reader fallback.
  • Reconcile pipeline refactored into observe → decide → apply layers: snapshot assembly, a pure planner with per-scenario decision files, and a controller apply layer that owns all Kubernetes writes.
  • Reader fallback to the Writer is now built-in and always on. When no healthy Reader exists, the Reader Service selector switches to member-any without a rollout.
  • healthy now means exactly that the monitor probe succeeded. PgBouncer Pod readiness is tracked as a separate signal, and a Reader serves traffic only when both hold.
  • Missing-instance debounce now requires both removeAfterMissingCount and the new spec.topologyPolicy.removeAfterMissingSeconds before an instance loses traffic.
  • Fresh RDS metadata reporting an instance as deleting skips the missing debounce and detaches traffic immediately. Completed RDS metadata refreshes also pull the next discovery forward.
  • Operator logs overhauled into human-readable one-line messages: failover window open/close, health transitions, reader fallback start/end, topology changes, and deleting-instance detection.
  • CR status now reports the active failover window (status.failoverWindow) and per-instance monitor failure kind.

Image

  • quay.io/case-88/pgbouncer-aurora-operator:v0.2.0
  • Multi-arch digest: sha256:868618dddd89b71cccd5aa62e9b919afafa3a448d9e400980e1bcb3b43998072
  • Platforms: linux/amd64, linux/arm64

Helm

The v0.2.0 charts are published on the Quay OCI chart registry:

  • oci://quay.io/case-88/charts/pgbouncer-aurora-crds --version 0.2.0
  • oci://quay.io/case-88/charts/pgbouncer-aurora-operator --version 0.2.0
  • oci://quay.io/case-88/charts/pgbouncer-aurora --version 0.2.0

CRD

  • Raw manifest: https://raw.githubusercontent.com/case-88/pgbouncer-aurora-operator/v0.2.0/deploy/crd.yaml

Migration Notes

  • Apply the v0.2.0 CRD before upgrading the operator.
  • spec.topologyPolicy.zoneAware (zone-aware placement) has been removed.
  • spec.topologyPolicy.readerEmptyFallback has been removed; Reader fallback is always enabled.
  • Remove both fields from existing PgBouncerAurora manifests. Strict validation or GitOps pipelines can reject the removed fields.

Validation

  • go test ./... and govulncheck ./... on the release commit
  • helm lint and helm template for CRD, operator, and CR charts
  • Quay image manifest inspection for v0.2.0
  • Failover and reader add/delete lifecycle verified against a live Aurora cluster

v0.1.1

Choose a tag to compare

@case-88 case-88 released this 04 Jul 02:40
efeae3b

Highlights

  • Operators now claim each PgBouncerAurora CR before running discovery, monitor, metadata refresh, status updates, or child-resource writes.
  • Removed spec.topologyPolicy.writerChangeConnectionHandling; Writer changes now always roll the old/new Writer PgBouncer Deployments through role-based Pod template labels.
  • Reader fallback now uses fresh confirmed Reader health, so preserved or missing Readers do not block Writer fallback when no Reader is confirmed.
  • Reader Service traffic membership now follows monitor health thresholds. Confirmed unhealthy Readers are removed from the Reader Service even if topology still reports them as Readers.
  • Role labels no longer revive Reader traffic membership by themselves.
  • PgBouncer Pods now render terminationGracePeriodSeconds with a default of 30 seconds.
  • Monitor unhealthy observations are logged as state changes instead of repeated error stack traces when cached health is carried.

Image

  • quay.io/case-88/pgbouncer-aurora-operator:v0.1.1
  • Multi-arch digest: sha256:d485005af4489c42d953d3ee392634594c7123e2702e4099d5b10147012f8252
  • Platforms: linux/amd64, linux/arm64

Helm

The v0.1.1 charts were already published on the Quay OCI chart registry:

  • oci://quay.io/case-88/charts/pgbouncer-aurora-crds --version 0.1.1
  • oci://quay.io/case-88/charts/pgbouncer-aurora-operator --version 0.1.1
  • oci://quay.io/case-88/charts/pgbouncer-aurora --version 0.1.1

Migration Notes

  • Remove spec.topologyPolicy.writerChangeConnectionHandling from existing manifests. Strict validation or GitOps pipelines can reject the removed field.
  • Review readerEmptyFallback.enabled and application Reader target settings. In two-member Aurora clusters, Reader clients that use role checks should usually use preferSecondary or any targets when fallback is enabled.
  • Use at least two PgBouncer replicas per Aurora instance for production rollouts.
  • Review PgBouncer rollout drain expectations before lowering spec.pgbouncer.terminationGracePeriodSeconds.

Validation

  • go test ./...
  • helm lint charts/pgbouncer-aurora-crds charts/pgbouncer-aurora-operator charts/pgbouncer-aurora
  • helm template for CRD, operator, and CR charts
  • Quay image manifest inspection for v0.1.1

v0.1.0

Choose a tag to compare

@case-88 case-88 released this 01 Jul 13:45
8db8a15

Initial v0.1.0 release of PgBouncer Aurora Operator.

This release provides the core operator workflow for running one PgBouncer per Aurora PostgreSQL DB instance and keeping Kubernetes Writer/Reader Service membership aligned with Aurora topology.

Highlights:

  • Aurora Writer/Reader topology discovery with RDS metadata enrichment.
  • Per-instance PgBouncer Deployments and Services.
  • Writer and Reader Kubernetes Services with role-aware membership.
  • Fast Writer failover handling and safe last-known-good behavior.
  • Reader empty fallback support for writer-only clusters.
  • Zone-aware PgBouncer placement.
  • Built-in /status dashboard and /status.json.
  • Multi-CR scheduling and monitor/discovery isolation improvements.
  • Operator and PgBouncer TLS-to-Aurora configuration support.

Operator images:

  • quay.io/case-88/pgbouncer-aurora-operator:v0.1.0
  • quay.io/case-88/pgbouncer-aurora-operator:latest

Image index digest:

  • sha256:2c09d5d4932ecb80b9fdd3e80b5d2cc7dc4c57393b41acff8527ebe12a17d502

CRD manifest:

Install guide:

Notes:

  • The custom resource API version is pgbouncer-aurora.io/v1alpha1.
  • Helm packaging is versioned and released separately from this core manifest/image release.
  • PgBouncer image selection remains configured separately in the custom resource.

v0.1.0-alpha.1

v0.1.0-alpha.1 Pre-release
Pre-release

Choose a tag to compare

@case-88 case-88 released this 30 Jun 07:48

Initial follow-up public alpha release of PgBouncer Aurora Operator.

This release is intended for early validation. The API remains pgbouncer-aurora.io/v1alpha1 and may change before a stable release.

Highlights

  • Simplifies operator runtime configuration by moving worker, rate-limit, and monitor job timeout knobs behind conservative internal defaults.
  • Adds --watch-names / WATCH_NAMES for watching one or more CRs from a single operator.
  • Preserves explicit empty --watch-names= as "watch all", even when WATCH_NAMES is set.
  • Uses discovery timeout for RDS metadata enrichment.
  • Adds a default NetworkPolicy manifest for the operator status/metrics endpoint.
  • Adds /status page preferences: browser-local recent-window selection and light/dark theme support.

Image

quay.io/case-88/pgbouncer-aurora-operator:v0.1.0-alpha.1

Multi-arch platforms:

  • linux/amd64
  • linux/arm64

Image digest:

sha256:c8c4ab21dde2f83139912bdb326c4da186f4a8bca92f30e51aa9db24b3f72292

Manifests

CRD:

https://raw.githubusercontent.com/case-88/pgbouncer-aurora-operator/v0.1.0-alpha.1/deploy/crd.yaml

Install guide:

https://github.com/case-88/pgbouncer-aurora-operator#installation

Notes

  • Use explicit version tags only.
  • No latest image tag is published during alpha.
  • PgBouncer image is configured separately in the custom resource.

v0.1.0-alpha

v0.1.0-alpha Pre-release
Pre-release

Choose a tag to compare

@case-88 case-88 released this 29 Jun 15:28

Initial public alpha release of PgBouncer Aurora Operator.

This release is intended for early validation. The API is v1alpha1 and may change before v0.1.0.

Operator image:
quay.io/case-88/pgbouncer-aurora-operator:v0.1.0-alpha

CRD manifest:
https://raw.githubusercontent.com/case-88/pgbouncer-aurora-operator/v0.1.0-alpha/deploy/crd.yaml

Source:
https://github.com/case-88/pgbouncer-aurora-operator

Install guide:
https://github.com/case-88/pgbouncer-aurora-operator#installation

Notes:

  • Use explicit version tags only.
  • No latest image tag is published during alpha.
  • PgBouncer image is configured separately in the custom resource.