Fredrik Østrem 9ddee8f302 Use cryptographically secure password generation (#854)
The current password generation algorithm is extremely deterministic, due to being based on the standard random number generator with a deterministic seed based on the current Unix timestamp (in seconds).

This can lead to a number of security issues, including:

The same passwords being used in different Kubernetes clusters if the operator is deployed in parallel. (This issue was discovered because of four deployments having the same generated passwords due to automatically being deployed in parallel.)
The passwords being easily guessable based on the time the operator pod started when the database was created. (This would typically be present in logs, metrics, etc., that may typically be accessible to more people than should have database access.)
Fix this issue by replacing the current randomness source with crypto/rand, which should produce cryptographically secure random data that is virtually unguessable. This will avoid both of the above problems as each deployment will be guaranteed to have unique, indeterministic passwords.
2020-03-18 10:28:39 +01:00
2020-03-11 11:32:13 +01:00
2019-12-10 14:54:12 +01:00
2020-02-24 17:48:14 +01:00
2019-06-05 17:07:27 +02:00
2019-11-28 17:39:25 +01:00
2018-11-27 12:00:15 +01:00
2018-11-07 13:06:53 +01:00
2019-06-14 14:56:40 +02:00
2019-07-11 17:19:27 +02:00
2019-12-12 17:27:40 +01:00

Postgres Operator

Build Status Coverage Status Go Report Card GoDoc golangci

The Postgres Operator enables highly-available PostgreSQL clusters on Kubernetes (K8s) powered by Patroni. It is configured only through manifests to ease integration into automated CI/CD pipelines with no access to Kubernetes directly.

Operator features

  • Rolling updates on Postgres cluster changes
  • Volume resize without Pod restarts
  • Cloning Postgres clusters
  • Logical Backups to S3 Bucket
  • Standby cluster from S3 WAL archive
  • Configurable for non-cloud environments
  • UI to create and edit Postgres cluster manifests

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.

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
S
Description
Postgres operator creates and manages PostgreSQL clusters running in Kubernetes
Readme
116 MiB
Languages
Go 76.5%
Python 13.4%
Pug 5.9%
Shell 2%
JavaScript 0.7%
Other 1.5%