Skip to content

pwb: Add top-level components key with Positron#818

Draft
bschwedler wants to merge 2 commits intomainfrom
worktree-workbench-session-init
Draft

pwb: Add top-level components key with Positron#818
bschwedler wants to merge 2 commits intomainfrom
worktree-workbench-session-init

Conversation

@bschwedler
Copy link
Copy Markdown
Contributor

@bschwedler bschwedler commented Mar 26, 2026

Summary

Default the chart to using workbench-session and workbench-session-init containers, and add support for updating the Positron IDE version independently of a Workbench release.

  • Add top-level components key with enabled toggle (default true) for session component init containers
  • Configure rserver.conf with launcher-sessions-auto-update and launcher-sessions-init-container-image-{name,tag} when both launcher and components are enabled
  • Add components.positron for Positron init container; set version to enable, image.tag to override for custom builds
  • Positron init container attaches to server pod and configures rserver.conf for session pod injection
  • When launcher is disabled, components are silently ignored
  • To revert to the previous behavior, set session.image.repository: rstudio/r-session-complete and components.enabled: false
  • Bump chart version to 0.11.0 (breaking change)

@bschwedler bschwedler force-pushed the worktree-workbench-session-init branch 2 times, most recently from 9813ec3 to 508d490 Compare March 26, 2026 14:46
Comment on lines +54 to +56
{{- $_ := set $defaultRServerConfigValues "launcher-sessions-auto-update" 1 }}
{{- $_ := set $defaultRServerConfigValues "launcher-sessions-init-container-image-name" .Values.session.components.sessionInit.repository }}
{{- $_ := set $defaultRServerConfigValues "launcher-sessions-init-container-image-tag" $initTag }}
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar config values required for the positron init container

launcher-positron-init-container-enabled
launcher-positron-init-container-image-name
launcher-positron-init-container-image-tag

Comment on lines +130 to +134
session:
image:
repository: "rstudio/r-session-complete"
components:
enabled: false
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using this structure for the workbench-positron-init container does not really make sense.

That init container needs to be included in both the workbench pod AND the session pod.

@bschwedler bschwedler changed the title Use workbench session init by default pwb: Add top-level components key with Positron Mar 31, 2026
@bschwedler bschwedler force-pushed the worktree-workbench-session-init branch from 508d490 to be121d9 Compare March 31, 2026 19:44
bschwedler and others added 2 commits March 31, 2026 14:47
Default the chart to using workbench-session and
workbench-session-init containers.

- Add top-level `components` key with `enabled` toggle
  (default true) for session component init containers
- Configure rserver.conf with launcher-sessions-auto-update
  and launcher-sessions-init-container-image-{name,tag}
  when both launcher and components are enabled
- sessionInit image tag defaults to appVersion; can be
  overridden via components.sessionInit.image.tag
- When launcher is disabled, components are silently ignored
- Bump chart version to 0.11.0 (breaking change)
Add support for updating the Positron IDE version independently
of a Workbench release. A default Positron version is already
delivered by the workbench-session-init container; this allows
overriding it with a specific version.

- Add components.positron with version and image sub-keys
- Configure rserver.conf with positron init container settings
  when components.positron.version is set
- Attach positron-init container to server pod with emptyDir
  volume mounted at the version-specific path
- image.tag defaults to the positron version but can be
  overridden independently for custom builds

Co-authored-by: Skye Turriff <turriff.skye@gmail.com>
@bschwedler bschwedler force-pushed the worktree-workbench-session-init branch from be121d9 to 209c798 Compare March 31, 2026 19:50
Copy link
Copy Markdown
Contributor

@skyeturriff skyeturriff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this looks awesome! just one minor comment!


### Positron

To enable Positron IDE support, set a Positron version under `components.positron`:
Copy link
Copy Markdown
Contributor

@skyeturriff skyeturriff Apr 1, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might want to adjust wording here, it kind of sounds like Positron won't work without it. Something closer to what was added to the NEWS entry would make sense I think.

Suggested change
To enable Positron IDE support, set a Positron version under `components.positron`:
Positron IDE is available by default. The `workbench-session-init` container delivers a bundled Positron version alongside other session components.
To update Positron independently of a Workbench release, set a version under `components.positron`:
components:
positron:
version: "2026.03.0"
This attaches a separate init container that delivers the specified Positron version and its documentation, overriding the bundled version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants