Repository navigation
feat(docker): select supervisor bridge networking for ECI workloads #4015
Description
User Story
As an OpenShell operator using Docker Desktop with Enhanced Container Isolation (ECI), I want the supervisor to choose compatible networking automatically, so I can keep ECI enabled without creating a diagnostic container.
Problem Statement
The Docker driver always runs the trusted supervisor with host networking. Docker Desktop disallows that mode under ECI. The default gateway callback endpoint is also loopback, which refers to the supervisor itself when bridge networking is used.
Impact / Why This Matters
ECI users cannot launch the current supervisor. Disabling ECI is the workaround, but it conflicts with centrally enforced container isolation. Requiring manual networking choices for ordinary Desktop installations adds setup work and does not solve the hardcoded supervisor mode.
Proposed Design
Expose an operator-owned supervisor networking choice of auto, host, or bridge. Auto preserves host networking for ordinary workloads and selects bridge for workloads inspected as using Sysbox/ECI. Bridge mode automatically uses a Docker-host callback endpoint for standard Desktop configurations; explicit gateway endpoints remain authoritative. Preserve workload network isolation and TLS verification. Provide actionable guidance for Linux loopback-only gateway listeners and incompatible explicit endpoints. No diagnostic container is created.
Acceptance Criteria
- Default auto mode selects bridge for Sysbox/ECI workloads and host for ordinary workloads.
- Explicit host and bridge settings override automatic selection.
- Desktop bridge mode derives a Docker-host endpoint when grpc_endpoint is omitted.
- Explicit endpoints retain their host, port, scheme, and TLS verification.
- Native Linux bridge mode reports an actionable error for an implicit loopback-only gateway listener.
- Workloads retain network=none and their existing isolation requirements.
- Restarted supervisors use the same selection rules; host aliases resolve from supervisor-owned Docker metadata.
- Unit tests, Docker E2E verification, configuration docs, and operational guidance cover the change.
Alternatives Considered
Always bridge would require changes to Linux loopback-only gateway and upstream services. A probe container would add startup work and is unnecessary for this heuristic. Always host requires disabling ECI.
Agent Investigation
The driver already inspects workload containers, and Docker documents HostConfig.Runtime=sysbox-runc as an ECI indicator. This changes networking compatibility only; full ECI qualification still requires testing the existing Landlock and seccomp boundary under Docker Desktop.
Activity
github-actions commentedon Oct 15, 2026
This issue has had no activity for 14 days and is now marked stale. It may be closed in 14 days if there is no further activity. Comment or remove the state:stale label to keep it open.