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: charts/rstudio-workbench/NEWS.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,26 @@
1
1
# Changelog
2
2
3
+
## 0.10.0
4
+
5
+
- BREAKING: `userPassword` has been replaced by `userPassword.value` or `userPassword.existingSecret`
6
+
- This allows for better secret management and avoids putting passwords in plaintext in `values.yaml`
7
+
- If you were using `userPassword`, you can migrate by setting `userPassword.value` to the same value
8
+
- Alternatively, you can create a Kubernetes secret with the password and set `userPassword.existingSecret` to the name of the secret
9
+
- BREAKING: `launcherPem` has been replaced by `launcherPem.value` or `launcherPem.existingSecret`
10
+
- This allows for better secret management and avoids putting PEM keys in plaintext in `values.yaml`
11
+
- If you were using `launcherPem`, you can migrate by setting `launcherPem.value` to the same value
12
+
- Alternatively, you can create a Kubernetes secret with the PEM key and set `launcherPem.existingSecret` to the name of the secret
13
+
- BREAKING: `secureCookieKey` has been replaced by `secureCookieKey.value` or `secureCookieKey.existingSecret`
14
+
- This allows for better secret management and avoids putting secure cookie keys in plaintext in `values.yaml`
15
+
- If you were using `secureCookieKey`, you can migrate by setting `secureCookieKey.value` to the same value
16
+
- Alternatively, you can create a Kubernetes secret with the secure cookie key and set `secureCookieKey.existingSecret` to the name of the secret
17
+
- BREAKING `global.secureCookieKey` has been replaced by `global.secureCookieKey.value` or `global.secureCookieKey.existingSecret`
18
+
- This allows for better secret management and avoids putting secure cookie keys in plaintext in `values.yaml`
19
+
- If you were using `global.secureCookieKey`, you can migrate by setting `global.secureCookieKey.value` to the same value
20
+
- Alternatively, you can create a Kubernetes secret with the secure cookie key and set `global.secureCookieKey.existingSecret` to the name of the secret
21
+
- Add `config.database.conf` section can be used to configure database settings. Either `config.database.conf.value` or `config.database.conf.existingSecret` can be used to set the database configuration.
22
+
- This can be used instead of specifying the database config values in plain text in `config.secret.database.conf`
@@ -109,7 +109,25 @@ Alternatively, license files can be set during `helm install` with the following
109
109
110
110
Workbench requires a PostgreSQL database when running in Kubernetes. You must configure a [valid connection URI and a password](https://docs.posit.co/ide/server-pro/database/configuration.html#postgresql) for the product to function correctly. Both the connection URI and password may be specified in the `config` section of `values.yaml`. However, we recommend only adding the connection URI and putting the database password in a Kubernetes `Secret`, which can be [automatically set as an environment variable](#database-password).
111
111
112
-
### Database configuration
112
+
### Database configuration the new way:
113
+
You can now specify your database connection details in `config.database.conf` as follows:
the file at `/path/to/password-file` should contain only the password.
155
+
132
156
Second, specify the following in your `values.yaml`:
133
157
134
158
```yaml
@@ -508,6 +532,9 @@ Use of [Sealed secrets](https://github.com/bitnami-labs/sealed-secrets) disables
508
532
| chronicleAgent.workbenchApiKey.value | string | `""` | Workbench API key as a raw string to set as the `CHRONICLE_WORKBENCH_APIKEY` environment variable (not recommended) |
509
533
| chronicleAgent.workbenchApiKey.valueFrom | object | `{}` | Workbench API key as a `valueFrom` reference (ex. a Kubernetes Secret reference) to set as the `CHRONICLE_WORKBENCH_APIKEY` environment variable (recommended) |
510
534
| command | list | `[]` | command is the pod container's run command. By default, it uses the container's default. However, the chart expects a container using `supervisord` for startup |
535
+
| config.database | object | `{"conf":{"existingSecret":"","value":""}}` | a map of database connection config files. Mounted to `/mnt/secret-configmap/rstudio/database.conf` with 0600 permissions |
536
+
| config.database.conf.existingSecret | string | `""` | Secret for database connection config. Will take precedence over `config.database.conf.value`. Key: 'database.conf'|
537
+
| config.database.conf.value | string | `""` | Database connection config. Will only be used if `config.database.conf.existingSecret` is not set. |
511
538
| config.defaultMode.jobJsonOverrides | int | 0644 | default mode for jobJsonOverrides config |
512
539
| config.defaultMode.pam | int | 0644 | default mode for pam scripts |
513
540
| config.defaultMode.prestart | int | 0755 | default mode for prestart config |
@@ -531,7 +558,9 @@ Use of [Sealed secrets](https://github.com/bitnami-labs/sealed-secrets) disables
531
558
| diagnostics | object | `{"directory":"/var/log/rstudio","enabled":false}` | Settings for enabling server diagnostics |
532
559
| extraObjects | list | `[]` | Extra objects to deploy (value evaluated as a template) |
533
560
| fullnameOverride | string | `""` | the full name of the release (can be overridden) |
| global.secureCookieKey.existingSecret | string | `""` | Secret containing secureCookieKey. Will take precedence over `global.secureCookieKey.value`. Key: 'secure-cookie-key'|
563
+
| global.secureCookieKey.value | string | `""` | Will only be used if `global.secureCookieKey.existingSecret` is not set |
535
564
| homeStorage.accessModes | list | `["ReadWriteMany"]` | accessModes defined for the storage PVC (represented as YAML) |
536
565
| homeStorage.create | bool | `false` | whether to create the persistentVolumeClaim for homeStorage |
537
566
| homeStorage.mount | bool | `false` | Whether the persistentVolumeClaim should be mounted (even if not created) |
@@ -563,7 +592,9 @@ Use of [Sealed secrets](https://github.com/bitnami-labs/sealed-secrets) disables
563
592
| launcher.templateValues | object | `{"job":{"annotations":{},"labels":{},"ttlSecondsAfterFinished":null},"pod":{"affinity":{},"annotations":{},"command":[],"containerSecurityContext":{},"defaultSecurityContext":{},"env":[],"ephemeralStorage":{"limit":"","request":""},"extraContainers":[],"hostAliases":[],"imagePullPolicy":"","imagePullSecrets":[],"initContainers":[],"labels":{},"nodeSelector":{},"securityContext":{},"serviceAccountName":"","tolerations":[],"volumeMounts":[],"volumes":[]},"service":{"annotations":{},"labels":{},"type":"ClusterIP"}}` | values that are passed along to the launcher job rendering process as a data object (in JSON). These values are then used within session templates. |
564
593
| launcher.templateValues.pod.command | list | `[]` | command for all pods. This is really not something we should expose and will be removed once we have a better option |
565
594
| launcher.useTemplates | bool | `true` | whether to render and use templates in the job launching process |
566
-
| launcherPem | string | `""` | An inline launcher.pem key. If not provided, one will be auto-generated. See README for more details. |
595
+
| launcherPem | object | `{"existingSecret":"","value":""}` | An inline launcher.pem key. If not provided, one will be auto-generated. See README for more details. |
596
+
| launcherPem.existingSecret | string | `""` | Existing secret containing launcherPem contents. Will take precedence over `launcherPem.value`. Key: 'launcher.pem'|
597
+
| launcherPem.value | string | `""` | An inline launcher.pem key. If not provided, one will be auto-generated. See README for more details. Will only be used if `launcherPem.existingSecret` is not set. |
567
598
| launcherPub | bool | `false` | An inline launcher.pub key to pair with launcher.pem. If `false` (the default), we will try to generate a `launcher.pub` from the provided `launcher.pem` |
568
599
| license.file | object | `{"contents":false,"mountPath":"/etc/rstudio-licensing","mountSubPath":false,"secret":false,"secretKey":"license.lic"}` | the file section is used for licensing with a license file |
569
600
| license.file.contents | bool | `false` | contents is an in-line license file, generally requiring the use of multi-line yaml notation |
@@ -609,7 +640,9 @@ Use of [Sealed secrets](https://github.com/bitnami-labs/sealed-secrets) disables
609
640
| revisionHistoryLimit | int | `10` | The revisionHistoryLimit to use for the pod deployment. Do not set to 0 |
| secureCookieKey.existingSecret | string | `""` | Secret containing secureCookieKey. Will take precedence over `secureCookieKey.value`. Key: 'secure-cookie-key'|
645
+
| secureCookieKey.value | string | `""` | Will only be used if `secureCookieKey.existingSecret` is not set. |
613
646
| securityContext | object | `{}` | |
614
647
| service.annotations | object | `{}` | Annotations for the service, for example to specify [an internal load balancer](https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer) |
615
648
| service.clusterIP | string | `""` | The cluster-internal IP to use with `service.type` ClusterIP |
@@ -646,7 +679,9 @@ Use of [Sealed secrets](https://github.com/bitnami-labs/sealed-secrets) disables
646
679
| topologySpreadConstraints | list | `[]` | An array used verbatim as the pod's "topologySpreadConstraints" definition |
647
680
| userCreate | bool | `false` | userCreate determines whether a user should be created at startup (if true) |
648
681
| userName | string | `"rstudio"` | userName determines the username of the created user |
649
-
| userPassword | string | `"rstudio"` | userPassword determines the password of the created user |
682
+
| userPassword | object | `{"existingSecret":"","value":"rstudio"}` | userPassword determines the password of the created user |
683
+
| userPassword.existingSecret | string | `""` | Existing Secret for userPassword. Will take precedence over `userPassword.value`. Key: 'password'|
684
+
| userPassword.value | string | `"rstudio"` | userPassword determines the password of the created user. Will only be used if `userPassword.existingSecret` is not set. |
650
685
| userUid | string | `"10000"` | userUid determines the UID of the created user |
651
686
| versionOverride | string | `""` | A Workbench version to override the "tag" for the RStudio Workbench image and the session images. Necessary until https://github.com/helm/helm/issues/8194 |
652
687
| xdgConfigDirs | string | `"/mnt/dynamic:/mnt/session-configmap:/mnt/secret-configmap:/mnt/configmap:/mnt/load-balancer/"` | The XDG config dirs (directories where configuration will be read from). Do not change without good reason. |
Copy file name to clipboardExpand all lines: charts/rstudio-workbench/README.md.gotmpl
+25-1Lines changed: 25 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,25 @@ To function, this chart requires the following:
54
54
55
55
Workbench requires a PostgreSQL database when running in Kubernetes. You must configure a [valid connection URI and a password](https://docs.posit.co/ide/server-pro/database/configuration.html#postgresql) for the product to function correctly. Both the connection URI and password may be specified in the `config` section of `values.yaml`. However, we recommend only adding the connection URI and putting the database password in a Kubernetes `Secret`, which can be [automatically set as an environment variable](#database-password).
56
56
57
-
### Database configuration
57
+
### Database configuration the new way:
58
+
You can now specify your database connection details in `config.database.conf` as follows:
0 commit comments