SSH repos + the warehouse, explained simply
The forge needs a key to read your private repos
Think of the forge (dwarves) as a robot that builds your code. To pull a private repo it needs its own key — like a spare house key you give a trusted builder.
- When you install the server (
dwarves-server --install --system) it makes that key once:/home/dwarves/.ssh/id_ed25519. Only the forge can read it (mode 600). - It prints the public half. You paste that on your repo's "Deploy Keys" page. Now the forge can clone that repo — and ONLY over SSH (
git@…), never over a web link (https://). That's a hard rule.
Adding a repo is one line:
dwarves repo add git@codeberg.org:you/your-repo.git
If you type an https://… link it refuses — on purpose.
After a build, the forge tells nornir what happened
When the forge finishes building, it writes down facts about the build (which commit, did it pass, how many cores, what it produced) and sends them to nornir — the constellation's central "brain" that draws the charts.
- You point the forge at nornir with one environment variable:
NORNIR_SERVER. - Then every build shows up in nornir's 🧪 Test chart automatically.
- If you DON'T set
NORNIR_SERVER, nothing is sent and nothing breaks — the forge just works locally like before. And if nornir is switched off, the build still succeeds; the forge shrugs and moves on. It never lets "couldn't reach nornir" fail your build.
That's it: a key to read private repos, and a phone line to tell nornir how the build went. Both are optional and both fail safe.