Skip to content

feat(k8s-driver): add default_runtime_class_name config for sandbox pods#1729

Merged
mrunalp merged 1 commit into
NVIDIA:mainfrom
sjenning:feat/default-runtime-class-name
Jun 3, 2026
Merged

feat(k8s-driver): add default_runtime_class_name config for sandbox pods#1729
mrunalp merged 1 commit into
NVIDIA:mainfrom
sjenning:feat/default-runtime-class-name

Conversation

@sjenning
Copy link
Copy Markdown
Contributor

@sjenning sjenning commented Jun 3, 2026

Summary

Add a default_runtime_class_name field to the Kubernetes driver config so operators can set a cluster-wide default runtimeClassName for sandbox pods. When a CreateSandbox request does not specify a runtime_class_name, the configured default is applied. Per-request values still take priority.

Related roadmap issue #1720

Changes

  • Added default_runtime_class_name field to KubernetesComputeConfig (defaults to empty string, preserving existing behavior)
  • Threaded the default through SandboxPodParams and applied it as a fallback in sandbox_template_to_k8s()
  • Wired OPENSHELL_K8S_DEFAULT_RUNTIME_CLASS_NAME env var in the standalone driver binary
  • Added Helm value server.defaultRuntimeClassName and conditional TOML rendering
  • Documented the field in docs/reference/gateway-config.mdx

Testing

  • mise run pre-commit passes
  • Unit tests added/updated (5 new tests: config serde, default applied, template overrides default, both empty)
  • E2E tests added/updated (if applicable)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented Jun 3, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@mrunalp
Copy link
Copy Markdown
Collaborator

mrunalp commented Jun 3, 2026

/ok to test 0f18bf7

Allow operators to configure a default Kubernetes runtimeClassName that
is applied to sandbox pods when the CreateSandbox request does not
specify one. This avoids requiring every API caller to explicitly set the
runtime class for clusters that always need a specific RuntimeClass
(e.g. kata-containers, nvidia).

The fallback is applied in the Kubernetes driver only — per-request
values still take priority, and an empty default (the built-in) preserves
existing behavior (field omitted, cluster default applies).
@sjenning sjenning force-pushed the feat/default-runtime-class-name branch from 0f18bf7 to 730ca3f Compare June 3, 2026 22:00
@mrunalp
Copy link
Copy Markdown
Collaborator

mrunalp commented Jun 3, 2026

/ok to test 730ca3f

@mrunalp mrunalp merged commit 5e32403 into NVIDIA:main Jun 3, 2026
28 checks passed
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