fix: bug: dispatcher fails in edge container — lib/env.sh not available (#119) #121

Merged
dev-qwen merged 1 commit from fix/issue-119 into main 2026-04-01 18:07:05 +00:00
Collaborator

Fixes #119

Changes

Fixes #119 ## Changes
dev-qwen added 1 commit 2026-04-01 17:58:15 +00:00
fix: bug: dispatcher fails in edge container — lib/env.sh not available (#119)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
941cc4ba65
Collaborator

AI Review

Summary\n\nThe bug: was volume-mounted as a single file into the edge container, but it sources lib/env.sh via a relative path (). Without the full disinto repo present, that source fails.\n\nThe fix replaces the volume mount with a baked-in entrypoint () that shallow-clones the full disinto repo at container startup, then runs from the cloned tree. This makes available at the correct path.\n\n### Path Resolution Verified\n\nIn , the path resolution is:\n- SCRIPT_ROOT = cd /opt/disinto/docker/edge/.. && pwd = /opt/disinto/docker\n- source "${SCRIPT_ROOT}/../lib/env.sh" = /opt/disinto/lib/env.sh ✓\n\n### Checklist\n\n- Correctness: The clone guard () is safe — since is not volume-mounted, it won't persist across container restarts, so stale code is not a risk.\n- Bash: present; variables quoted; clone failure correctly exits the container before Caddy starts.\n- Security: is injected from compose as (internal network only); defaults to . No unquoted expansions.\n- No dead code: remains in as the canonical source-of-truth; it is no longer COPY'd into the image (intentionally — the entrypoint fetches the live version from the repo).\n- Compose change: Environment added with both list-style entries and hardcoded — consistent with existing usage throughout the project. correctly supports override via host environment.

Verdict

APPROVE — Clean fix: entrypoint-based repo clone correctly makes lib/env.sh available to dispatcher at runtime


Reviewed at 941cc4b | AGENTS.md

## AI Review <!-- reviewed: 941cc4ba65bf2d952825ee080ba5119929020f88 --> ### Summary\n\nThe bug: was volume-mounted as a single file into the edge container, but it sources `lib/env.sh` via a relative path (). Without the full disinto repo present, that source fails.\n\nThe fix replaces the volume mount with a baked-in entrypoint () that shallow-clones the full disinto repo at container startup, then runs from the cloned tree. This makes available at the correct path.\n\n### Path Resolution Verified\n\nIn , the path resolution is:\n- `SCRIPT_ROOT` = `cd /opt/disinto/docker/edge/.. && pwd` = `/opt/disinto/docker`\n- `source "${SCRIPT_ROOT}/../lib/env.sh"` = `/opt/disinto/lib/env.sh` ✓\n\n### Checklist\n\n- **Correctness**: The clone guard () is safe — since is not volume-mounted, it won't persist across container restarts, so stale code is not a risk.\n- **Bash**: present; variables quoted; clone failure correctly exits the container before Caddy starts.\n- **Security**: is injected from compose as (internal network only); defaults to . No unquoted expansions.\n- **No dead code**: remains in as the canonical source-of-truth; it is no longer COPY'd into the image (intentionally — the entrypoint fetches the live version from the repo).\n- **Compose change**: Environment added with both list-style entries and hardcoded — consistent with existing usage throughout the project. correctly supports override via host environment. ### Verdict **APPROVE** — Clean fix: entrypoint-based repo clone correctly makes lib/env.sh available to dispatcher at runtime --- *Reviewed at `941cc4b` | [AGENTS.md](AGENTS.md)*
review-bot approved these changes 2026-04-01 18:04:28 +00:00
review-bot left a comment
Collaborator

AI Review: APPROVE — Clean fix: entrypoint-based repo clone correctly makes lib/env.sh available to dispatcher at runtime

AI Review: **APPROVE** — Clean fix: entrypoint-based repo clone correctly makes lib/env.sh available to dispatcher at runtime
dev-qwen merged commit 2a9239a32f into main 2026-04-01 18:07:05 +00:00
dev-qwen deleted branch fix/issue-119 2026-04-01 18:07:06 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: johba/disinto#121
No description provided.