Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Go to file
Jan Mussler 549f71bb49
Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242)
* initial commit for gp3 migration.

* Default volume migration done.

* Added Gomock and one test case with mock.

* Dep update.

* more changes for code gen.

* push fake package.

* Rename var.

* Changes to Makefile and return value.

* Macke mocks phony due to overlap in foldername.

* Learning as one goes. Initialize map.

* Wrong toggle.

* Expect modify call.

* Fix mapping of ids in test.

* Fix volume id.

* volume ids.

* Fixing test setup. Late night...

* create all pvs.

* Fix test case config.

* store volumes and compare.

* More logs.

* Logging of migration action.

* Ensure to log errors.

* Log warning if modify failed, e.g. due to ebs volume state.

* Add more output.

* Skip local e2e tests.

* Reflect k8s volume id in test data. Extract aws volume id from k8s value.

* Finalizing ebs migration.

* More logs. describe fails.

* Fix non existing fields in gp2 discovery.

* Remove nothing to do flag for migration.

* Final commit for migration.

* add new options to all places

Co-authored-by: Felix Kunde <felix-kunde@gmx.de>
2020-12-11 15:52:32 +01:00
.github Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
charts Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
cmd Introduce ENABLE_JSON_LOGGING env variable (#1158) 2020-10-08 15:32:15 +02:00
docker Improving e2e more (#1185) 2020-10-29 13:59:22 +01:00
docs Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
e2e Introduce PGVERSION (#1172) 2020-11-27 18:49:49 +01:00
hack hack: update shebang (#755) 2019-12-10 14:54:12 +01:00
kubectl-pg move to apiextensions from v1beta1 to v1 (#746) 2020-11-02 10:49:29 +01:00
manifests Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +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 Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
ui Connection pooler for replica (#1127) 2020-11-13 14:52:21 +01:00
.flake8 Implement runner for e2e tests (#548) 2019-06-05 17:07:27 +02:00
.gitignore Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
.golangci.yml add .golangci.yml (#422) 2018-11-27 12:00:15 +01:00
.zappr.yaml Restore .zappr.yaml (#405) 2018-11-07 13:06:53 +01:00
CODEOWNERS Add Rafia to code owners (#588) 2019-06-14 14:56:40 +02:00
CONTRIBUTING.md Update docs for v1.2 (#609) 2019-07-11 17:19:27 +02:00
LICENSE update copyright in generated code (#779) 2020-01-02 17:34:49 +01:00
MAINTAINERS [WIP] Draft codeowners, update maintainers (#358) 2018-08-06 08:59:00 +02:00
Makefile Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
README.md compile coverage report and add badges. (#1218) 2020-11-16 12:08:28 +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 Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
go.mod Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
go.sum Support EBS gp2 to gp3 migration on sync for below 1tb volumes (#1242) 2020-12-11 15:52:32 +01:00
mkdocs.yml use h1 tags to not render titles in sidebar (#626) 2019-07-19 12:50:39 +02:00
run_operator_locally.sh Add CRD validation (#599) 2019-11-28 12:02:05 +01: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, 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

Community

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

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