|
1 | 1 | # Posit Connect |
2 | 2 |
|
3 | | -  |
| 3 | +  |
4 | 4 |
|
5 | 5 | #### _Official Helm chart for Posit Connect_ |
6 | 6 |
|
@@ -30,11 +30,11 @@ To ensure reproducibility in your environment and insulate yourself from future |
30 | 30 |
|
31 | 31 | ## Installing the chart |
32 | 32 |
|
33 | | -To install the chart with the release name `my-release` at version 0.8.30: |
| 33 | +To install the chart with the release name `my-release` at version 0.8.31: |
34 | 34 |
|
35 | 35 | ```{.bash} |
36 | 36 | helm repo add rstudio https://helm.rstudio.com |
37 | | -helm upgrade --install my-release rstudio/rstudio-connect --version=0.8.30 |
| 37 | +helm upgrade --install my-release rstudio/rstudio-connect --version=0.8.31 |
38 | 38 | ``` |
39 | 39 |
|
40 | 40 | To explore other chart versions, look at: |
@@ -191,6 +191,44 @@ the API key unset for the Chronicle agent, deploy the chart, create an administr |
191 | 191 | secret with the API key. Once the secret is created, the value of `chronicleAgent.connectApiKey.secretKeyRef` |
192 | 192 | can be set and the release can be upgraded to include the new value. |
193 | 193 |
|
| 194 | +## Execution Environments |
| 195 | + |
| 196 | +This chart supports declarative management of execution environments via |
| 197 | +`ExecutionEnvironments.ConfigFilePath`. Unlike the legacy `launcher.customRuntimeYaml`, |
| 198 | +changes to `executionEnvironments` take effect on every `helm upgrade` without requiring |
| 199 | +a pod restart or database reset. |
| 200 | + |
| 201 | +When `executionEnvironments` is set, the chart renders the list into a dedicated |
| 202 | +ConfigMap and mounts it into the Connect pod. |
| 203 | + |
| 204 | +By default, the chart sets `ExecutionEnvironments.ConfigFilePath` to |
| 205 | +`/etc/rstudio-connect/execution-environments/environments.yaml` and mounts the |
| 206 | +ConfigMap at `/etc/rstudio-connect/execution-environments/`. If you set |
| 207 | +`config.ExecutionEnvironments.ConfigFilePath` to a custom path, the chart uses |
| 208 | +that path instead and mounts the ConfigMap at its parent directory. |
| 209 | + |
| 210 | +The ConfigMap is deliberately not included in the pod's checksum annotations, so |
| 211 | +changes do not trigger a pod restart. The kubelet updates the mounted file |
| 212 | +automatically when the ConfigMap changes (typically within 60-120 seconds), and |
| 213 | +Connect detects the update via file polling. |
| 214 | + |
| 215 | +Example `values.yaml`: |
| 216 | + |
| 217 | +```yaml |
| 218 | +executionEnvironments: |
| 219 | + - name: ghcr.io/my-org/connect-runtime:ubuntu22 |
| 220 | + title: "Default Runtime" |
| 221 | + matching: any |
| 222 | + python: |
| 223 | + installations: |
| 224 | + - version: "3.11.3" |
| 225 | + path: /opt/python/3.11.3/bin/python3 |
| 226 | + r: |
| 227 | + installations: |
| 228 | + - version: "4.4.0" |
| 229 | + path: /opt/R/4.4.0/bin/R |
| 230 | +``` |
| 231 | + |
194 | 232 | ## General principles |
195 | 233 |
|
196 | 234 | - In most places, we opt to pass Helm values over configmaps. We translate these into the valid `.gcfg` file format |
@@ -234,6 +272,7 @@ The Helm `config` values are converted into the `rstudio-connect.gcfg` service c |
234 | 272 | | chronicleAgent.volumeMounts | list | `[]` | Verbatim volumeMounts to attach to the Chronicle agent container | |
235 | 273 | | command | list | `[]` | The pod's run command. By default, it uses the container's default | |
236 | 274 | | config | object | [Posit Connect Configuration Reference](https://docs.posit.co/connect/admin/appendix/off-host/helm-reference/) | A nested map of maps that generates the rstudio-connect.gcfg file | |
| 275 | +| executionEnvironments | list | `[]` (disabled) | Optional list of execution environments to manage declaratively. When set, the chart renders these into a ConfigMap, mounts it into the Connect pod, and sets ExecutionEnvironments.ConfigFilePath in the Connect configuration. Unlike launcher.customRuntimeYaml, changes take effect on every helm upgrade without requiring a pod restart or database reset. | |
237 | 276 | | extraObjects | list | `[]` | Extra objects to deploy (value evaluated as a template) | |
238 | 277 | | fullnameOverride | string | `""` | The full name of the release (can be overridden) | |
239 | 278 | | image | object | `{"imagePullPolicy":"IfNotPresent","imagePullSecrets":[],"repository":"ghcr.io/rstudio/rstudio-connect","tag":"","tagPrefix":"ubuntu2204-"}` | Defines the Posit Connect image to deploy | |
|
0 commit comments