Guide — register a remote repo on the forge, and see a live pipeline
Register a git@… repo the server clones itself
First, mint + install the forge's deploy key (once), and add its public half as a deploy key on the PRIVATE repo you want the forge to build:
sudo dwarves-server --install --system # prints the ssh-ed25519 public key
Then point the thin CLI at the running forge and register a source. The server clones it over SSH (deploy-key auth) and registers the pipeline it declares:
dwarves repo add git@codeberg.org:nordisk/demo.git --server http://127.0.0.1:7900
# → ✓ registered (cloned git@… @ <sha>) — pipeline `demo-ci` (1 step(s))
- SSH-only:
dwarves repo add https://… --server …is refused (InvalidArgument) — the forge authenticates over SSH, never https. - No
--server? The CLI clones locally into the forge's repos root instead (the original fat-mode behaviour).
Under the hood the server sends RegisterRequest{ source = git@… }; the handler clones via the shared nornir-git leaf into <repos>/<host>/<owner>/<repo> and discovers its brokkr.toml. An empty source still registers a local repo_root.
See a live pipeline in the demo
The dwarves-gui Pipeline tab renders a real forge run (not a fixture):
cargo run -p dwarves-gui # native window; open the "Pipeline" tab
The tab runs the forge's build pipeline through the real brokkr engine (run_pipeline) and maps the resulting RunReport onto the shared facett-pipeline viewer via ForgePipelineAdapter::from_report. A completed run shows every step Done. Wire the server's RealRunner in and the same pane becomes a live cargo build — no viewer or adapter change.