@@ -137,34 +137,38 @@ and stored in a `Secret` with given name.
137
137
Changing a JWT token results in stopping the entire cluster
138
138
and restarting it.
139
139
140
- # ## `spec.ssl.keySecretName : string`
140
+ # ## `spec.tls.caSecretName : string`
141
141
142
142
This setting specifies the name of a kubernetes `Secret` that contains
143
- a PEM encoded server certificate + private key used for all TLS connections
144
- of the ArangoDB servers.
145
- The default value is empty.
143
+ a standard CA certificate + private key used to sign certificates for individual
144
+ ArangoDB servers.
145
+ The default value is empty. TBD
146
146
147
- If you specify a name of a `Secret` that does not exist, a certificate + key is created
148
- using the values of `spec.ssl.serverName` & `spec.ssl.organizationName`
147
+ If you specify a name of a `Secret` that does not exist, a self-signed CA certificate + key is created
149
148
and stored in a `Secret` with given name.
150
149
151
- # ## `spec.ssl.organizationName: string`
150
+ The specified `Secret`, must contain the following data fields :
152
151
153
- This setting specifies the name of an organization that is put in an automatically
154
- generated SSL certificate (see `spec.ssl.keySecretName`).
155
- The default value is empty.
152
+ - ` ca.crt` PEM encoded public key of the CA certificate
153
+ - ` ca.key` PEM encoded private key of the CA certificate
156
154
157
- # ## `spec.ssl.serverName: string`
155
+ # ## `spec.tls.altNames: [] string`
158
156
159
- This setting specifies the name of a server that is put in an automatically
160
- generated SSL certificate (see `spec.ssl.keySecretName`).
161
- Besides this name, the internal DNS names of all ArangoDB servers are added
162
- to the list of valid hostnames of the certificate. It is therefore not possible
163
- to use this feature when scaling the cluster to more servers, since the newly
164
- added servers will not be listed in the certificate.
157
+ This setting specifies a list of alternate names that will be added to all generated
158
+ certificates. These names can be DNS names or email addresses.
165
159
The default value is empty.
166
160
167
- **TODO Really think this through. Restriction does not sound right.**
161
+ # ## `spec.tls.ttl: duration`
162
+
163
+ This setting specifies the time to live of all generated
164
+ server certificates.
165
+ The default value is `2160h` (about 3 month).
166
+
167
+ When the server certificate is about to expire, it will be automatically replaced
168
+ by a new one and the affected server will be restarted.
169
+
170
+ Note : The time to live of the CA certificate (when created automatically)
171
+ will be set to 10 years.
168
172
169
173
# ## `spec.sync.enabled: bool`
170
174
@@ -208,12 +212,26 @@ Possible values are:
208
212
209
213
- ` direct` (default) for direct HTTP connections between the 2 data centers.
210
214
211
- # ## `spec.sync.ssl.keySecretName : string`
215
+ # ## `spec.sync.tls.caSecretName : string`
212
216
213
217
This setting specifies the name of a kubernetes `Secret` that contains
214
- a PEM encoded server certificate + private key used for the TLS connections
215
- of all ArangoSync master servers.
216
- This is a required setting when `spec.sync.enabled` is `true`.
218
+ a standard CA certificate + private key used to sign certificates for individual
219
+ ArangoSync master servers.
220
+
221
+ When no name is specified, it defaults to `<deployment-name>-sync-ca`.
222
+
223
+ If you specify a name of a `Secret` that does not exist, a self-signed CA certificate + key is created
224
+ and stored in a `Secret` with given name.
225
+
226
+ The specified `Secret`, must contain the following data fields :
227
+
228
+ - ` ca.crt` PEM encoded public key of the CA certificate
229
+ - ` ca.key` PEM encoded private key of the CA certificate
230
+
231
+ # ## `spec.sync.tls.altNames: []string`
232
+
233
+ This setting specifies a list of alternate names that will be added to all generated
234
+ certificates. These names can be DNS names or email addresses.
217
235
The default value is empty.
218
236
219
237
# ## `spec.sync.monitoring.tokenSecretName: string`
0 commit comments