[nomad-step-1] S1.3 — wire --with forgejo into bin/disinto init --backend=nomad #842
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#842
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 1 — Forgejo as first Nomad job. Blocked by: #840 (S1.1), #841 (S1.2).
Goal
Wire
deploy.sh(S1.2) andnomad/jobs/forgejo.hcl(S1.1) intobin/disinto init --backend=nomad --with forgejoso the full "stand up cluster + deploy forgejo" flow is a single command.Scope
--with <service[,service2,...]>flag parsed indisinto_init. Only honored when--backend=nomad. Rejected otherwise with a clear error.--withvalues accepted in Step 1:forgejo. Unknown values fail fast (Error: unknown service "X" — known: forgejo)._disinto_init_nomadflow:cluster-up.sh(unchanged from S0.4 — idempotent).$servicesnon-empty,lib/init/nomad/deploy.sh ${services}.--dry-runmode: prints cluster-up dry-run plan and deploy.sh dry-run plan, exits 0.--empty+--withare mutually exclusive (error helpfully).Acceptance criteria
On a wiped LXC + clone:
curl http://localhost:3000/api/v1/versionreturns 200.--dry-runvariant prints full plan, exits 0.--backend=docker --with forgejoerrors: "--with requires --backend=nomad".--empty --with forgejoerrors: "--empty and --with are mutually exclusive".Why
Delivers the Step-1 verifiable checkpoint: one command, fresh LXC → working Forgejo served by Nomad with host-volume persistence.
Labels / meta
[nomad-step-1] S1.3— blocked by #840, #841.Prior art — abandoned PR #859 (closed, branch
fix/issue-842kept)dev-qwen took this issue at 10:55 on 2026-04-16, opened PR #859, and exhausted its 3-attempt CI-fix budget at 11:08 due to a mix of real test failure + WP gRPC agent flake.
Branch kept at SHA
64080232onfix/issue-842— pick up from there instead of starting over.Known remaining failure (from pipeline #966
nomad-validate / bats-init-nomad):16/17 tests pass. The one remaining bug:
disinto init --empty(no--backend=nomad) exits 0 when it should exit non-zero. The$empty=true && $backend != "nomad"rejection branch that was present before S1.3 has regressed under the--withargparse changes.Likely cause: the pre-scan for
--backendadded by S0.1-fix (#835) may interact with--emptydetection ordering, or the validation block moved/was bypassed. Checkbin/disintoaround the--empty is only valid with --backend=nomadguard.Blast-radius note for CI failures
Early CI failures on that PR were Woodpecker-agent gRPC flakes (Codeberg #813), not real test failures. The agent has been restarted; a retriggered pipeline (#966) gave the clean signal above. If you hit rapid CI failures again (<60s each), check
disinto-woodpecker-agentcontainer health before spending retry budget.Blocked — issue #842
ci_exhausted_poll (3 attempts, PR #859)2026-04-16T10:58:52ZBlocked — issue #842
ci_exhausted2026-04-16T11:08:31Z