dwarves' role in the Build Thing SOCKET system
Authoritative design: workspace_nordisk/.nornir/socket-deployment-design.md (read it there; this is a role-note pointer, not a copy).
A Build Thing is a bulb (output artifact of a TYPE); each type has a matching socket (fixture graph). Skidbladnir OWNS the sockets; tunnr provides the fixture runtimes + bulb boots; the dwarves-gui ⚒ Build Thing pane is the FACE — it reads the bulb type, asks Skidbladnir to light the matching socket (in Mode { Test, Prod }), and RENDERS the result.
What the dwarves pane renders
- Read bulb type → auto-fire the socket (no per-cell config). Today's single-boot is the degenerate socket (1 node, 0 fixtures); the graphics console + on-disk facts already exist for the
kvm/bootable-isotypes (the korp matrix). - Console GRID — one live console per node in the deployment (not just one), reusing the existing
SerialConsole/pump+ the QMP-screendump graphics console. - Topology graph — the fixtures + nodes + net edges of the lit socket.
- WireGuard keys panel (
Mode::Test) — list peer pubkeys, show the appliance's own key, add a key, watch the handshake go green (data model owned by Skidbladnir's socket). - Probe results — per-node
Probeverdicts (asserts / data sucked out of a node).
Seam
The pane calls into Skidbladnir's socket registry (Socket/Fixture/Probe) — it does NOT own the fixtures or the WG crypto. A build-variants.toml cell may add requires=[...]/[socket] to override the type default. Registry pattern = add a fixture/socket in Skidbladnir → zero pane changes.
Status / sequencing
Korp demo matrix is P0 for Tuesday (matrix + gfx console + robot tests: LOCKED). The multi-node console grid + topology + keys panel are the next pane workstream, after Skidbladnir's socket foundation lands.