Skip to content

fix(compose): registry nginx mounts the front include dir (#1111) - #1113

Merged
rennf93 merged 2 commits into
feat/devops-agentfrom
fix/1111-registry-nginx-front-mount
Sep 21, 2026
Merged

rennf93 merged 2 commits into
feat/devops-agentfrom
fix/1111-registry-nginx-front-mount

Conversation

@rennf93

@rennf93 rennf93 commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Stacked onto #1109 (merges into the devops PR, then rides it to slave). Independent of #1112 (different files); both target feat/devops-agent.

Bug

deploy/nginx.conf includes /etc/nginx/front/active-upstreams.conf (the blue-green color switch), but docker-compose.registry.yml never mounted the repo's ./front directory, so fresh make quickstart crash-looped roboco-nginx on the missing include while everything else came up healthy. Fixes #1111.

Fix

The registry compose now carries the byte-identical nginx volumes block the build compose has had since the 2026-09-17 blue-green flip: - ./front:/etc/nginx/front:ro. Directory bind, not a file bind, so deploy-nas.sh's atomic tmp+mv color swap still reaches the running container. The issue's suggested deploy/front/ layout was NOT adopted: it would fork the file of record deploy-nas.sh already flips.

Guard

New test_nginx_mounts_front_include_dir_in_every_compose pins the directory mount in BOTH compose files and the presence of the shipped include, so a compose fork cannot reintroduce the fresh-install crash.

Verification

…1110)

The agent image never pre-creates ~/.config/opencode, and main() wrote
opencode.json without mkdir-ing its parent, so every OpenRouter-routed
spawn exited 1 on FileNotFoundError before the CLI ever started (same
crash on fe-dev-1, fe-pm, the auditor). The bash-guard plugin write
already mkdir'd its parents; the config write now does the same.
Regression test mirrors the plugin-write parents test with a missing
.config/opencode prefix.
deploy/nginx.conf includes /etc/nginx/front/active-upstreams.conf (the
blue-green color switch), but docker-compose.registry.yml never mounted
the repo's ./front directory, so fresh `make quickstart` crash-looped
roboco-nginx on the missing include while everything else came up
healthy. The build compose has carried the directory mount since the
2026-09-17 blue-green flip; the registry compose now carries the
byte-identical block. Directory bind, not a file bind: a file bind pins
the inode and deploy-nas.sh's atomic tmp+mv swap would never reach the
running container.

Guard test pins the ./front:/etc/nginx/front:ro mount in BOTH compose
files and that front/active-upstreams.conf exists in the repo, so a
future compose fork cannot reintroduce the fresh-install crash.
@github-actions github-actions Bot added the tests Test suite changes label Sep 21, 2026
@rennf93
rennf93 merged commit a412e72 into feat/devops-agent Sep 21, 2026
4 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in RoboCo Kanban Sep 21, 2026
@github-actions

Copy link
Copy Markdown

Thanks for opening your first pull request on RoboCo!

Quick checklist before review (most of these are enforced by CI, but worth a glance):

  • make quality — ruff format check, ruff check, mypy, pytest (≥80% coverage), and the rest of the gate
  • Panel changes pass pnpm lint and pnpm exec tsc --noEmit (run from panel/)
  • No # noqa / # type: ignore shortcuts; pre-existing violations in touched files are fixed
  • Added an entry under ## [Unreleased] in CHANGELOG.md
  • Signed the CLA (the bot will prompt you on this PR)
  • Signed your commits — master requires verified signatures (SSH signing setup)
  • Updated any affected docs under docs/

See CONTRIBUTING.md for the full workflow and the Code of Conduct for the community standards we follow.

Welcome aboard — a maintainer will review shortly.

@github-actions github-actions Bot locked and limited conversation to collaborators Sep 21, 2026
@rennf93 rennf93 self-assigned this Sep 25, 2026
@rennf93
rennf93 deleted the fix/1111-registry-nginx-front-mount branch September 25, 2026 22:40
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

tests Test suite changes

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant