Skip to content

Quickstart

This path brings the runner up on your machine with the demo environment: the whole catalog answered from a fixture, without one cloud credential, with a planted incident that always just happened.

Terminal window
git clone https://github.com/sunnysystems/rootpilot-edge.git
cd rootpilot-edge
npm install
npm run build

Worth doing before anything else: it’s what proves the tree is sound on your machine.

Terminal window
npm test

The real identity path is enrollment. For local development there’s a shortcut: a dev CA that signs the tunnel certificate and the runner’s client certificate, with the SPIFFE SAN inside.

Terminal window
npm run dev:certs

This writes to dev-certs/, which is gitignored and valid for 30 days.

Terminal window
RUNNER_CONNECTORS=demo npm run dev:runner

A successful boot looks like this:

boot: liveness {instanceId: "runner-dev-1"}
using provisioned cert (dev/test shortcut) {spiffeId: "spiffe://rootpilot/tenant/demo/runner"}
boot: ready {instanceId: "runner-dev-1"}

If you see 1006 → exited 0 → restart cycling, the runner is up and the tunnel isn’t. See the note above and troubleshooting.

RUNNER_CONNECTORS decides where answers come from. Getting this wrong is the most common cause of “I installed it and the tools return garbage”.

Mode Credentials What it answers
synthetic none Default. A 3-operation seed whose shapes do not match the real connectors. Proves boot and handshake, not tool behavior.
demo none The whole catalog (~190 ops) from a fixture, time-shifted. This is the mode for demos and the consistency CI.
real yours The actual APIs.