feat(drivers): inject local sandbox identity#2335
Conversation
Make Docker and Podman select a validated numeric agent identity and inject it into the supervisor, allowing userless images to run without a baked-in sandbox account.\n\nCloses #2331 Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
|
Thank you for your interest in contributing to OpenShell, @matthewgrossman. This project uses a vouch system for first-time contributors. Before submitting a pull request, you need to be vouched by a maintainer. To get vouched:
See CONTRIBUTING.md for details. |
E2E Test AttestationThe local Docker E2E test passed against the committed implementation. Podman is not installed on this development host; the PR adds the equivalent test to the repository's rootless Podman E2E lane.
Test SummaryTests Executed
The fixture asserts that the image contains neither a named |
|
Thank you for your interest in contributing to OpenShell, @matthewgrossman. This project uses a vouch system for first-time contributors. Before submitting a pull request, you need to be vouched by a maintainer. To get vouched:
See CONTRIBUTING.md for details. |
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
|
🌿 Preview your docs: https://nvidia-preview-pr-2335.docs.buildwithfern.com/openshell |
Summary
Make the Docker and Podman compute drivers choose and inject a validated numeric agent identity at runtime, so OpenShell-managed sandboxes no longer require a baked-in
sandboxuser or group. The supervisor now presents the same numeric identity and/sandboxhome consistently for primary and SSH-launched agent processes.Related Issue
Closes #2331
Changes
10001:10001, support operator overrides, validate both values against the policy identity range, and override image/user-supplied identity environment variables.HOME,USER, andLOGNAMEconsistently when dropping to a numeric identity.USERis not authoritative for an OpenShell-managed agent.Deviations from Plan
Local Docker validation completed. Podman is not installed on this development host, so the new Podman E2E target was compiled locally and is left to the repository's rootless Podman CI lane for runtime validation.
Testing
mise run pre-commitpassesTests added:
custom_imagecompile.docker_sandbox_from_userless_dockerfilepasses locally;podman_sandbox_from_userless_imageis covered by rootless Podman CI.Checklist
Documentation updated:
architecture/compute-runtimes.mdandarchitecture/sandbox.md: runtime identity ownership and flow.