Summary
Test runbooks in CI to catch broken scripts before deployment.
Design
dops test ./catalogs/infra/
test.yaml alongside runbook.yaml:
tests:
- name: dry run succeeds
params: { namespace: test, replicas: "1" }
dry_run: true
expect:
exit_code: 0
output_contains: ["NAMESPACE=test"]
- name: missing required param fails
params: {}
expect:
exit_code: 1
- JUnit XML output for CI integration
- Run as GitHub Action
Impact
Shifts runbook validation left. Catches syntax errors, missing vars, broken logic before production.
Summary
Test runbooks in CI to catch broken scripts before deployment.
Design
dops test ./catalogs/infra/test.yamlalongside runbook.yaml:Impact
Shifts runbook validation left. Catches syntax errors, missing vars, broken logic before production.