# This example demonstrates a Rollout using the canary update strategy with a customized rollout # plan. The prescribed steps initially sets a canary weight of 20%, then pauses indefinitely. Once # resumed, the rollout performs a gradual, automated 20% weight increase until it reaches 100%. apiVersion: argoproj.io/v1alpha1 kind: Rollout metadata: name: rollout-canary namespace: argo-rollouts spec: replicas: 5 revisionHistoryLimit: 2 selector: matchLabels: app: rollout-canary template: metadata: labels: app: rollout-canary spec: containers: - name: rollouts-demo image: argoproj/rollouts-demo:blue imagePullPolicy: Always ports: - containerPort: 8080 strategy: canary: steps: - setWeight: 20 # The following pause step will pause the rollout indefinitely until manually resumed. # Rollouts can be manually resumed by running `kubectl argo rollouts promote ROLLOUT` - pause: {} - setWeight: 40 - pause: {duration: 40s} - setWeight: 60 - pause: {duration: 20s} - setWeight: 80 - pause: {duration: 20s}