Skip to content

docs: scheduler securityContext.fsGroup is opt-in (OpenShift)#5219

Draft
nelson-parente wants to merge 2 commits into
dapr:v1.19from
nelson-parente:docs/scheduler-fsgroup-openshift
Draft

docs: scheduler securityContext.fsGroup is opt-in (OpenShift)#5219
nelson-parente wants to merge 2 commits into
dapr:v1.19from
nelson-parente:docs/scheduler-fsgroup-openshift

Conversation

@nelson-parente

Copy link
Copy Markdown
Contributor

Summary

Documents that dapr_scheduler.securityContext.fsGroup is opt-in as of Dapr 1.19 (previously hardcoded to 65532).

  • Standard Kubernetes: Set dapr_scheduler.securityContext.fsGroup=65532 if your storage provisioner does not grant write access automatically; the kubelet will chown the volume on mount.
  • OpenShift: Leave fsGroup unset — OpenShift assigns one automatically from the project's SCC range. An explicit value overrides that assignment and can prevent the pod from starting.

The note is placed in a new Persistent Volume Write Access (fsGroup) subsection inside Production Setup, immediately before the existing Storage Class subsection, since both concern PV configuration.

Targets Dapr 1.19.

Code: dapr/dapr#10112
Relates to: dapr/dapr#8885

Signed-off-by: nelson.parente <nelson_parente@live.com.pt>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds Kubernetes documentation clarifying that dapr_scheduler.securityContext.fsGroup became opt-in starting in Dapr 1.19, with platform-specific guidance (set it on “standard” Kubernetes when needed for PV write access; leave it unset on OpenShift to avoid SCC fsGroup conflicts).

Changes:

  • Introduces a new Persistent Volume Write Access (fsGroup) subsection under Production Setup.
  • Provides Dapr CLI and Helm examples for explicitly setting dapr_scheduler.securityContext.fsGroup=65532 when required.
  • Adds OpenShift-specific guidance to leave fsGroup unset and includes a note about storage providers that already handle ownership.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


### Persistent Volume Write Access (fsGroup)

The Scheduler process runs as a non-root user (UID/GID `65532`). For the mounted persistent volume to be writable by that process, the Kubernetes kubelet must chown the volume to the correct group, which it does when an `fsGroup` is set in the pod's `securityContext`.

The Scheduler process runs as a non-root user (UID/GID `65532`). For the mounted persistent volume to be writable by that process, the Kubernetes kubelet must chown the volume to the correct group, which it does when an `fsGroup` is set in the pod's `securityContext`.

As of Dapr 1.19, `dapr_scheduler.securityContext.fsGroup` is **opt-in** (no default value). Previously it was hardcoded to `65532`, which caused problems on OpenShift, where each project's Security Context Constraints (SCC) assigns its own `fsGroup` from an allowed range, making an explicit value invalid.
…review)

Signed-off-by: Nelson Parente <nelson_parente@live.com.pt>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated no new comments.

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.

2 participants