[nomad-step-3] S3.4 — wire --with woodpecker + deploy ordering + OAuth seed #937
Labels
No labels
action
backlog
blocked
bug-report
cannot-reproduce
in-progress
in-triage
needs-triage
prediction/actioned
prediction/dismissed
prediction/unreviewed
priority
rejected
reproduced
tech-debt
underspecified
vision
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: disinto-admin/disinto#937
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of the Nomad+Vault migration. Step 3 — Woodpecker server + agent. Blocked by: #934 (S3.1), #935 (S3.2), #936 (S3.3).
Goal
Wire
--with woodpecker(and--with forgejo,woodpecker) intobin/disinto init --backend=nomadso a single command stands up Forgejo + Woodpecker on a fresh LXC.Scope
In
bin/disinto:woodpeckerto the known-services list (currently onlyforgejo).deploy.shalready accepts a list of services. Ensure it handles dependency ordering:woodpecker-servermust deploy afterforgejois healthy;woodpecker-agentafterwoodpecker-server. Add ordering metadata — either:DEPLOY_ORDER="forgejo woodpecker-server woodpecker-agent"and deploy in this order, skipping services not in the--withlist.01-forgejo.hcl,02-woodpecker-server.hcl, etc.Prefer the explicit
DEPLOY_ORDERapproach — simpler, greppable.--with woodpeckerimplies--with forgejo,woodpecker(woodpecker without forgejo is nonsensical). If the user passes--with woodpeckeralone, auto-include forgejo and log a note.tools/vault-seed-woodpecker.sh(from the S2-fix-F convention:vault-seed-<svc>.shauto-invoked per service).Acceptance criteria
Fresh LXC + clone +
.env::3000.:8000.--with woodpecker(no forgejo) auto-includes forgejo with a log line.--dry-runprints the full plan including seed + deploy order.Non-goals
Labels / meta
[nomad-step-3] S3.4— blocked by #934, #935, #936.Prior art round 1 — abandoned PR #941 (closed, branch
fix/issue-937kept)dev-qwen took this at 06:14, CI-exhausted at 06:22 (8min, 3 attempts). Real test failure, not WP flake.
Failing test (pipeline #1173,
nomad-validate / bats-init-nomad):31/32 pass. The unknown-service validation broke when adding
woodpeckerto the known-services list. Likely the validation regex/case-match was updated but now accepts everything, or the error path exits 0 instead of 1.Fix: check
bin/disinto's service-validation block — search for "unknown service" or the known-services list. Confirm--with bogus-svcexits non-zero. Probably a regex orcasemissing a*) errordefault after addingwoodpecker.Prior art round 2 — abandoned PR #942 (closed, branch kept)
dev-qwen abandoned #937 a second time (CI-exhausted). Same test #17 failure:
--with unknown-serviceexits 0 instead of non-zero. Force-assigning to dev-bot (Claude) per agreed policy.Fix remains: find the service-validation block in
bin/disintothat lists known services. Ensure the*/elsebranch exits non-zero for unknown values. Check that addingwoodpeckerdidn't remove the default error case from acase/ifchain.Blocked — issue #937
ci_exhausted_poll (3 attempts, PR #941)2026-04-17T06:19:52ZBlocked — issue #937
ci_exhausted2026-04-17T06:22:03ZBlocked — issue #937
ci_exhausted_poll (3 attempts, PR #942)2026-04-17T06:42:10ZBlocked — issue #937
ci_exhausted2026-04-17T07:02:20Z