Skip to content

feat(policy): allow non-root sandbox identities - #2785

Merged
drew merged 1 commit into
mainfrom
codex/2707-allow-nonroot-identities
Aug 19, 2026
Merged

feat(policy): allow non-root sandbox identities#2785
drew merged 1 commit into
mainfrom
codex/2707-allow-nonroot-identities

Conversation

@drew

@drew drew commented Aug 17, 2026

Copy link
Copy Markdown
Collaborator

Summary

Allow explicitly selected sandbox workload UID/GID values across the full usable non-root Linux range instead of imposing an arbitrary system-user cutoff. Root and the invalid identity sentinel remain rejected, while the egress-exempt Kubernetes proxy UID retains its stricter infrastructure boundary.

This is a simpler alternative to #2737: it requires no new gateway configuration or min/max propagation.

Related Issue

Fixes #2707

Changes

  • accept explicit workload UID/GID values from 1 through 4294967294
  • continue rejecting root (0) and the Linux invalid-ID sentinel (4294967295)
  • preserve the dedicated Kubernetes proxy UID minimum of 1000
  • update driver, supervisor, network-init, and OpenShift SCC coverage
  • document permission-collision risks for low numeric identities
  • synchronize architecture guidance and related agent skills

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (queued through test:e2e and test:e2e-kubernetes)
  • mise run test passes
  • mise run ci passes in a clean system-gateway filesystem view

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew
drew requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners August 17, 2026 23:26
@drew drew added test:e2e Requires end-to-end coverage test:e2e-kubernetes Requires Kubernetes end-to-end coverage labels Aug 17, 2026
@github-actions

Copy link
Copy Markdown

Label test:e2e applied for b7ec28b. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

1 similar comment
@github-actions

Copy link
Copy Markdown

Label test:e2e applied for b7ec28b. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@github-actions

Copy link
Copy Markdown

Label test:e2e-kubernetes applied for b7ec28b. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute Kubernetes HA and credential-driver E2E after building the required gateway and supervisor images once. This is an optional proof-of-life suite; failures are visible in the workflow run but do not publish a required CI gate status.

1 similar comment
@github-actions

Copy link
Copy Markdown

Label test:e2e-kubernetes applied for b7ec28b. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute Kubernetes HA and credential-driver E2E after building the required gateway and supervisor images once. This is an optional proof-of-life suite; failures are visible in the workflow run but do not publish a required CI gate status.

@github-actions

Copy link
Copy Markdown

@drew drew removed the test:e2e-kubernetes Requires Kubernetes end-to-end coverage label Aug 18, 2026
@drew drew removed the test:e2e Requires end-to-end coverage label Aug 19, 2026
@drew
drew added this pull request to the merge queue Aug 19, 2026
Merged via the queue into main with commit 998db04 Aug 19, 2026
135 of 148 checks passed
@drew
drew deleted the codex/2707-allow-nonroot-identities branch August 19, 2026 21:57
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.

Support low numeric UID and GID values.

2 participants