Skip to main content
A runbook's detail page in the Nuon dashboard, showing its steps
Runbooks turn a multi-step operational procedure into a single, repeatable artifact you run against an install on demand. Define the sequence once; run it consistently across every install instead of doing it by hand each time. Common uses:
  • version upgrades
  • database migrations
  • data backfills
  • recovery steps
Each step has a type that determines what it does:
  • component_deploy — Deploy a component. Set deploy_dependents to also roll out the component’s downstream dependents, in dependency order, or plan_only to check for drift without applying the plan. (deploy is accepted as a legacy alias.)
  • component_tear_down — Tear down a component. Set tear_down_dependents to also tear down its downstream dependents, with dependents removed first.
  • action — Run an existing action, or an inline command or script defined directly on the step.
  • sandbox_reprovision — Reprovision the install’s sandbox infrastructure. Set skip_component_deploys to reprovision the infrastructure only, without redeploying components on top, or plan_only to check for drift without applying or redeploying components.
  • sandbox_deprovision — Deprovision the install’s sandbox infrastructure.
Steps run in order, and every run is recorded in the install’s workflow history: a durable, auditable record of what ran, when, and against which install.

Where runbooks live

Define runbooks as TOML files in a runbooks/ directory in your app config. Each file is one runbook:
They sync with the rest of your config via nuon apps sync, run from the app’s working directory in your terminal. Whenever you edit a runbook file locally, re-run nuon apps sync to push the changes to Nuon.

Example

Configuration reference

Runbook

Step

An action step uses either action_name (to run a previously defined action) or the inline fields (command / inline_contents) to define an inline action, not both.

Triggering a runbook

Trigger and watch runs from the Runbooks tab in the dashboard, or from the CLI:
Each run is recorded in the install’s workflow history, so you can review the steps, logs, and outcome of any past runbook execution.

A complete example

For a runnable example, see the programmable-runbook-and-readme app config in example-app-configs. It has runbooks for an on-call restart and a smoke test, plus rendered READMEs that embed them.