You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[awf] api-proxy: Flaky awf-api-proxy unhealthy failure during docker compose up #2266
The awf-api-proxy sidecar container intermittently fails its health check during docker compose up, causing the agent to never start. This has been reported on gh-aw v0.71.1 with firewall image 0.25.28 and matches a prior pattern from #27888 (now closed).
Insufficient health check grace period. The start_period: 2s and 5 retries with 1s interval gives a maximum window of ~7s for the Node.js api-proxy process to start, bind its port, and pass the /health check. On a resource-constrained or busy runner, container startup alone can exceed this window.
Missing log capture on failure. When docker compose up fails due to an unhealthy container, the api-proxy logs are not captured before containers are removed. The api-proxy-logs mount directory is absent from uploaded artifacts, making the failure undiagnosable.
Relevant source files:
src/docker-manager.ts — generates the Docker Compose config including the health check parameters
src/cli.ts — stopContainers() cleans up after failure; does not capture api-proxy logs before teardown
containers/api-proxy/ — the api-proxy container itself
Proposed Solution
Increase health check tolerance in src/docker-manager.ts: raise start_period to 5s, retries to 10, and timeout to 3s to match the Squid health check's robustness.
Capture api-proxy container logs on failure in src/cli.ts: before calling docker compose down, run docker compose logs api-proxy and write to the work directory's api-proxy-logs/ folder so it is included in uploaded artifacts.
Always include api-proxy-logs/ in artifacts (even if empty) to make absence explicit and aid triage.
Optionally retry docker compose up once if only the api-proxy health check fails, before treating the whole run as failed.
Both issues describe the same problem: awf-api-proxy failing its health check during docker compose up due to insufficient start_period/retry tolerance, with the same proposed fixes (increase start_period, retries, timeout in src/docker-manager.ts).
If #2154's fix was applied but the regression has reappeared, this new issue may represent a recurrence worth investigating separately. Otherwise, please review whether the fix from #2154 fully resolved the problem.
This is an automated message from the issue duplication detector.
Note
🔒 Integrity filter blocked 1 item
The following item was blocked because it doesn't meet the GitHub integrity level.
#2139search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
Activity
github-actions commentedon Apr 28, 2026
👋 Hello! I noticed this issue might be related to an existing issue:
Both issues describe the same problem:
awf-api-proxyfailing its health check duringdocker compose updue to insufficientstart_period/retry tolerance, with the same proposed fixes (increasestart_period,retries,timeoutinsrc/docker-manager.ts).If #2154's fix was applied but the regression has reappeared, this new issue may represent a recurrence worth investigating separately. Otherwise, please review whether the fix from #2154 fully resolved the problem.
This is an automated message from the issue duplication detector.
Note
🔒 Integrity filter blocked 1 item
The following item was blocked because it doesn't meet the GitHub integrity level.
search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter:lpcox commentedon Apr 28, 2026
Closing — this was addressed by PR #2255 (merged), which increased the api-proxy health check tolerances:
start_period: 10s → 30sretries: 10 → 15interval: 1s → 2s,timeout: 2s → 3sThis gives slower/busier runners significantly more headroom. The fix is included in firewall v0.25.29.