Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Go to file
Tabby b276cd2f94
Feat: Support Running Sidecar with a Command. (#2449)
* Feat: Support Running Sidecard with a Command.

This PR addresses issue #2448 . Some containers may not have entry points, if this is the case they would need to be run using a command. This change extends the definition of sidecar so that there is an optional command field. If the field is present then the container will be run using that command. This is a two line change that is fully backward compatible.
2024-12-23 09:08:35 +01:00
.github Add support for pg17 and remove pg12 (#2773) 2024-12-20 11:22:52 +01:00
charts Fix deployment extraEnvs indentation in operator chart (#2814) 2024-12-23 08:59:54 +01:00
cmd Add abitility to set QPS and Burst limits for api client (#2667) 2024-12-23 08:53:27 +01:00
docker bump go version to 1.22.5 (#2699) 2024-07-23 13:25:29 +02:00
docs Add support for pg17 and remove pg12 (#2773) 2024-12-20 11:22:52 +01:00
e2e Add support for pg17 and remove pg12 (#2773) 2024-12-20 11:22:52 +01:00
hack update go and dependencies (#2554) 2024-02-23 13:58:11 +01:00
kubectl-pg Bump golang.org/x/crypto from 0.26.0 to 0.31.0 in /kubectl-pg (#2819) 2024-12-18 16:03:20 +01:00
logical-backup Add support for pg17 and remove pg12 (#2773) 2024-12-20 11:22:52 +01:00
manifests Add support for pg17 and remove pg12 (#2773) 2024-12-20 11:22:52 +01:00
mocks Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
pkg Feat: Support Running Sidecar with a Command. (#2449) 2024-12-23 09:08:35 +01:00
ui Add support for pg17 and remove pg12 (#2773) 2024-12-20 11:22:52 +01:00
.flake8 Implement runner for e2e tests (#548) 2019-06-05 17:07:27 +02:00
.gitignore Add support for EBS CSI Driver (#2677) 2024-12-19 12:32:09 +01:00
.golangci.yml add .golangci.yml (#422) 2018-11-27 12:00:15 +01:00
.zappr.yaml Min 2 zalando approvers. (#1338) 2021-01-29 11:12:08 +01:00
CODEOWNERS chore: add "macedigital" as codeowner & maintainer (#2511) 2024-01-11 18:51:22 +01:00
CONTRIBUTING.md Update docs for v1.2 (#609) 2019-07-11 17:19:27 +02:00
LICENSE update go and dependencies (#2554) 2024-02-23 13:58:11 +01:00
MAINTAINERS chore: add "macedigital" as codeowner & maintainer (#2511) 2024-01-11 18:51:22 +01:00
Makefile update K8s version and reflect necessary changes (#2740) 2024-08-27 18:13:39 +02:00
README.md Add support for pg17 and remove pg12 (#2773) 2024-12-20 11:22:52 +01:00
SECURITY.md docs(general): Adding Security.md (#88) 2017-09-04 14:33:30 +02:00
build-ci.sh reflect change in github url (#496) 2019-02-25 11:26:55 +01:00
delivery.yaml chore: simplify delivery-yaml for building operator (#2673) 2024-06-26 18:39:20 +02:00
go.mod Bump golang.org/x/crypto from 0.26.0 to 0.31.0 (#2816) 2024-12-17 14:07:15 +01:00
go.sum Bump golang.org/x/crypto from 0.26.0 to 0.31.0 (#2816) 2024-12-17 14:07:15 +01:00
mkdocs.yml Initial commit for new 1.6 release with Postgres 13 support. (#1257) 2020-12-17 15:00:29 +01:00
run_operator_locally.sh run_operator_locally.sh: more retrying, debuggability (#2218) 2023-04-19 12:05:36 +02:00

README.md

Postgres Operator

Tests E2E Tests Coverage Status

The Postgres Operator delivers an easy to run highly-available PostgreSQL clusters on Kubernetes (K8s) powered by Patroni. It is configured only through Postgres manifests (CRDs) to ease integration into automated CI/CD pipelines with no access to Kubernetes API directly, promoting infrastructure as code vs manual operations.

Operator features

  • Rolling updates on Postgres cluster changes, incl. quick minor version updates
  • Live volume resize without pod restarts (AWS EBS, PVC)
  • Database connection pooling with PGBouncer
  • Support fast in place major version upgrade. Supports global upgrade of all clusters.
  • Restore and cloning Postgres clusters on AWS, GCS and Azure
  • Additionally logical backups to S3 or GCS bucket can be configured
  • Standby cluster from S3 or GCS WAL archive
  • Configurable for non-cloud environments
  • Basic credential and user management on K8s, eases application deployments
  • Support for custom TLS certificates
  • UI to create and edit Postgres cluster manifests
  • Compatible with OpenShift

PostgreSQL features

The Postgres Operator has been developed at Zalando and is being used in production for over five years.

Supported Postgres & K8s versions

Release Postgres versions K8s versions Golang
v1.13.0 12 → 16 1.27+ 1.22.5
v1.12.0 11 → 16 1.27+ 1.22.3
v1.11.0 11 → 16 1.27+ 1.21.7
v1.10.1 10 → 15 1.21+ 1.19.8
v1.9.0 10 → 15 1.21+ 1.18.9
v1.8.2 9.5 → 14 1.20 → 1.24 1.17.4

Getting started

For a quick first impression follow the instructions of this tutorial.

Supported setups of Postgres and Applications

Features Features

Documentation

There is a browser-friendly version of this documentation at postgres-operator.readthedocs.io