You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rolling updates mix old and new pods under one Service. For risky releases, teams want a full new version (green) beside the live one (blue), smoke-test it, then flip traffic atomically, with instant abort by flipping back.
Deployah cannot express that today (one Deployment + RollingUpdate). Related: #19 (rolling knobs; blue/green explicitly out of scope there), #29 (Helm revision rollback, different mechanism).
Goals
Spec can select blue/green for a component (at least role: service).
v1: native Service-slot blue/green (two workloads + stable active Service + optional preview); no extra cluster controllers.
CLI for deploy inactive slot, promote, and abort.
Optional preview hostname for green before cutover.
Plan shows slots and which is active.
Document ~2x capacity during the window and backward-compatible data/migrations.
deployah deploy production # update inactive slot (green); wait ready
deployah release status production # live slot + green readiness
deployah release promote production # flip active Service to green
deployah release abort production # keep/restore blue; drop or idle green
Object
Role
Deployments (blue + green, or two named slots)
Workload slots
Service …-active
Selector = live slot; expose / Ingress targets this
Service …-preview (optional)
Points at green for smoke tests
Public FQDN
Stays on active Service (hostname guard unchanged)
Flow: deploy → ready green (blue still live) → promote (selector flip, optional scale-down delay) or abort.
Problem
Rolling updates mix old and new pods under one Service. For risky releases, teams want a full new version (green) beside the live one (blue), smoke-test it, then flip traffic atomically, with instant abort by flipping back.
Deployah cannot express that today (one Deployment + RollingUpdate). Related: #19 (rolling knobs; blue/green explicitly out of scope there), #29 (Helm revision rollback, different mechanism).
Goals
role: service).Non-goals
Proposed design
v1 — native Service slots (no controllers)
…-activeexpose/ Ingress targets this…-preview(optional)Flow: deploy → ready green (blue still live) → promote (selector flip, optional scale-down delay) or abort.
Phase 2 — Argo Rollouts / Flagger (optional)
Emit Rollout/Flagger objects only when CRDs exist (capability check). Local kind keeps
provider: none/ native slots. Shared with canary (#34) progressiveDelivery design.Interactions
strategy: blueGreenFailure modes
--force.Alternatives considered
Compatibility and migration
release.strategy(name open).Test plan
Checklist