
Canary Deploy Patterns
Traffic splitting, health checks, automated rollback, progressive delivery, and canary...
Install
npx skills add vibeeval/vibecosystem --skill canary-deploy-patterns -g -a claude-code -y- Repository
- vibeeval/vibecosystem541
- Category
- Engineering
- Updated
- 3mo ago
- License
- MIT
- Context cost
- Mediumabout 2,382 tokens
- Runs scripts
- No, instructions only
What it does
Traffic splitting, health checks, automated rollback, progressive delivery, and canary analysis for safe deployments.
Canary Deploy Patterns
Progressive delivery patterns for safe, automated production deployments.
Traffic Splitting Strategy
# Istio VirtualService: gradual traffic shift
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: api-canary
spec:
hosts:
- api.example.com
http:
- route:
- destination:
host: api-stable
port:
number: 80
weight: 95 # 95% to stable version
- destination:
host: api-canary
port:
number: 80
weight: 5 # 5% to canary version
---
# Progressive rollout schedule
# Step 1: 5% canary, observe 10 minutes
# Step 2: 25% canary, observe 10 minutes
# Step 3: 50% canary, observe 10 minutes
# Step 4: 75% canary, observe 10 minutes
# Step 5: 100% canary → promote to stable
Argo Rollouts Canary
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: api-server
spec:
replicas: 10
strategy:
canary:
canaryService: api-canary-svc
stableService: api-stable-svc
trafficRouting:
istio:
virtualService:
name: api-vsvc
steps:
# Step 1: 5% traffic to canary
- setWeight: 5
- pause: { duration: 10m }
# Step 2: Run analysis (automated health check)
- analysis:
templates:
- templateName: canary-success-rate
args:
- name: service-name
value: api-canary-svc
# Step 3: Increase to 25%
- setWeight: 25
- pause: { duration: 10m }
# Step 4: Another analysis gate
- analysis:
templates:
- templateName: canary-success-rate
- templateName: canary-latency
# Step 5: Increase to 50%
- setWeight: 50
- pause: { duration: 15m }
