Run the Local Service Stack
Bring up the whole service-driven flow — backend (run queue), auth, dispatcher, and artifact service — on a local k3d cluster (the web console runs from source, not in-cluster), and drive runs the way the web console does in the cloud: enqueue a run, and an in-cluster dispatcher schedules it as a per-run driver Job. This is the service-driven alternative to the single CLI Run a Test Case.
For the full walkthrough and the why, see Running the Local Service Stack; for every service variable, Running.
Prerequisites
Section titled “Prerequisites”- Docker (or a Docker-compatible runtime),
k3d,kubectl, andmakeonPATH. (k3d’s first-class runtime is Docker; on Podman it needs rootful + the Docker socket.) - A harness API key exported —
ANTHROPIC_API_KEY(claude),OPENAI_API_KEY(codex), orOPENROUTER_API_KEY(cline/goose/kilo/opencode/pi). The Makefile reads it from the environment into the cluster Secret; nothing is written to a tracked file.
export OPENROUTER_API_KEY=… # the harness you'll run
make -C deployments/local local-up # cluster + images (backend/auth/dispatcher/driver/artifact/arena) + secrets + overlay + ingestmake -C deployments/local local-forward # backend → :8787, auth → :8789, artifacts → :8790, arena → :8791 (leave running)npm run -w apps/web dev # the web console, from source → :1430 (its own terminal)The web console runs from source (not in-cluster), pre-pointed at the forwarded
backend/auth via the committed apps/web/.env.development — no VITE_BACKEND_URL to
set. Open it at http://127.0.0.1:1430 and the catalog loads on first visit. Then,
in the console:
- Register / log in (or
tcab register --username dev --display-name "Dev") so push/review/publish are attributed to you. - Enqueue a run — pick a case, a model, and the harness whose key you exported. The console streams its events live.
- Watch it schedule as a Job:
kubectl -n tcab-local get jobs,pods -wshows a driver Job and (Kubernetes runtime) a sandbox pod. The finished run is reviewable, its build served from the artifact service.
Manage
Section titled “Manage”make -C deployments/local local-status # pods, services, volumesmake -C deployments/local local-rebuild # after a code change: rebuild + restartmake -C deployments/local local-ingest # after editing a case: force re-ingestmake -C deployments/local local-down # delete the cluster and everything in itNext steps
Section titled “Next steps”- Running the Local Service Stack — the full guide, including the topology and troubleshooting.
- Review a Run · Publish a Run — what to do with the run you produced.