Skip to content

Run Apptainer agents in disconnected namespaces with fixed relays - #229

Closed
merlerm wants to merge 3 commits into
pr/strict-render-runtimefrom
pr/isolated-apptainer-runner
Closed

merlerm wants to merge 3 commits into
pr/strict-render-runtimefrom
pr/isolated-apptainer-runner

Conversation

@merlerm

@merlerm merlerm commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator

Apptainer agents previously retained host-network access, so disabling web tools did not stop curl, pip, or arbitrary sockets.

Launch Codex/Claude in a rootless disconnected network namespace and verify loopback-only networking, dropped capabilities, and no-new-privileges before starting them. Use the preceding broker for inference and a separate fixed-destination relay for the explicitly configured environment-server port. Keep real credentials on the host, prepare regular dependencies before agent execution, and persist only each run's own sessions.

Remove legacy shared-network/auth paths and reject unsupported Apptainer backends/GenPlan configurations. Strict startup rejects the old MCP-bearing image. Give the process its own group so Claude's turn-cap cleanup works. Docker firewall and credential behavior stay unchanged.

Validation: 92 focused tests passed at this layer. Final cluster audits passed with both agents; strict experiment evaluation completed without crashes. Docker runtime remains untested here. Host-side final scoring is outside this containment change.

Stack integration validation: 258 tests passed, 4 image/runtime tests skipped in the isolated worktree; pylint passed and mypy passed for 11 changed modules. Paid cluster audit results are summarized above where relevant.

Stack created with GitHub Stacks CLI

@merlerm
merlerm added this pull request to stack #232 September 19, 2026 14:53
@merlerm
merlerm marked this pull request as ready for review September 19, 2026 14:54
@merlerm
merlerm force-pushed the pr/strict-render-runtime branch from a9059cb to 69a0749 Compare September 19, 2026 14:57
@merlerm
merlerm force-pushed the pr/isolated-apptainer-runner branch from 1599c2a to 812d0f2 Compare September 19, 2026 14:57
@merlerm
merlerm force-pushed the pr/strict-render-runtime branch from 69a0749 to fc5f8ef Compare September 19, 2026 15:22
@merlerm
merlerm force-pushed the pr/isolated-apptainer-runner branch from 812d0f2 to 8bc126a Compare September 19, 2026 15:22
@merlerm
merlerm removed this pull request from stack #232 September 19, 2026 15:30
@merlerm
merlerm force-pushed the pr/strict-render-runtime branch from fc5f8ef to a5c45f8 Compare September 19, 2026 15:31
@merlerm

merlerm commented Sep 19, 2026

Copy link
Copy Markdown
Collaborator Author

Consolidated into #227 so the Apptainer runtime, broker, and caller updates can be reviewed and landed together. No changes from this PR are being discarded.

@merlerm merlerm closed this Sep 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant