Skip to content

proposal: support canary deployments #34

Description

@atkrad

Blue/green (#33) flips 100% of traffic at once. High-traffic services often need a small percent on the new version first, then ramp or abort.

Deployah has no weighted split. Native Kubernetes does not do canary analysis. Use Ingress canary annotations, Gateway API, a mesh, or a controller (Argo Rollouts / Flagger). Do not fake canary with replica counts.

components:
  api:
    release:
      strategy: canary
      canary:
        steps:
          - setWeight: 10
          - pause: { duration: 5m }
          - setWeight: 50
          - pause: {}

Platform picks the provider (ingressNginx, gatewayAPI, argoRollouts, flagger, mesh). Reuse deployah release promote|abort|status from #33.

Ship #33 first. Helm rollback (#29) is a blunt escape hatch, not the abort path.

Related: #19, #23, #24, #25, #29, #33.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/deployDeploy and plan session flowarea/helmChart render, release, post-renderarea/specdeployah.yaml schema or loadingkind/proposalDesign discussion before or during implementation

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions