@@ -47,8 +47,7 @@ Cargo cannot subtract a single default feature, so each of the three binary
4747crates also defines a ` defaults-without-telemetry ` alias listing every default
4848except ` telemetry ` . Telemetry-free builds use
4949` --no-default-features --features defaults-without-telemetry ` and stay correct
50- as the default set grows, instead of dropping unrelated defaults the way a bare
51- ` --no-default-features ` does on ` openshell-sandbox ` . The alias is a keep-list,
50+ as the default set grows. The alias is a keep-list,
5251not a switch: enabling it on top of the defaults would otherwise yield a
5352telemetry-on binary that reads as telemetry-free, so each crate root carries a
5453` compile_error! ` for the ` telemetry ` + ` defaults-without-telemetry ` combination.
@@ -63,7 +62,7 @@ roots through `webpki-roots` plus locally-installed CAs from the system bundle.
6362Building without ` bundled-ca-roots ` switches to the platform trust store via
6463` rustls-native-certs ` and excludes bundled Mozilla root crates such as
6564` webpki-roots ` and ` webpki-root-certs ` from the dependency graph. The
66- ` system-ca-roots ` feature alias on ` openshell-sandbox ` includes all other
65+ ` system-ca-roots ` feature alias on ` openshell-supervisor ` includes all other
6766defaults (currently ` telemetry ` ) except ` bundled-ca-roots ` , so Linux
6867distribution builds (e.g. RPM) can use
6968` --no-default-features --features system-ca-roots ` without manually re-adding
@@ -196,13 +195,12 @@ Runtime layout:
196195 cache action runs. An explicitly configured VM runtime bundle is required to
197196 contain every non-empty embedding input; the driver build fails before
198197 packaging when an input is absent or empty.
199- - ** Supervisor** : Alpine base with ` nftables ` , static binary at
200- ` /openshell-sandbox ` (musl by default; see ` SUPERVISOR_LIBC ` above). Static
201- linkage keeps the binary usable when the image is mounted/extracted into
202- sandbox environments (Docker extraction, Podman image volumes, Kubernetes
203- init-container copy-self), whose libc and glibc version are not known at build
204- time, while ` nftables ` supports Kubernetes supervisor sidecar egress
205- enforcement. The VM driver bundles its own supervisor build
198+ - ** Sandbox and supervisor** : Alpine base with separate static
199+ ` /openshell-sandbox ` and ` /openshell-supervisor ` binaries (musl by default;
200+ see ` SUPERVISOR_LIBC ` above). Static linkage keeps the sandbox executable
201+ usable when a driver stages it into an arbitrary workload image. The image
202+ entrypoint is the external supervisor; drivers copy only the sandbox binary
203+ into the workload trust domain. The VM driver bundles both builds
206204 (` tasks/scripts/vm/build-supervisor-bundle.sh ` ) and does not read
207205 ` SUPERVISOR_LIBC ` .
208206
0 commit comments