Skip to content

docs: align ARC/DinD docs, spec, and schema with implementation#5890

Open
lpcox with Copilot wants to merge 2 commits into
mainfrom
copilot/align-arc-dind-docs-spec-schema
Open

docs: align ARC/DinD docs, spec, and schema with implementation#5890
lpcox with Copilot wants to merge 2 commits into
mainfrom
copilot/align-arc-dind-docs-spec-schema

Conversation

Copilot AI commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

The runner.topology: arc-dind schema description incorrectly claimed that setting this topology automatically enables network.isolation=true and dind.preStageDirs=true. The implementation only enables sysroot staging and emits a RUNNER_TOOL_CACHE warning — other settings must be configured explicitly. Docs also lacked cross-links between ARC/DinD surfaces and were missing the loopback TCP auto-detection case.

Changes

docs/awf-config.schema.json

  • runner.topology (correctness fix): Remove false claim about automatic network.isolation=true / dind.preStageDirs=true defaults. Actual behavior: enables sysroot-stage init container + sysroot:/host:rw volume, emits /opt tool-cache warning. Explicitly state other fields must be set independently.
  • container.enableDind: Expand description to cover Docker socket exposure, DOCKER_HOST propagation, and security implication.
  • container.dockerHost: Expand to cover DOCKER_HOST auto-detection, enableDind interaction, and ARC/DinD loopback TCP detection.

docs/arc-dind.md

  • Add loopback TCP (tcp://localhost:* / tcp://127.0.0.1:*) to the auto-detection section — this pattern is handled by isSiblingDaemonSocket() but was undocumented.
  • Add See also section linking to config spec, schema, and environment.md.

docs/awf-config-spec.md

  • Add docs/arc-dind.md to Informative References.

docs/environment.md / docs/usage.md

  • Add cross-references to arc-dind.md at the relevant ARC/DinD sections.

Copilot AI linked an issue Jul 3, 2026 that may be closed by this pull request
6 tasks
Copilot AI changed the title [WIP] Align ARC/DinD docs, spec, and schema with current implementation docs: align ARC/DinD docs, spec, and schema with implementation Jul 3, 2026
Copilot AI requested a review from lpcox July 3, 2026 20:37
Copilot finished work on behalf of lpcox July 3, 2026 20:37
@lpcox lpcox requested a review from Copilot July 3, 2026 20:38
@lpcox lpcox marked this pull request as ready for review July 3, 2026 20:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR corrects and expands ARC/DinD (split runner/daemon filesystem) documentation and JSON schema descriptions so they match the current implementation, and adds cross-links between the various ARC/DinD guidance surfaces.

Changes:

  • Update runner.topology, container.enableDind, and container.dockerHost schema descriptions to reflect actual ARC/DinD behavior and security implications.
  • Document loopback TCP (tcp://localhost:* / tcp://127.0.0.1:*) as an ARC/DinD auto-detection signal and add “See also” cross-references.
  • Add references to arc-dind.md from the usage/environment docs and include it in the config spec’s informative references.
Show a summary per file
File Description
docs/usage.md Adds an ARC/DinD pointer from the --enable-dind section to the dedicated ARC/DinD guide.
docs/environment.md Adds a “See also” cross-reference to the ARC/DinD guide from the env/config guidance.
docs/awf-config.schema.json Updates schema descriptions for ARC/DinD topology and Docker host/DinD fields to better match implementation.
docs/awf-config-spec.md Adds arc-dind.md to Informative References.
docs/arc-dind.md Documents loopback TCP auto-detection and adds a “See also” section linking related references.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 5/5 changed files
  • Comments generated: 2
  • Review effort level: Low

Comment on lines 794 to 801
"topology": {
"type": "string",
"enum": [
"standard",
"arc-dind"
],
"description": "Runner deployment topology. 'standard' (default) = GitHub-hosted VM or self-hosted runner with local Docker. 'arc-dind' = ARC (Actions Runner Controller) with Docker-in-Docker sidecar, where the runner and Docker daemon have separate filesystems. When set to 'arc-dind', AWF applies overridable defaults: network.isolation=true, dind.preStageDirs=true, sysroot image activation, and tool cache validation."
"description": "Runner deployment topology. 'standard' (default) = GitHub-hosted VM or self-hosted runner with local Docker. 'arc-dind' = ARC (Actions Runner Controller) with Docker-in-Docker sidecar, where the runner and Docker daemon have separate filesystems. When set to 'arc-dind', AWF enables sysroot staging (a sysroot-stage init container copies the build-tools image into a named volume mounted at /host:rw on the agent) and emits a warning when RUNNER_TOOL_CACHE points under /opt (which is typically invisible to the DinD daemon). Other ARC/DinD settings such as container.dockerHostPathPrefix, dind.preStageDirs, and network.isolation are configured explicitly through their own fields. See docs/arc-dind.md for a complete guide."
},
Comment on lines 599 to 602
"dockerHost": {
"type": "string",
"description": "Docker daemon socket or host to connect to (e.g. \"unix:///var/run/docker.sock\")."
"description": "Docker daemon socket URI for AWF's own operations (e.g. \"unix:///var/run/docker.sock\" or \"tcp://localhost:2375\"). Auto-detected from the DOCKER_HOST environment variable when not set explicitly. When combined with container.enableDind, AWF also mounts that socket inside the agent and sets the agent's DOCKER_HOST to the same URI so in-agent docker commands use the correct daemon. On ARC/DinD runners with a loopback TCP daemon (tcp://localhost:*), AWF detects the split-filesystem configuration automatically."
},
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.

Align ARC/DinD docs, spec, and schema with current implementation

3 participants