rstudio / rstudio/helm

suppressStdinAnnotation has no effect — job.tpl checks limitStdinAnnotation instead

Open Beginner friendly
#861 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

team: launcher team: workbench
Dominant language
Markdown
Stars
46
Forks
40
Avg merge
4h 3m
Merged PRs (30d)
6

Description

Description

The launcher.templateValues.pod.suppressStdinAnnotation value introduced in the chart has no effect because job.tpl checks for limitStdinAnnotation instead of suppressStdinAnnotation, causing the stdin pod annotation to always be written regardless of the configured value.

Expected behavior:
Setting suppressStdinAnnotation: true should suppress the stdin pod annotation which contains sensitive session data including TLS private keys, session cookies and signing keys.
Actual behavior:
The stdin annotation is always written to session pod metadata regardless of the suppressStdinAnnotation value, exposing sensitive data in kubectl describe, audit logs and monitoring tools like Grafana/Loki.
Environment:
Chart version: rstudio-workbench-0.11.1
App version: 2026.04.0
Kubernetes: OpenShift

Steps to reproduce:

  1. Set suppressStdinAnnotation: true in values.yaml
  2. Deploy/upgrade the chart
  3. Start a new Workbench session
  4. Inspect the session pod annotations
  5. The stdin annotation is still present despite suppressStdinAnnotation: true

Changes

Root cause:
In job.tpl the condition reads:

{{- if not $templateData.pod.limitStdinAnnotation }}
stdin: {{ toYaml .Job.stdin | indent 8 | trimPrefix (repeat 8 " ") }}
{{- end }}

Suggested fix
rename the field in the condition job.tpl from limitStdinAnnotation to suppressStdinAnnotation
this issue is related to the changes in https://github.com/rstudio/helm/pull/842

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading job.tpl and comparing its condition with the suppressStdinAnnotation value described in the issue. Render or deploy the chart with suppressStdinAnnotation set to true and verify that the session pod has no stdin annotation; also confirm the annotation remains available when the value is false.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
devops, infrastructure
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.