finds.dev← search

// the find

reactive-tech/kubegres

★ 1,349 · Go · Apache-2.0 · updated Jan 2025

Kubegres is a Kubernetes operator allowing to deploy one or many clusters of PostgreSql instances and manage databases replication, failover and backup.

Kubegres is a Kubernetes operator that handles PostgreSQL cluster management — streaming replication, automatic failover, and scheduled backups — through a single custom resource. It's aimed at teams that need Postgres-on-Kubernetes without the full weight of Zalando's postgres-operator or Crunchy Data's PGO. The scope is deliberately narrow, which is both its strength and its ceiling.

The CRD surface area is small and readable — a single `Kubegres` kind covers replicas, storage, backup schedule, and custom config, so you aren't learning a new DSL. The test suite is real: 99 automated tests using kind clusters that exercise actual failover, replication, and spec changes, not mocked Kubernetes clients. The codebase is genuinely small (~30 Go files in the controller) and structured clearly enough that you can read the failover path in an afternoon. Sponsored production usage at 25+ clusters gives some confidence it doesn't fall apart under load.

Last commit was January 2025 and the pace has slowed considerably — issues mentioning connection pooling (PgBouncer), point-in-time recovery, and TLS between replicas have sat open for years, features that competing operators shipped long ago. Backup is a cron job that runs pg_dump to a PVC, which means restoring under pressure involves manual steps and no built-in PITR. There's no support for connection pooling at the operator level, so you're bolting PgBouncer on yourself. Failover promotes a replica automatically but there's no documented split-brain protection or fencing mechanism described — if your primary is partitioned but not dead, you could end up with two nodes thinking they're primary.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →