Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Go to file
MisguidedEmails 957e8722c3
📝 "*" can be used for UI TARGET_NAMESPACE option (#2412)
Similar to "WATCHED_NAMESPACE" for the operator itself, "*" is a valid option for the UI. Without it clusters in multiple namespaces - rather, those not in the TARGET_NAMESPACE - will not show in the UI. Which can be confusing for users.
2024-01-03 16:47:59 +01:00
.github bump to v1.10.1 (#2410) 2023-09-07 22:46:26 +02:00
charts 📝 "*" can be used for UI TARGET_NAMESPACE option (#2412) 2024-01-03 16:47:59 +01:00
cmd Configure annotations to be ignored in comparisons during sync (#1823) 2022-03-24 18:38:37 +01:00
docker bump ubuntu version in logical-backup Dockerfile (#2478) 2023-11-29 15:58:52 +01:00
docs 📝 "*" can be used for UI TARGET_NAMESPACE option (#2412) 2024-01-03 16:47:59 +01:00
e2e on PVC when_scaled:retain check pod count, too (#2415) 2023-09-12 13:50:58 +02:00
hack Ineffectual assignment of the envVars for connection pooler (#2165) 2023-01-12 11:38:54 +01:00
kubectl-pg bump to v1.10.1 (#2410) 2023-09-07 22:46:26 +02:00
manifests support new stream fields in CRD (#2427) 2023-09-20 11:57:49 +02:00
mocks Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
pkg remove Users section from Patroni Bootstrap (#2490) 2024-01-03 16:47:21 +01:00
ui 📝 "*" can be used for UI TARGET_NAMESPACE option (#2412) 2024-01-03 16:47:59 +01:00
.flake8 Implement runner for e2e tests (#548) 2019-06-05 17:07:27 +02:00
.gitignore refactor pooler tls support and set pooler pod security context (#2255) 2023-04-17 11:38:56 +02: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 hello hughcapet (#2074) 2022-10-12 16:21:19 +02:00
CONTRIBUTING.md Update docs for v1.2 (#609) 2019-07-11 17:19:27 +02:00
LICENSE Bump v1.10.0 (#2299) 2023-04-20 18:21:43 +02:00
MAINTAINERS hello hughcapet (#2074) 2022-10-12 16:21:19 +02:00
Makefile bump go to 1.19.8 everywhere (#2300) 2023-04-21 16:53:06 +02:00
README.md Improve appearance of Readme image in github dark mode (#2431) 2023-10-16 11:54:51 +02: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 Migrate cdp overlay to use cdp runtime (#2416) 2023-10-16 10:40:34 +02:00
go.mod Bump golang.org/x/net from 0.9.0 to 0.17.0 (#2442) 2023-10-17 18:27:10 +02:00
go.sum Bump golang.org/x/net from 0.9.0 to 0.17.0 (#2442) 2023-10-17 18:27:10 +02: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
  • Support for AWS EBS gp2 to gp3 migration, supporting iops and throughput configuration
  • 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.10.* 10 → 15 1.21+ 1.19.8
v1.9.0 10 → 15 1.21+ 1.18.9
v1.8.* 9.5 → 14 1.20 → 1.24 1.17.4
v1.7.1 9.5 → 14 1.20 → 1.24 1.16.9

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

Community

There are two places to get in touch with the community:

  1. The GitHub issue tracker
  2. The #postgres-operator slack channel