Skip to content

[awf] ARC-DinD: Eliminate workflow-level workarounds required for DinD chroot mode #4727

@lpcox

Description

@lpcox

Problem

On gh-aw v0.75.4 + AWF v0.25.53, running the Copilot engine in ARC/DinD mode (`DOCKER_HOST=(localhost/redacted) still requires six distinct workflow/infra-level workarounds that should be handled by AWF internally. Teams must ship a custom composite action alongside every workflow to work around these gaps.

Context

Source issue: github/gh-aw#34896

Closed issue #30840 marked this scenario COMPLETED at v0.75.0, but the workarounds are still required in v0.75.4.

Root Cause

Six remaining gaps in AWF's ARC/DinD support:

  1. /etc/passwd, /etc/group, /etc/hosts not staged from runner to DinD temp volume — AWF does not synthesize these for DinD mode.
  2. Copilot CLI binary not accessible at /host/usr/local/bin/copilot inside DinD chroot — runner FS is invisible to the DinD daemon.
  3. mount_mcp_as_cli.cjs hard-codes github as INTERNAL_SERVERS, silencing github MCP tools in DinD environments.
  4. Required /tmp/gh-aw subdirectories (mcp-logs, sandbox/firewall/logs) not pre-created by AWF in DinD mode.
  5. Node.js availability assumed baked into DinD image rather than sourced from runner FS.
  6. No first-class workaround detection or deprecation path.

Proposed Solution

In containers/agent/entrypoint.sh and src/docker-manager.ts: auto-synthesize /etc overrides and ensure required temp subdirs exist in DinD mode. In mount_mcp_as_cli.cjs: remove github from INTERNAL_SERVERS or make it configurable. Provide a documented migration guide to remove the workaround composite action.

Generated by Firewall Issue Dispatcher · 157.4 AIC · ⊞ 27.8K ·

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions