Highlights
- Traffic routing rebuilt around explicit Pod labels:
member-writer/member-readermembership plus atrafficlabel (true/false/none). Role Services select membership andtraffic="true"together, and every Pod carriesmember-anyfor 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-anywithout a rollout. healthynow 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
removeAfterMissingCountand the newspec.topologyPolicy.removeAfterMissingSecondsbefore an instance loses traffic. - Fresh RDS metadata reporting an instance as
deletingskips 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.0oci://quay.io/case-88/charts/pgbouncer-aurora-operator --version 0.2.0oci://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.readerEmptyFallbackhas been removed; Reader fallback is always enabled.- Remove both fields from existing
PgBouncerAuroramanifests. Strict validation or GitOps pipelines can reject the removed fields.
Validation
go test ./...andgovulncheck ./...on the release commithelm lintandhelm templatefor 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