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
Copy file name to clipboardExpand all lines: docs/hugo/content/en/crd/crd-postgresql.md
+5-4Lines changed: 5 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ weight: 331
57
57
| spiloRunAsUser | int | false | Sets the user ID which should be used in the container to run the process. This must be set to run the container without root. |
58
58
|[standby](#standby)| map | false | Enables the creation of a standby cluster at the time of the creation of a new cluster |
59
59
|[streams](#streams)| array | false | Enables change data capture streams for defined database tables |
60
-
|[tde](#tde)| map | false | Enables the activation of TDE if a new cluster is created|
60
+
|[tde](#tde)| map | false | Enables TDE and allows you to define options such as key bits.|
61
61
| teamId | string | true | name of the team the cluster belongs to. Will be removed soon |
| [tolerations](#tolerations) | array | false | a list of tolerations that apply to the cluster pods. Each element of that list is a dictionary with the following fields:
| keybits | integer | 256 | used to specify the key length in bits. Accepted values are 128, 192 and 256 (default). More Informations: [PGEE-Documentation](https://repository.cybertec.at/doc/18ee/encryption.html)|
Copy file name to clipboardExpand all lines: docs/hugo/content/en/tde/_index.md
+48-3Lines changed: 48 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ Further information on TDE and PGEE can be found here: [CYBERTEC TDE](https://ww
27
27
28
28
## Securing clusters with TDE
29
29
30
-
The CYBERTEC pg operator, together with Patroni, takes over the setup and administration of the TDE functionality in conjunction with the cost-effective PGEE containers
30
+
The CYBERTEC-pg-operator, together with Patroni, takes over the setup and administration of the TDE functionality in conjunction with the cost-effective PGEE containers
31
31
32
32
### Preconditions
33
33
- CYBERTEC-pgee-container
@@ -36,7 +36,7 @@ The CYBERTEC pg operator, together with Patroni, takes over the setup and admini
36
36
### Deploy a TDE-Cluster
37
37
38
38
Setting up a TDE cluster is basically the same as setting up a conventional cluster.
39
-
The only difference is the defined Postgres. container and the object TDE.enabled: true, which instructs the operator to initialise the database with the TDE functionality.
39
+
The only difference is the defined Postgres-container and the object TDE.enabled: true, which instructs the operator to initialise the database with the TDE functionality.
40
40
41
41
```yaml
42
42
apiVersion: cpo.opensource.cybertec.at/v1
@@ -58,20 +58,65 @@ spec:
58
58
memory: 500Mi
59
59
tde:
60
60
enable: true
61
+
keybits: 256
61
62
teamId: acid
62
63
volume:
63
64
size: 5Gi
64
65
```
65
66
- `dockerImage` - Must contain a PostgreSQL image of the pgee container suite
66
67
- `tde.enabled`- initialises the DB with TDE
68
+
- `tde.keybits`- Defines keylength in bits. Possible Values: 128,192,256 Default: 256
67
69
68
70
{{< hint type=important >}} Please note that the activation of TDE is only possible when creating new clusters. Subsequent activation is not possible. {{< /hint >}}
69
71
72
+
### Key-Management
73
+
74
+
For TDE, we or the operator must work with the required encryption key. The key is transferred to the Postgres containers using a secret. There are two basic options for the necessary key management.
75
+
76
+
#### Automatic key generation (default)
77
+
If no existing secret is provided, the operator automatically generates a cryptographically secure key when creating a new cluster. This is stored in the secret in the cluster's namespace.
78
+
79
+
It is important to note for key management that TDE allows you to choose from the available key lengths (128 bit, 192 bit, 256 bit). By default, the operator chooses 256 bit. The keybits parameter allows you to adjust this if desired. See [CRD](crd/crd-postgresql).
80
+
Further information on TDE can also be found in the [PGEE-Documentation](https://repository.cybertec.at/doc/18ee/encryption.html)
81
+
82
+
#### Use of your own keys (Bring Your Own Key)
83
+
You have the option of defining your own encryption key before the cluster is created.
84
+
To do this, create a secret with the desired key in advance.
85
+
When starting, the operator checks whether a corresponding secret already exists and uses this instead of a newly generated key.
86
+
Use case: This enables the integration of external secret store solutions (e.g. HashiCorp Vault) to stream or synchronise keys directly into the Kubernetes secret.
87
+
88
+
{{< hint type=important >}} If you provide your own key, you must ensure that the length of the key (in bytes) matches the configured keybits exactly.
89
+
| keybits | Keylength (Byte) | Notes |
90
+
| -------- |:----------------:| --------------:|
91
+
| 128 | 16 Byte | |
92
+
| 192 | 24 Byte | |
93
+
| 256 | 32 Byte | (Default) |
94
+
95
+
A discrepancy between the configured bit length and the actual byte length of the provided key will result in errors when starting the database.
96
+
{{< /hint >}}
97
+
98
+
The secret name follows the following fixed naming convention: [CLUSTERNAME]-tde
0 commit comments