Skip to content

Commit d0a39cc

Browse files
authored
Merge pull request #73 from cybertec-postgresql/newReadme
New readme
2 parents a6b166e + e73e936 commit d0a39cc

File tree

2 files changed

+80
-67
lines changed

2 files changed

+80
-67
lines changed

CONTRIBUTING.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
# Contributing guidelines
22

3-
Wanna contribute to the Postgres Operator? Yay - here is how!
3+
Wanna contribute to the cpo? Yay - here is how!
44

55
## Reporting issues
66

77
Before filing an issue, if you have a question about Postgres Operator or have
8-
a problem using it, please read the [concepts](docs/index.md) page or use the
9-
different guides that we provide for [users](docs/user.md),
10-
[developers](docs/developer.md) or [admins](docs/administrator). Also double
11-
check with the current issues on our [Issues Tracker](https://github.com/cybertec-postgresql/cybertec-pg-operator/issues).
8+
a problem using it, please read the [Official Documentation](https://cybertec-postgresql.github.io/CYBERTEC-pg-operator/).
9+
Also double check with the current issues on our [Issues Tracker](https://github.com/cybertec-postgresql/cybertec-pg-operator/issues).
1210

1311
## Contributing a pull request
1412

README.md

Lines changed: 77 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,90 @@
11

2-
# CYBERTEC PG Operator
2+
# CYBERTEC PG Operator (CPO)
33

4-
CPO (CYBERTEC PG Operator) allows you to create and run PostgreSQL clusters on Kubernetes.
4+
**The CYBERTEC PG Operator (CPO)** is a powerful Kubernetes operator that dramatically simplifies the creation and management of highly available **PostgreSQL clusters**.
5+
Fully integrated with GitOps/CI/CD workflows and infrastructure-as-code principles, CPO enables consistent, secure and automated database provisioning - **without direct access to the Kubernetes API**.
56

6-
The operator reduces your efforts and simplifies the administration of your PostgreSQL clusters so that you can concentrate on other things.
7-
<img src="docs/diagrams/cpo_logo.svg" width="350">
7+
![CYBERTEC Logo](docs/diagrams/cpo_logo.svg)
88

9-
The Postgres Operator delivers an easy to run highly-available [PostgreSQL](https://www.postgresql.org/)
10-
clusters on Kubernetes (K8s) powered by [Patroni](https://github.com/zalando/patroni).
11-
It is configured only through Postgres manifests (CRDs) to ease integration into automated CI/CD
12-
pipelines with no access to Kubernetes API directly, promoting infrastructure as code vs manual operations.
9+
---
10+
11+
## Highlights
12+
13+
- **Completely declarative configuration** via custom resources
14+
- Highly available PostgreSQL clusters** with [Patroni](https://github.com/zalando/patroni)
15+
- Seamless integration into CI/CD pipelines** (e.g. ArgoCD, Flux)
16+
- Compatible with OpenShift**
17+
- **Support for cloud & on-prem environments**
18+
19+
---
1320

1421
### Operator features
1522

16-
* Rolling updates on Postgres cluster changes, incl. quick minor version updates
17-
* Live volume resize without pod restarts if supported by the storage-system (PVC)
18-
* Database connection pooling with PGBouncer
19-
* Support fast in place major version upgrade. Supports global upgrade of all clusters.
20-
* Restore and cloning Postgres clusters on PVC, AWS, GCS and Azure
21-
* Standby cluster
22-
* Configurable for non-cloud environments
23-
* Basic credential and user management on K8s, eases application deployments
24-
* Support for custom TLS certificates
25-
* UI to create and edit Postgres cluster manifests
26-
* Support for AWS EBS gp2 to gp3 migration, supporting iops and throughput configuration
27-
* Compatible with OpenShift
28-
29-
### PostgreSQL features
30-
31-
* Supports PostgreSQL 16, starting from 10+
32-
* Streaming replication cluster via Patroni
33-
* Integrated backup solution, automatic backups and very easy restore (Backup & PITR)
34-
* Rolling update procedure for adjustments to the pods and minor updates
35-
* Major upgrade with minimum interruption time
36-
* Reduction of downtime thanks to redundancy, pod anti-affinity, auto-failover and self-healing
37-
* Supports PostgreSQL 16, starting from 10+
38-
* Streaming replication cluster via Patroni
39-
* Point-In-Time-Recovery with
40-
[pg_basebackup](https://www.postgresql.org/docs/16/app-pgbasebackup.html) /
41-
[pgBackRest](https://pgbackrest.org/) via [CYBERTEC-pg-container](https://github.com/cybertec-postgresql/CYBERTEC-pg-container)
42-
[pg_stat_statements](https://www.postgresql.org/docs/16/pgstatstatements.html),
43-
* Incl. popular Postgres extensions such as
44-
[pgaudit](https://github.com/pgaudit/pgaudit),
45-
[pgauditlogtofile](https://github.com/fmbiete/pgauditlogtofile),
46-
<!-- [pg_partman](https://github.com/pgpartman/pg_partman), -->
47-
[postgis](https://postgis.net/),
48-
[set_user](https://github.com/pgaudit/set_user)
49-
[pg_cron](https://github.com/citusdata/pg_cron),
50-
[timescaledb](https://github.com/timescale/timescaledb)
51-
[credcheck](https://github.com/MigOpsRepos/credcheck)
52-
53-
The Operator project is being driven forward by CYBERTEC and is currently in production at various locations.
54-
55-
## Supported Postgres & K8s versions
56-
57-
| Release | Postgres versions | pgBackRest versions | Patroni versions | K8s versions | Golang |
58-
| :-------- | :---------------: | :-------------------: | :--------------: | :----------------:| :-----: |
59-
| 0.8.0 | 13 &rarr; 17 | 2.53 | 4.0.2 | 1.21+ | 1.21.7 |
60-
61-
## Getting started
62-
63-
[Getting started - Documentation](https://cybertec-postgresql.github.io/CYBERTEC-pg-operator/documentation/how-to-use/installation/)
64-
65-
[Tutorials](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials).
23+
- Rolling updates for cluster changes & minor version upgrades
24+
- Live Volume Resize (without pod restarts if supported by storage)
25+
- Database Connection Pooling via **pgBouncer**
26+
- In-place major upgrades of all clusters (fast & secure)
27+
- Backup & restore to PVC, AWS, GCS and Azure
28+
- Client-side backup encryption
29+
- Support for standby clusters & multi-site topologies
30+
- User & credential management at K8s level
31+
- Support for own TLS certificates
32+
- TDE integration** with [CYBERTEC PGEE](https://www.cybertec-postgresql.com/en/products/cybertec-postgresql-enterprise-edition/)
33+
- Migration from AWS EBS `gp2` to `gp3` with IOPS and throughput config
34+
35+
---
36+
37+
## PostgreSQL features
38+
39+
- PostgreSQL 13 to 17
40+
- Streaming replication via **Patroni**
41+
- Fully integrated backup & PITR with `pgBackRest` or `pg_basebackup`
42+
- Extensions like:
43+
- [PostGIS](https://postgis.net/)
44+
- pgAudit](https://github.com/pgaudit/pgaudit)
45+
- TimescaleDB](https://github.com/timescale/timescaledb)
46+
- pg_cron](https://github.com/citusdata/pg_cron)
47+
- credcheck](https://github.com/MigOpsRepos/credcheck)
48+
- set_user](https://github.com/pgaudit/set_user)
49+
- Minimal downtime during upgrades thanks to rolling updates and failover mechanisms
50+
- Self-healing, redundancy and pod anti-affinity for maximum availability
51+
52+
---
53+
54+
## Compatibility
55+
56+
| Release | PostgreSQL | pgBackRest | Patroni | Kubernetes | Go |
57+
|---------|------------|------------|---------|------------|---------|
58+
| 0.8.0 | 13 - 17 | 2.53 | 4.0.2 | 1.21+ | 1.21.7 |
59+
| 0.8.3 | 13 - 17 | 2.54-2 | 4.0.5 | 1.21+ | 1.22.12 |
60+
61+
---
6662

63+
## Getting Started
64+
65+
Want to get started quickly? This way:
66+
67+
- [Quickstart-Guide (documentation)](https://cybertec-postgresql.github.io/CYBERTEC-pg-operator/quickstart/)
68+
- [Tutorials & examples](https://github.com/cybertec-postgresql/CYBERTEC-operator-tutorials)
69+
70+
---
6771

6872
## Documentation
6973

70-
There is a browser-friendly version of this documentation at
71-
[CPO-Documentation](https://cybertec-postgresql.github.io/CYBERTEC-pg-operator/)
74+
You can find the complete and searchable documentation here:
75+
76+
- [Official Documentation](https://cybertec-postgresql.github.io/CYBERTEC-pg-operator/)
77+
78+
---
79+
80+
## Licence
81+
82+
This project is licensed under the **Apache 2.0 licence**. Further information can be found in the [LICENSE](./LICENSE) file.
83+
84+
---
85+
86+
## participate
7287

73-
## Community
88+
Pull requests and feedback are always welcome. Please read our [Contribution Guidelines](CONTRIBUTING.md) in advance if you would like to participate.
7489

75-
Coming soon
90+
---

0 commit comments

Comments
 (0)