Build

Production day-0

The Supported honesty bar is not “compose came up.” It is Postgres + Redis, real client auth, runner tokens, and an Admin credential that includes admin.

What it is

A checklist before you show the plane to another team: durable state, shared queue/sessions, authenticated clients, authenticated runners, and operators who can log into Admin without using an app key.

Why it is here

Try path trains open Admin. Production must invert that default. This page is the explicit switch.

How to implement

  1. Datastores — Postgres DSN + Redis URL; run migrations / readyz green.
  2. Authauth.type: api_key (or JWT); operator key with admin; app keys without Admin.
  3. RunnersRUNNER_TOKEN_* + RUNNER_TENANTS_* when client auth is on.
  4. Admin — open /admin/, paste operator key (see Admin login).
  5. Edge — TLS at ingress or process; do not expose plain Admin on the public internet.
  6. Helm — prefer chart values that inject RUNKITE_API_KEY into an admin-capable key; follow deploy/helm README.
# Smoke after auth is on
curl -sf -H "Authorization: Bearer sk-ops-admin" http://localhost:2026/admin-api/overview
# Browser: http://localhost:2026/admin/  → paste the same key

In the product

Ops surfaces you should see once authenticated — runs, governance, webhooks
Runkite Admin walkthrough

What to expect

Reference: Install · docs/deployment.md · docs/ops-runbook.md