Skip to content

PCT: Change the Connect default to use OHE #672

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion charts/rstudio-connect/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: rstudio-connect
description: Official Helm chart for Posit Connect
version: 0.7.25
version: 0.8.0
apiVersion: v2
appVersion: 2025.04.0
icon: https://rstudio.com/wp-content/uploads/2018/10/RStudio-Logo-Flat.png
Expand Down
7 changes: 7 additions & 0 deletions charts/rstudio-connect/NEWS.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Changelog

## 0.8.0

- BREAKING: Connect now runs in [Off-Host Execution (OHE) mode](https://docs.posit.co/connect/admin/getting-started/off-host-install/) by default.
- `launcher.enabled` now defaults to `true` instead of `false`
- `securityContext` now defaults to `{}` instead of `securityContext.privileged: true`
- If you would like to run Connect not in OHE mode using the previous defaults then set the following in your values.yaml. `launcher.enabled: false` and `securityContext.privileged: true`.

## 0.7.25

- Bump Connect version to 2025.04.0
Expand Down
17 changes: 12 additions & 5 deletions charts/rstudio-connect/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Posit Connect

![Version: 0.7.25](https://img.shields.io/badge/Version-0.7.25-informational?style=flat-square) ![AppVersion: 2025.04.0](https://img.shields.io/badge/AppVersion-2025.04.0-informational?style=flat-square)
![Version: 0.8.0](https://img.shields.io/badge/Version-0.8.0-informational?style=flat-square) ![AppVersion: 2025.04.0](https://img.shields.io/badge/AppVersion-2025.04.0-informational?style=flat-square)

#### _Official Helm chart for Posit Connect_

Expand Down Expand Up @@ -30,11 +30,11 @@ To ensure reproducibility in your environment and insulate yourself from future

## Installing the chart

To install the chart with the release name `my-release` at version 0.7.25:
To install the chart with the release name `my-release` at version 0.8.0:

```{.bash}
helm repo add rstudio https://helm.rstudio.com
helm upgrade --install my-release rstudio/rstudio-connect --version=0.7.25
helm upgrade --install my-release rstudio/rstudio-connect --version=0.8.0
```

To explore other chart versions, look at:
Expand All @@ -43,6 +43,13 @@ To explore other chart versions, look at:
helm search repo rstudio/rstudio-connect -l
```

## Upgrade guidance

### 0.8.0

- When upgrading to version 0.8.0 or later, Connect now runs in [Off-Host Execution mode](https://docs.posit.co/connect/admin/getting-started/off-host-install/) by default
- If you desire to run Connect not in Off-Host Execution mode, then set `securityContext.privileged: true` and `launcher.enabled: false`

## Required configuration

To function, this chart requires the following:
Expand Down Expand Up @@ -174,7 +181,7 @@ The Helm `config` values are converted into the `rstudio-connect.gcfg` service c
| launcher.defaultInitContainer.securityContext | object | `{}` | The securityContext for the default initContainer |
| launcher.defaultInitContainer.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. |
| launcher.defaultInitContainer.tagPrefix | string | `"ubuntu2204-"` | A tag prefix for the Content InitContainer image (common selections: jammy-, ubuntu2204-). Only used if tag is not defined |
| launcher.enabled | bool | `false` | Whether to enable the launcher |
| launcher.enabled | bool | `true` | Whether to enable the launcher |
| launcher.extraTemplates | object | `{}` | extra templates to render in the template directory. |
| launcher.includeDefaultTemplates | bool | `true` | whether to include the default `job.tpl` and `service.tpl` files included with the chart |
| launcher.includeTemplateValues | bool | `true` | whether to include the templateValues rendering process |
Expand Down Expand Up @@ -225,7 +232,7 @@ The Helm `config` values are converted into the `rstudio-connect.gcfg` service c
| readinessProbe | object | `{"enabled":true,"failureThreshold":3,"httpGet":{"path":"/__ping__","port":3939},"initialDelaySeconds":3,"periodSeconds":3,"successThreshold":1,"timeoutSeconds":1}` | Used to configure the container's readinessProbe. Only included if enabled = true |
| replicas | int | `1` | The number of replica pods to maintain for this service |
| resources | object | `{}` | Defines resources for the rstudio-connect container |
| securityContext | object | `{"privileged":true}` | Values to set the `securityContext` for Connect container. It must include "privileged: true" or "CAP_SYS_ADMIN" when launcher is not enabled. If launcher is enabled, this can be removed with `securityContext: null` |
| securityContext | object | `{}` | Values to set the `securityContext` for the Connect container. It must include "privileged: true" or "CAP_SYS_ADMIN" when launcher is not enabled. If launcher is enabled, this can be removed with `securityContext: {}` |
| 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) |
| service.clusterIP | string | `""` | The cluster-internal IP to use with `service.type` ClusterIP |
| service.loadBalancerIP | string | `""` | The external IP to use with `service.type` LoadBalancer, when supported by the cloud provider |
Expand Down
7 changes: 7 additions & 0 deletions charts/rstudio-connect/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@

{{ template "rstudio.install" . }}

## Upgrade guidance

### 0.8.0

- When upgrading to version 0.8.0 or later, Connect now runs in [Off-Host Execution mode](https://docs.posit.co/connect/admin/getting-started/off-host-install/) by default
- If you desire to run Connect not in Off-Host Execution mode, then set `securityContext.privileged: true` and `launcher.enabled: false`

## Required configuration

To function, this chart requires the following:
Expand Down
9 changes: 4 additions & 5 deletions charts/rstudio-connect/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,9 @@ license:
# -- secret is an existing secret with a license file in it
secret: false

# -- Values to set the `securityContext` for Connect container. It must include "privileged: true" or "CAP_SYS_ADMIN" when
# launcher is not enabled. If launcher is enabled, this can be removed with `securityContext: null`
securityContext:
privileged: true
# -- Values to set the `securityContext` for the Connect container. It must include "privileged: true" or "CAP_SYS_ADMIN" when
# launcher is not enabled. If launcher is enabled, this can be removed with `securityContext: {}`
securityContext: {}

prometheus:
# -- The parent setting for whether to enable prometheus metrics. Default is to use the built-in product exporter
Expand Down Expand Up @@ -263,7 +262,7 @@ ingress:

launcher:
# -- Whether to enable the launcher
enabled: false
enabled: true
# -- The namespace to launch sessions into. Uses the Release namespace by default
namespace: ""
# -- Optional. The runtime.yaml definition of Kubernetes runtime containers. Defaults to "base", which pulls in the default
Expand Down
7 changes: 7 additions & 0 deletions ci/rstudio-connect/install/license-file-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,10 @@ license:
file:
secret: pct-license
secretKey: pct.lic

# a PVC is required for Connect to run in OHE (now the default)
sharedStorage:
create: true
# normally this should be ReadWriteMany, setting just for CI
accessModes:
- ReadWriteOnce