Deploy your monitoring configuration from YAML files. Validate syntax, preview changes, apply updates, and manage deploy locks.
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-unlockRelease a stuck deploy lock
devhelm validate
Validate a configuration file offline. No API calls are made — this checks YAML syntax and schema validity.
devhelm validate devhelm.yml
Use this in CI as an early check before running plan or deploy.
devhelm plan
Preview what would change without applying anything. Equivalent to deploy --dry-run.
devhelm plan -f devhelm.yml
The output shows resources to create, update, and delete.
devhelm deploy
Apply configuration changes.
devhelm deploy -f devhelm.yml --yes
Flags
Flag Short Type Default Description --file-fstring devhelm.ymlConfig file or directory (repeatable) --yes-yboolean falseSkip confirmation prompt (required in CI) --prune— boolean falseDelete CLI-managed resources absent from config --prune-all— boolean falseDelete all resources absent from config --dry-run— boolean falsePreview changes without applying --detailed-exitcode— boolean falseExit 10 if dry-run has pending changes --force-unlock— boolean falseBreak existing lock before acquiring --no-lock— boolean falseSkip deploy locking --lock-timeout— integer 0Seconds to wait for lock (0 = fail immediately) --output-ostring textOutput format: text or json --api-token— string — Override API token --api-url— string — Override API base URL --verbose-vboolean falseEnable debug logging
Multiple config files
Pass -f multiple times to deploy from multiple files:
devhelm deploy -f monitors.yml -f alert-channels.yml --yes
Pruning
By default, deploy only creates and updates resources defined in your config. Resources not in the file are left untouched.
--prune deletes resources that were previously created by the CLI but are no longer in the config file.
--prune-all deletes all resources not in the config, including those created via the dashboard or API.
devhelm deploy -f devhelm.yml --prune --yes
--prune-all deletes resources created outside config-as-code. Use with caution.
Dry-run with exit codes
Combine --dry-run and --detailed-exitcode for CI gating:
devhelm deploy -f devhelm.yml --dry-run --detailed-exitcode
Exit code Meaning 0No changes needed 10Changes pending 1Error
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:
devhelm deploy -f devhelm.yml --yes --lock-timeout 60
Use --no-lock to skip locking entirely (not recommended for shared environments):
devhelm deploy -f devhelm.yml --yes --no-lock
devhelm deploy force-unlock
Release a stuck deploy lock manually.
devhelm deploy force-unlock --yes
Flag Short Type Description --yes-yboolean Skip confirmation prompt
Only force-unlock if you’re certain no other deploy is running. Unlocking during an active deploy can cause inconsistent state.
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.