feat: migrate gVisor smoke tests to strict security mode (no sudo, network-isolation)#6195
feat: migrate gVisor smoke tests to strict security mode (no sudo, network-isolation)#6195lpcox wants to merge 1 commit into
Conversation
|
🚀 Security Guard has started processing this pull request |
|
🦎 Smoke gVisor reports failed. gVisor compatibility issue detected. |
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (1 files)
Coverage comparison generated by |
Switch all 4 gVisor smoke test workflows from the legacy iptables-based configuration (sudo + --enable-host-access) to the network-isolation topology mode (no sudo, no iptables, Docker network enforcement): AWF invocation: - Remove sudo - Replace --enable-host-access --allow-host-ports 80,443,8080 with --network-isolation --topology-attach awmg-mcpg MCP Gateway launch: - Switch from --network host to --network bridge with published port - Set MCP_GATEWAY_DOMAIN to 'awmg-mcpg' (container name on awf-net) - Use --add-host host.docker.internal:host-gateway (bridge standard) These changes match the pattern already used by network-isolation-test.lock.yml. The gVisor static DNS workaround (runtimeNeedsStaticDns → patchComposeWithTopologyHosts) handles hostname resolution for topology peers on gVisor's isolated netstack. Validates gVisor compatibility with the proposed --security-mode strict bundle from #6193. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
294679b to
e934d1e
Compare
|
🚀 Security Guard has started processing this pull request |
|
🦎 Smoke gVisor completed. gVisor smoke test passed. ✅ |
|
🦎 gVisor runtime: unconfirmed (runc detected — non-blocking) Overall: PASS Warning Firewall blocked 2 domainsThe following domains were blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"
- "example.com"See Network Configuration for more information.
|
Summary
Migrates all 4 gVisor smoke test workflows from the legacy iptables-based configuration to the network-isolation topology mode, validating gVisor compatibility with the proposed
--security-mode strictbundle (#6193).Changes per workflow
sudo -E awfawf(no sudo)--enable-host-access --allow-host-ports 80,443,8080--network-isolation --topology-attach awmg-mcpg --topology-attach awmg-cli-proxyinternal: true)What stays the same
enabled: trueinawf-config.json— credential isolation unchangedrunscOCI runtimeWhy this should work
gVisor's DNS incompatibility with Docker's embedded DNS (
127.0.0.11) is already handled:runtimeNeedsStaticDns()returnstruefor gVisorcli-workflow.tsinjects/etc/hostsentries for topology peers and compose-internal services viapatchComposeWithTopologyHosts()Affected workflows
smoke-gvisor.lock.ymlsmoke-gvisor-claude.lock.ymlsmoke-gvisor-codex.lock.ymlsmoke-gvisor-build-test.lock.ymlTesting
This PR itself is the test — if the gVisor smoke tests pass in CI with these changes, gVisor is confirmed compatible with strict mode.
Relates to #6193