Lifecycle
1. Validate
Check YAML syntax and schema validity offline — no API calls are made:- YAML syntax
- Required fields for each resource type
- Type-specific config (e.g.,
urlrequired for HTTP monitors) - Cross-references (e.g., alert channel names exist in config)
- Environment variable resolution
2. Plan
Preview what would change without applying anything:3. Deploy
Apply the configuration:- Loads and validates the YAML
- Fetches current state from the API
- Computes the diff (same as plan)
- Acquires a deploy lock (unless
--no-lock) - Prompts for confirmation (unless
--yes) - Applies changes in dependency order
- Releases the deploy lock
Non-interactive mode
For CI pipelines, always pass--yes to skip the confirmation prompt:
Dry-run with exit codes
Combine--dry-run and --detailed-exitcode for CI gating:
| Exit code | Meaning |
|---|---|
0 | No changes needed |
10 | Changes pending |
1 | Error |
JSON output
Get structured output for programmatic consumption:Pruning
By default, deploy only creates and updates resources. Resources not in your YAML are left untouched.| Flag | Behavior |
|---|---|
| (default) | Create and update only |
--prune | Also delete CLI-managed resources absent from config |
--prune-all | Delete all resources absent from config, including dashboard-created ones |
Multi-file deploys
Split config across files for organization:*.yml and *.yaml files in the directory are loaded in sorted order and merged by resource name.
Next steps
Drift and locking
How drift detection and deploy locks work.
CI/CD patterns
Automate the deploy workflow in CI.