You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This [helm chart](https://small-hack.github.io/cloudnative-pg-tenant-chart/)is intended to be the Cluster helm chart component to the [CloudNativePG operator helm chart](https://github.com/cloudnative-pg/charts).
3
+
This [helm chart](https://small-hack.github.io/cloudnative-pg-tenant-chart/)was intended to be the Cluster helm chart component to the [CloudNativePG operator helm chart](https://github.com/cloudnative-pg/charts/tree/main/charts/cloudnative-pg), but now serves mostly as a wrapper for their official [CloudNativePG cluster helm chart](https://github.com/cloudnative-pg/charts/tree/main/charts/cluster) that provides certificate and test app functionality.
4
4
5
-
Docs autogeneratated from the [values.yaml](charts/cloudnative-pg-cluster/values.yaml) are slowly being put together in the chart directory's [README.md](./charts/cloudnative-pg-cluster/README.md).
5
+
Docs auto-generated from the [values.yaml](charts/cloudnative-pg-cluster/values.yaml) are available in the chart directory's [README.md](./charts/cloudnative-pg-cluster/README.md).
To use this chart you _have_to specify either `bootstrap.initdb.database`/`bootstrap.initdb.owner` OR `bootstrap.recovery.source` in your helm parameters or values.yaml but you can't do both.
24
+
Certificates are generated using [CertManager](https://cert-manager.io/)to bootstrap self-signed CAs, Issuers and certs. To use them, please provide the following via your helm `values.yaml`:
25
25
26
-
You can see checkout the [CloudNativePG docs](https://cloudnative-pg.io/documentation/1.23/bootstrap/) for more info on the bootstrap section.
26
+
```yaml
27
+
# -- name to use for templating certs
28
+
name: "app-postgres"
29
+
30
+
certificates:
31
+
server:
32
+
# -- enable using server certificates
33
+
enabled: true
34
+
# -- generate server certs using cert-manager. if true the following
35
+
# are ignored: certificates.serverTLSSecret, certificates.serverCASecret
36
+
generate: true
37
+
# -- name of existing Kubernetes Secret for the postgresql server TLS cert,
38
+
# ignored if certificates.generate is true
39
+
serverTLSSecret: ""
40
+
# -- name of existing Kubernetes Secret for the postgresql server Certificate
41
+
# Authority cert, ignored if certificates.generate is true
42
+
serverCASecret: ""
43
+
client:
44
+
# -- enable using client certificates
45
+
enabled: true
46
+
# -- generate client certs using cert-manager. if true the following are
## examples if using our certificates features of this chart.
78
+
## NOTE: app-postgres should be replaced with whatever you set Values.name to
79
+
serverTLSSecret: "app-postgres-server-cert"
80
+
serverCASecret: "app-postgres-server-ca-key-pair"
81
+
clientCASecret: "app-postgres-client-ca-key-pair"
82
+
replicationTLSSecret: "app-postgres-client-cert"
83
+
84
+
postgresql:
85
+
# -- records for the pg_hba.conf file. ref: https://www.postgresql.org/docs/current/auth-pg-hba-conf.html
86
+
# this states that certs are required for access to the cluster,
87
+
# but you can change it to still allow passwords if you'd like
88
+
pg_hba:
89
+
- hostnossl all all 0.0.0.0/0 reject
90
+
- hostssl all all 0.0.0.0/0 cert clientcert=verify-full
91
+
```
92
+
93
+
### Using the test app
94
+
95
+
The test app may be enabled by certificates as well as setting `testApp.enabled=true` in your helm parameters or in the `values.yaml` like this:
96
+
```yaml
97
+
testApp:
98
+
enabled: true
99
+
```
100
+
This will create a very basic Deployment of `ghcr.io/cloudnative-pg/webtest` [as described in the official docs](https://cloudnative-pg.io/docs/1.28/ssl_connections#testing-the-connection-via-a-tls-certificate) that attempts to connect to your postgres cluster using full mTLS.
| certificates.client.clientCASecret | string |`""`| name of existing Kubernetes Secret for the postgresql client Certificate Authority cert, ignored if certificates.generate is true |
22
25
| certificates.client.enabled | bool |`false`| enable using client certificates |
23
26
| certificates.client.generate | bool |`false`| generate client certs using cert-manager. if true the following are ignored: certificates.clientCASecret, certificates.replicationTLSSecret |
@@ -28,26 +31,20 @@ Create postgres tenant clusters managed by the CNPG Operator
28
31
| certificates.server.serverTLSSecret | string |`""`| name of existing Kubernetes Secret for the postgresql server TLS cert, ignored if certificates.generate is true |
29
32
| certificates.user.enabled | bool |`false`| create a certificate for a user to connect to postgres using CertManager requires server and client certificate generation enabled |
30
33
| certificates.user.username | list |`["app"]`| List of names of users to create a cert for, eg: the DbOwner specified earlier. This data populated into the commonName field of the certificate. |
31
-
| enableSuperuserAccess | bool |`false`| CNPG disables the postgres superuser by default must be explicitly enabled |
32
-
| externalClusters | list |`[]`||
33
-
| imageCatalog.create | bool |`true`| Whether to provision an image catalog. If imageCatalog.images is empty this option will be ignored. |
34
-
| imageCatalog.images | list |`[]`| List of images to be provisioned in an image catalog. |
35
-
| instances | int |`3`| number of postgres replicas minimum 1 required |
36
-
| managed | object |`{"roles":[]}`| See https://cloudnative-pg.io/documentation/current/cloudnative-pg.v1/#postgresql-cnpg-io-v1-RoleConfiguration for explanation of all options |
37
-
| monitoring.enablePodMonitor | bool |`false`| enable monitoring via Prometheus |
38
-
| name | string |`"cnpg"`||
39
-
| postgresGID | int |`-1`| The GID of the postgres user inside the image, defaults to 26 |
40
-
| postgresUID | int |`-1`| The UID of the postgres user inside the image, defaults to 26 |
41
-
| postgresql.pg_hba | list |`["hostnossl all all 0.0.0.0/0 reject","hostssl all all 0.0.0.0/0 cert clientcert=verify-full"]`| records for the pg_hba.conf file. ref: https://www.postgresql.org/docs/current/auth-pg-hba-conf.html|
| cnpgCluster.cluster.instances | int |`3`| Number of instances |
40
+
| cnpgCluster.enabled | bool |`false`| enable this to deploy the official CNPG cluster helm chart dep All other values here are passed directly to the their chart. See: https://github.com/cloudnative-pg/charts/blob/main/charts/cluster/values.yaml|
41
+
| cnpgCluster.mode | string |`"standalone"`||
42
+
| cnpgCluster.postgresql.pg_hba | list |`["hostnossl all all 0.0.0.0/0 reject","hostssl all all 0.0.0.0/0 cert clientcert=verify-full"]`| records for the pg_hba.conf file. ref: https://www.postgresql.org/docs/current/auth-pg-hba-conf.html|
0 commit comments