Review: Local dev tests fail due to bundle install network timeouts
Verdict: BLOCK
Root cause already fixed. The bug described in this ticket (bundle install network timeouts in local dev) was caused by k3s iptables rules breaking Docker bridge NAT. The fix —
network_mode: host on the web container — was merged in PR #94 (board item #1876, done) and refined in PR #102 (issue #99). The issue should be closed rather than advanced.Template Completeness
- [x] Type — Bug
- [x] Lineage — Standalone, discovered during CSS consolidation (#63)
- [x] Repo — ldraney/intelligentstaffingsystems
- [x] What Broke — bundle install timeouts, bundler: command not found
- [x] Repro Steps — 3 steps provided
- [x] Expected Behavior — described
- [x] Environment — local dev, Harbor image, CI image
- [x] Acceptance Criteria — 3 criteria listed
- [x] Related — project-iss, issue #47
All required sections present. Template is complete.
Traceability
- [x] story:project-setup label — verified in project-iss user-stories section
- [ ] arch:infra label — present on board item, but arch note MISSING — [SCOPE] Create architecture note arch-infra
- [x] Forgejo issue — #65, open
File Targets
- [x]
docker-compose.yml— verified:network_mode: hostalready on line 14 of committed main.bundle:/usr/local/bundlevolume already in place for gem caching.
Repo Placement
OK — issue filed on ldraney/intelligentstaffingsystems, fix is in same repo.
Dependencies
- PR #94 (merged, board item #1876, done) — introduced
network_mode: hostand dev environment overhaul - PR #102 (merged, issue #99) — fixed port convention (9999 to 8888) and Docker bundler failure
- Board item #1887 (issue #99, backlog) — related port/bundler fix, also addresses overlapping symptoms
Acceptance Criteria
All 3 AC are already satisfied by the existing fix:
- AC1:
docker compose run web rails testworks without network access to rubygems.org —network_mode: hostenables reliable network access;bundlevolume caches gems across runs. - AC2: Local dev gems are volume-cached —
bundle:/usr/local/bundlevolume is committed on main. - AC3: CI pipeline unchanged — Woodpecker uses its own
.woodpecker.yamlwithbundle install --jobs=4, unaffected by compose changes.
Blast Radius
No concerns. The fix is already merged and operational.
bundle install appears in two independent paths: docker-compose.yml (local dev, host networking) and .woodpecker.yaml (CI, Woodpecker networking). They do not interact.Decomposition Assessment
No decomposition needed — no work remains. The fix was delivered as part of other tickets.
Recommendation
- [SCOPE] Close Forgejo issue #65 — root cause fixed by
network_mode: host(PR #94, PR #102). All acceptance criteria are met by existing committed code. - [SCOPE] Remove or move board item #1895 to done — no implementation work remains.
- [SCOPE] Create architecture note
arch-infrafor the infra component (missing traceability note, but not blocking since issue should be closed).