Kubegres is an open-source Kubernetes operator allowing to deploy a cluster of PostgreSql instances with data replication enabled out-of-the box. It brings simplicity when using PostgreSql considering how complex managing stateful-set's life-cycle and data replication could be with Kubernetes.
Kubegres has the following features:
It creates a cluster of PostgreSql servers with data replication enabled: it creates a Primary PostgreSql pod and a number of Replica PostgreSql pods and replicates primary's database in real-time to Replica pods.
It manages fail-over: if a Primary PostgreSql crashes, it automatically promotes a Replica PostgreSql as a Primary.
It has a data backup option allowing to dump PostgreSql data regularly in a given volume.
It provides a very simple YAML with properties specialised for PostgreSql.
It is resilient, has over 55 automatized tests cases and has been running in production.