You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: crates/openshell-driver-docker/README.md
+8-6Lines changed: 8 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -107,7 +107,7 @@ contract:
107
107
|`PidsLimit`| Enforces the sandbox PID budget at the Docker cgroup layer. `[openshell.drivers.docker].sandbox_pids_limit` defaults to `2048`; explicit `0` is invalid. |
108
108
| CDI GPU request | Uses opaque `driver_config.cdi_devices` values when set; otherwise selects the requested count of NVIDIA CDI GPUs in round-robin order when daemon CDI support is detected. Docker daemon `/info` can permit `nvidia.com/gpu=all` as a WSL2 all-only compatibility fallback, where it counts as one selectable device. Exact CDI device lists must not contain duplicates and must match the effective GPU count. |
109
109
|`policy-dns-transparent-tcp` capability | Declares that the combined Docker supervisor can own namespace-local DNS/TCP capture and coupled workload restart. The shared supervisor still owns DNS eligibility, mappings, authorization, pinned dialing, relaying, and OCSF decisions. The marker is stripped from the workload environment. |
110
-
| CDI context upload| For GPU/CDI sandboxes only, mounts daemon-reported CDI spec directories read-only under`/run/openshell/supervisor/cdi-specs/<n>` and uploads `/run/openshell/supervisor/cdi-context.json` after container create and before start. |
110
+
| CDI context mount| For GPU/CDI sandboxes only, creates a gateway-owned context file and bind-mounts it read-only at`/run/openshell/supervisor/cdi-context.json`; daemon-reported CDI spec directories are mounted read-only under `/run/openshell/supervisor/cdi-specs/<n>`. |
111
111
112
112
The agent child process does not retain these supervisor privileges.
113
113
@@ -118,11 +118,13 @@ CDI device IDs from `driver_config.cdi_devices` or the daemon's discovered CDI
118
118
inventory, then passes the same IDs to Docker with a CDI `DeviceRequest`.
119
119
120
120
When a GPU/CDI request is present, the driver also mounts the Docker
121
-
daemon-reported `Info.CDISpecDirs` into supervisor-only paths and uploads a
122
-
small versioned CDI context through Docker's container archive API. The context
123
-
uses container-side spec paths for resolution and keeps host-side spec sources
124
-
diagnostic-only. If the upload fails, the driver removes the created container
125
-
and sandbox token file before reporting the failure.
121
+
daemon-reported `Info.CDISpecDirs` into supervisor-only paths. Before container
122
+
creation, it writes a small versioned CDI context in gateway-owned state and
123
+
bind-mounts it read-only into the supervisor. The context uses container-side
124
+
spec paths for resolution and keeps host-side spec sources diagnostic-only. If
125
+
context or token creation fails, the driver removes any created state files; if
126
+
container creation or start fails, it also removes the container and state
127
+
files before reporting the failure.
126
128
127
129
The sandbox supervisor resolves the selected IDs from those mounted specs
128
130
before it launches agent processes. CDI device nodes become read-write
0 commit comments