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
|`cap_drop = ALL`, no `cap_add`, no-new-privileges | Prevents either container from acquiring Linux capabilities. |
74
74
| Docker default seccomp and AppArmor profiles | Retains runtime hardening; startup confirmation fails closed if nested seccomp notification is unavailable. |
75
75
|`network_mode = none` on the workload | Removes direct external routes. |
76
-
|Driver-owned bridge on the supervisor | Lets the trusted supervisor originate approved gateway and upstream connections and use Docker service discovery. |
76
+
|`network_mode = host`on the supervisor | Lets the trusted supervisor reach the gateway's primary loopback listener and originate approved upstream connections. |
|`PidsLimit`| Applies the configured sandbox PID budget. Omit `sandbox_pids_limit` to use OpenShell's default. Explicit zero is invalid. |
79
79
| Private named volumes | One carries the authenticated sandbox/supervisor channel. The other is mounted only into the supervisor and contains its JWT and private gateway credentials. |
@@ -128,22 +128,25 @@ dynamically linked glibc `/openshell-supervisor` binary that runs in the
128
128
host-networked supervisor container. Release and gateway image builds bake
129
129
matching image tags into the binary.
130
130
131
-
## Callback and TLS
131
+
## Gateway session and TLS
132
132
133
133
`OPENSHELL_ENDPOINT` and gateway authentication material are injected only into
134
134
the supervisor companion. The workload never receives the sandbox JWT, gateway
135
135
client TLS key, policy authority, or interception CA private key.
136
136
137
-
When no endpoint is configured, the driver derives
138
-
`host.openshell.internal:<gateway-port>`. Native Linux uses the managed bridge
139
-
gateway. Docker Desktop and compatible VM-backed daemons use Docker's
140
-
`host-gateway` route. A configured HTTPS server certificate must include the
137
+
When no endpoint is configured, the supervisor connects to
138
+
`127.0.0.1:<gateway-port>`. Set `grpc_endpoint` when the gateway is not on the
139
+
Docker daemon host. A configured HTTPS server certificate must include the
141
140
endpoint host in its subject alternative names.
142
141
143
-
The driver pins a concrete managed-bridge address in the sandbox descriptor.
144
-
For Docker's special `host-gateway` route, it leaves the address unpinned so
145
-
the supervisor resolves the driver-injected alias in its own container. This
146
-
avoids treating the Docker VM's loopback as the desktop host.
142
+
The driver publishes host loopback as the backend address for
143
+
`host.openshell.internal`. Policy DNS resolves that reserved name through the
144
+
mediated path, so policies can reach host services without a Docker bridge,
145
+
container DNS alias, or another gateway listener.
146
+
147
+
Docker Engine on Linux supports host networking directly. Docker Desktop
148
+
requires host networking to be enabled in Settings and does not support it
149
+
when Enhanced Container Isolation is enabled.
147
150
148
151
The supervisor owns these security-critical variables:
0 commit comments