allod forge up: start the forge VM if needed and print its URL #85
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/nexus#85
Loading…
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?
Reaching the forge VM means knowing its address and whether it is running.
allod forge upstarts it if it is not, says nothing if it is, waits until it answers, and prints the URL.Primary goals:
Current state and specifics
alloddispatches any namespace it does not list toallod-<namespace>on PATH, so this lands asallod-forgeand is invoked asallod forge up. The precedent for a per-machine operator command is the privateallod bitcoin status|start|stop, a module in a deployment's own profiles; this one is public because the forge is part of allod/strategy#65 and every template operator should get it.Worth knowing from that precedent:
startandstopthere drive the libvirt domain with local virsh and so only run on the hypervisor hosting the guest, andstatuswaits on the guest's own service rather than the domain, because a machine mid-start answers nothing. Both apply here.A name collision is accepted deliberately:
forgeis already a binary on these machines — the Forgejo CLI for issues and pull requests — soallod forge upsits besideforge pr create. The owner accepted this as a namespaced nuisance rather than renaming (decision, 2026-10-08).Scope
In: the command, its shell test alongside the others in
tests/, and the README. Out: adownorstatussubcommand unless they fall out for free; reaching the forge by name rather than address, which is a coupled change across the profile'sdomainand Caddy's site address and is deliberately deferred; and anything that creates or changes forge content, which isforge-sync.Part of allod/strategy#65