Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Go to file
Igor Yanchenko 88735a798a
Resize volume by changing pvc size if enabled in config. (#958)
* Try to resize pvc if resizing pv has failed

* added config option to switch between storage resize strategies

* changes according to requests

* Update pkg/controller/operator_config.go

Co-authored-by: Felix Kunde <felix-kunde@gmx.de>

* enable_storage_resize documented

added examples to the default configuration and helm value files

* enable_storage_resize renamed to volume_resize_mode, off by default

* volume_resize_mode renamed to storage_resize_mode

* Update pkg/apis/acid.zalan.do/v1/crds.go

* pkg/cluster/volumes.go updated

* Update docs/reference/operator_parameters.md

* Update manifests/postgresql-operator-default-configuration.yaml

* Update pkg/controller/operator_config.go

* Update pkg/util/config/config.go

* Update charts/postgres-operator/values-crd.yaml

* Update charts/postgres-operator/values.yaml

* Update docs/reference/operator_parameters.md

* added logging if no changes required

Co-authored-by: Felix Kunde <felix-kunde@gmx.de>
2020-07-03 10:53:37 +02:00
charts Resize volume by changing pvc size if enabled in config. (#958) 2020-07-03 10:53:37 +02:00
cmd define ownership between operator and clusters via annotation (#802) 2020-03-17 16:34:31 +01:00
docker Connection pooler (#799) 2020-03-25 12:57:26 +01:00
docs Resize volume by changing pvc size if enabled in config. (#958) 2020-07-03 10:53:37 +02:00
e2e Propagate annotations to the StatefulSet (#932) 2020-05-04 14:46:56 +02:00
hack
kubectl-pg omit PgVersion diff on sync (#860) 2020-03-13 11:48:19 +01:00
manifests Resize volume by changing pvc size if enabled in config. (#958) 2020-07-03 10:53:37 +02:00
pkg Resize volume by changing pvc size if enabled in config. (#958) 2020-07-03 10:53:37 +02:00
ui Make selector match labels defined in the deployment (#1001) 2020-06-04 16:49:22 +02:00
.flake8
.gitignore Re-create pods only if all replicas are running (#903) 2020-04-20 15:14:11 +02:00
.golangci.yml
.travis.yml Move operator to go 1.14 (#882) 2020-03-30 15:50:17 +02:00
.zappr.yaml
CODEOWNERS
CONTRIBUTING.md
LICENSE update copyright in generated code (#779) 2020-01-02 17:34:49 +01:00
MAINTAINERS
Makefile Lazy upgrade of the Spilo image (#859) 2020-04-29 10:07:14 +02:00
README.md Added image to readme, added/rewrote features. (#1031) 2020-06-23 10:16:40 +02:00
SECURITY.md
build-ci.sh
delivery.yaml Move operator to go 1.14 (#882) 2020-03-30 15:50:17 +02:00
go.mod update dependencies (#1019) 2020-06-16 10:51:49 +02:00
go.sum update dependencies (#1019) 2020-06-16 10:51:49 +02:00
mkdocs.yml
run_operator_locally.sh

README.md

Postgres Operator

Build Status Coverage Status Go Report Card GoDoc golangci

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, others pending)
  • Database connection pooler with PGBouncer
  • Restore and cloning Postgres clusters (incl. major version upgrade)
  • Additionally logical backups to S3 bucket can be configured
  • Standby cluster from S3 WAL archive
  • Configurable for non-cloud environments
  • Basic credential and user management on K8s, eases application deployments
  • UI to create and edit Postgres cluster manifests
  • Works well on Amazon AWS, Google Cloud, OpenShift and locally on Kind

PostgreSQL features

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

Getting started

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

Supported setups of Postgres and Applications

Features

Documentation

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

Google Summer of Code

The Postgres Operator made it to the Google Summer of Code 2019! Check our ideas and start discussions in the issue tracker.

Community

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

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