Fleet reroll
Fleet rerolls dispatch the same four-arm converge enum (preview / up /
refresh / destroy) that the admin UI and MCP tools use. Full runbook:
reroll-cli.runbook.md.
Preferred path — nayaone-admin
Section titled “Preferred path — nayaone-admin”# Single-box upnayaone-admin api adminRunPulumiConverge --body '{ "scope": { "kind": "box", "id": "<box-ulid>" }, "action": "up"}'
# Fleet-scoped upnayaone-admin api adminRunPulumiConverge --body '{ "scope": { "kind": "fleet" }, "action": "up"}'
# Runner converge (path param + body)nayaone-admin api adminConvergeRunner \ --param id=<runner-ulid> \ --body '{"action": "up"}'REST fallback: POST /admin-api/pulumi-state/converge ·
POST /admin-api/runners/{id}/converge.
Batch path — scripts/reroll.ts
Section titled “Batch path — scripts/reroll.ts”From an n1-cloud checkout (requires N1_CLOUD_API_KEY):
cd n1-cloudbun scripts/reroll.ts --action up --box <box-ulid>bun scripts/reroll.ts --helpThe script does not invoke GitHub Actions directly — it hits the Worker
converge route; the Worker dispatches converge.yml on n1-cloud-pulumi.
Bootstrap floor
Section titled “Bootstrap floor”After a normal converge up, bootstrap pyinfra runs automatically
(PRD-0/DO-63).
Do not manually redispatch deploy_slug=bootstrap after a successful
up — that races the post-converge hook.
Related
Section titled “Related”- Saga:
box-reroll-saga.runbook.md. - Verification:
box-reroll-verification.runbook.md.