Summary
On a GitHub Enterprise Cloud data-residency tenant (*.ghe.com), an agentic workflow with engine: copilot fails before the agent runs: the AWF firewall's awf-cli-proxy sidecar can't complete its health probe to the external DIFC proxy, so the firewall fails fast and the agent is never invoked. The same workflow is expected to work on github.com.
Environment
- gh-aw
v0.80.9; firewall v0.27.7; mcpg v0.3.27
- Standard GitHub-hosted
ubuntu-24 runner
- GitHub Enterprise Cloud, data residency (
*.ghe.com)
engine: copilot with permissions: { copilot-requests: write } (org-billed inference)
Symptom
squid + api-proxy come up healthy, and the DIFC proxy reports ready:
CLI proxy ready on port 18443
…but the sidecar can't reach it:
[cli-proxy] connecting to external DIFC proxy at host.docker.internal:18443
[cli-proxy] DIFC proxy probe failed (attempt 1..6/10, diagnosis=unknown)
dependency failed to start: container awf-cli-proxy is unhealthy
[ERROR] AWF firewall failed to start: awf-cli-proxy could not connect to the
external DIFC proxy ... The agent was never invoked.
Per containers/cli-proxy/entrypoint.sh, diagnosis=unknown means the probe (gh api rate_limit through the proxy) returned something that is neither connection-refused nor timeout — i.e. the proxy is reachable but the forwarded gh api call returns an unexpected result. That points at the DIFC proxy not resolving the enterprise API host on *.ghe.com.
Ruled out
- Host port allowlist — added
18443 to --allow-host-ports (was 80,443,8080). No change. (A dedicated cli-proxy→host:18443 rule already exists, so this was expected to be a no-op — confirmed.)
- Enterprise host env — set workflow-level
GH_HOST / GITHUB_HOST / GITHUB_ENTERPRISE_HOST to the *.ghe.com host. No change. These reach the cli-proxy via --env-all, but the mcpg DIFC proxy is launched by actions/setup/sh/start_difc_proxy.sh with a curated env, so workflow env never reaches it.
Likely cause
The mcpg DIFC proxy started by start_difc_proxy.sh doesn't appear to be enterprise-host-aware, so the probe's forwarded gh api hits the wrong API host on *.ghe.com. Probably the same area as #21407 (compiler doesn't inject GH_HOST/telemetry for *.ghe.com) and github/gh-aw-firewall#1300 (enterprise GITHUB_API_URL → model-list 400).
Questions
- Is
engine: copilot (token steering / DIFC proxy) supported on *.ghe.com data-residency tenants today?
- If so, what makes the mcpg DIFC proxy use the enterprise API host so the probe succeeds?
- Either way — could the probe surface a clearer error than
diagnosis=unknown (e.g. the actual gh api status/body)?
Summary
On a GitHub Enterprise Cloud data-residency tenant (
*.ghe.com), an agentic workflow withengine: copilotfails before the agent runs: the AWF firewall'sawf-cli-proxysidecar can't complete its health probe to the external DIFC proxy, so the firewall fails fast and the agent is never invoked. The same workflow is expected to work on github.com.Environment
v0.80.9; firewallv0.27.7; mcpgv0.3.27ubuntu-24runner*.ghe.com)engine: copilotwithpermissions: { copilot-requests: write }(org-billed inference)Symptom
squid + api-proxy come up healthy, and the DIFC proxy reports ready:
…but the sidecar can't reach it:
Per
containers/cli-proxy/entrypoint.sh,diagnosis=unknownmeans the probe (gh api rate_limitthrough the proxy) returned something that is neither connection-refused nor timeout — i.e. the proxy is reachable but the forwardedgh apicall returns an unexpected result. That points at the DIFC proxy not resolving the enterprise API host on*.ghe.com.Ruled out
18443to--allow-host-ports(was80,443,8080). No change. (A dedicated cli-proxy→host:18443 rule already exists, so this was expected to be a no-op — confirmed.)GH_HOST/GITHUB_HOST/GITHUB_ENTERPRISE_HOSTto the*.ghe.comhost. No change. These reach the cli-proxy via--env-all, but the mcpg DIFC proxy is launched byactions/setup/sh/start_difc_proxy.shwith a curated env, so workflow env never reaches it.Likely cause
The mcpg DIFC proxy started by
start_difc_proxy.shdoesn't appear to be enterprise-host-aware, so the probe's forwardedgh apihits the wrong API host on*.ghe.com. Probably the same area as #21407 (compiler doesn't injectGH_HOST/telemetry for*.ghe.com) and github/gh-aw-firewall#1300 (enterpriseGITHUB_API_URL→ model-list 400).Questions
engine: copilot(token steering / DIFC proxy) supported on*.ghe.comdata-residency tenants today?diagnosis=unknown(e.g. the actualgh apistatus/body)?