docs/comparison.md now points at DORA's deployment automation capability, so we should be able to back that up. This issue tracks the gap until we can walk the whole checklist and tick every box.
Reference: https://dora.dev/capabilities/deployment-automation/
The checklist, roughly: ship the same package to every environment, keep environment config separate, deploy with no manual steps, run any deploy-time tasks (migrations included), test the deployment afterwards, and keep a record of what is running where.
Already there
- Same image and same spec everywhere. Only the resolution differs per environment.
- No manual steps.
deployah deploy <env> -y plus --output json and --detailed-exitcode is enough for CI.
- Deploy blocks until resources settle and rolls back on failure (
WaitStrategy and RollbackOnFailure in internal/helm/helm.go), bounded by the 10m default --timeout.
- Environment config lives outside the app spec: contexts, domains, TLS, and profiles in
deployah.platform.yaml.
Open
Related
Not doing
Image builds and test automation stay in CI. That boundary is deliberate, and docs/comparison.md explains why. Blue/green (#33) and canary (#34) are separate promotion models; they are not required to close this checklist.
Done when
Every box above is ticked, and the audit is worth writing up: walk the DORA checklist item by item, including the parts we decided against.
docs/comparison.mdnow points at DORA's deployment automation capability, so we should be able to back that up. This issue tracks the gap until we can walk the whole checklist and tick every box.Reference: https://dora.dev/capabilities/deployment-automation/
The checklist, roughly: ship the same package to every environment, keep environment config separate, deploy with no manual steps, run any deploy-time tasks (migrations included), test the deployment afterwards, and keep a record of what is running where.
Already there
deployah deploy <env> -yplus--output jsonand--detailed-exitcodeis enough for CI.WaitStrategyandRollbackOnFailureininternal/helm/helm.go), bounded by the 10m default--timeout.deployah.platform.yaml.Open
envnever reaches the container. It passes schema validation and then goes nowhere. Environment-specific config is half of this checklist, so this is the big one. (Related later: proposal: support SOPS-encrypted env files #78 for SOPS-encrypted env files, once plaintextenvactually works.)role: job). Schema and init copy already talk about migrations; deploy still rejects the role.listandstatusprint PROJECT / ENV / STATUS / REV / AGE / NAMESPACE. The revision is a Helm counter, not a build. You cannot answer "which image is in staging" without going to the cluster yourself. (Pairs with proposal: support deployah rollback #29: rollback needs a clear picture of what you are rolling back to.)v1-alpha.4can break between releases.Related
role: job(deploy-time tasks / migrations)deployah rollback(deliberate undo after a bad successful deploy)envactually applying)Not doing
Image builds and test automation stay in CI. That boundary is deliberate, and
docs/comparison.mdexplains why. Blue/green (#33) and canary (#34) are separate promotion models; they are not required to close this checklist.Done when
Every box above is ticked, and the audit is worth writing up: walk the DORA checklist item by item, including the parts we decided against.