Deploy your monitoring configuration from YAML files. Validate syntax, preview changes, apply updates, and manage deploy locks.Documentation Index
Fetch the complete documentation index at: https://docs.devhelm.io/llms.txt
Use this file to discover all available pages before exploring further.
Commands
| Command | Description |
|---|---|
devhelm validate <file> | Validate config file syntax (offline) |
devhelm plan -f <file> | Preview changes without applying |
devhelm deploy -f <file> | Apply config changes |
devhelm deploy force-unlock | Release a stuck deploy lock |
devhelm validate
Validate a configuration file offline. No API calls are made — this checks YAML syntax and schema validity.| Flag | Type | Default | Description |
|---|---|---|---|
--strict | boolean | false | Fail on schema warnings (unused secrets, unknown fields, etc.) — not just hard errors |
--skip-env | boolean | false | Skip ${VAR} substitution checks — useful when validating templates without the env vars set |
-o, --output | enum | text | text or json — note this differs from list commands which support table|json|yaml |
plan or deploy. Pair with --strict in pre-merge checks to surface drift you’d otherwise only catch at deploy time.
devhelm plan
Preview what would change without applying anything. Equivalent todeploy --dry-run.
devhelm deploy
Apply configuration changes.Flags
| Flag | Short | Type | Default | Description |
|---|---|---|---|---|
--file | -f | string | devhelm.yml | Config file or directory (repeatable) |
--yes | -y | boolean | false | Skip confirmation prompt (required in CI) |
--prune | — | boolean | false | Delete CLI-managed resources absent from config |
--prune-all | — | boolean | false | Delete all resources absent from config |
--dry-run | — | boolean | false | Preview changes without applying |
--detailed-exitcode | — | boolean | false | Exit 10 if dry-run has pending changes |
--force-unlock | — | boolean | false | Break existing lock before acquiring |
--no-lock | — | boolean | false | Skip deploy locking |
--lock-timeout | — | integer | 0 | Seconds to wait for lock (0 = fail immediately) |
--output | -o | string | text | Output format: text or json |
--api-token | — | string | — | Override API token |
--api-url | — | string | — | Override API base URL |
--verbose | -v | boolean | false | Enable debug logging |
Multiple config files
Pass-f multiple times to deploy from multiple files:
Pruning
By default,deploy only creates and updates resources defined in your config. Resources not in the file are left untouched.
--prunedeletes resources that were previously created by the CLI but are no longer in the config file.--prune-alldeletes all resources not in the config, including those created via the dashboard or API.
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 |
Deploy locking
Only one deploy can run at a time per organization. If a lock is held by another process, the CLI fails immediately by default. Use--lock-timeout to wait:
--no-lock to skip locking entirely (not recommended for shared environments):
devhelm deploy force-unlock
Release a stuck deploy lock manually.| Flag | Short | Type | Description |
|---|---|---|---|
--yes | -y | boolean | Skip confirmation prompt |
Next steps
Monitoring as Code
Full YAML format and workflow guide.
GitHub Actions
Automate deploys from CI.
CI/CD pipeline guide
End-to-end CI/CD setup.