// the find
zalando/postgres-operator
Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
A Kubernetes operator that manages the full lifecycle of highly-available PostgreSQL clusters using Patroni under the hood. Built and battle-tested at Zalando in production for 5+ years. Aimed at platform teams running Postgres at scale inside K8s who want GitOps-style cluster management via CRDs instead of manual kubectl.
Patroni-backed streaming replication with rolling updates and live PVC resize without pod restarts is genuinely useful — most teams get this wrong. Major version in-place upgrade support (including global fleet upgrades) is rare in operators of this kind. The extension list is broad and practical: pgvector, TimescaleDB, pg_cron, pg_partman, PostGIS all ship out of the box via Spilo, saving real integration pain. E2E test suite using kind is automated in CI, so you can actually trust the upgrade paths.
The UI is a Python/Riot.js app that looks unmaintained — it ships in a separate Helm chart but the frontend stack (Pug templates, Webpack 4-era config) is clearly not a priority and shouldn't be used in production. PGBouncer pooler integration works but is bolted on rather than first-class; you get one pooler per cluster and configuration options are thin compared to running PGBouncer directly. The operator-configuration CRD has ~150 parameters with inconsistent defaults documented across three different places (configmap, CRD, Helm values), which makes production tuning slower than it should be. No support for Postgres logical replication slot management or multi-region standby beyond a single S3/GCS WAL archive setup.