feat(drivers): support docker and podman config mounts#1785
Conversation
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
|
🌿 Preview your docs: https://nvidia-preview-pr-1785.docs.buildwithfern.com/openshell |
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
|
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. |
| #[derive(Debug, Clone, serde::Deserialize)] | ||
| #[serde(tag = "type", rename_all = "snake_case", deny_unknown_fields)] | ||
| enum DockerDriverMountConfig { | ||
| Volume { |
There was a problem hiding this comment.
My first quick thought here: This means that users will have to create a local named volume to mount host paths that they're interested in. Is this the intent? If so, we may want to: 1) Add documentation or an example to cover this, and 2) ensure that the checks we have in place also align with this expectation.
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
|
/ok to test 113bbea |
|
|
||
| For GPU-backed Docker sandboxes, configure Docker CDI before starting the gateway so OpenShell can detect the daemon capability. | ||
|
|
||
| ### Docker Driver Config Mounts |
There was a problem hiding this comment.
My understanding was that we were going to provide this functionality with warnings attached. Did we want to add these here (or elsewhere in the docs) explicitly?
| #[derive(Debug, Clone, serde::Deserialize)] | ||
| #[serde(tag = "type", rename_all = "snake_case", deny_unknown_fields)] | ||
| enum PodmanDriverMountConfig { | ||
| Volume { |
There was a problem hiding this comment.
Question: Is there any benefit in reusing the structs between Docker and Podman (I've been doing this for some of the CDI handling), or are there sufficient differences between how these are handled?
Summary
Adds driver-config mount support for local Docker and Podman sandboxes. Docker accepts existing named volumes and tmpfs mounts; Podman accepts existing named volumes, tmpfs mounts, and image mounts. Host bind mounts remain out of the driver-config schema, and NFS is supported through pre-created runtime-managed named volumes.
Related Issue
N/A. Follow-up to #1744.
Changes
--driver-config-json.Testing
mise run pre-commitpassesChecklist