# Canary Deploy Patterns

Traffic splitting, health checks, automated rollback, progressive delivery, and canary...

- Repository: https://github.com/vibeeval/vibecosystem (541 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-08-08
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add vibeeval/vibecosystem --skill canary-deploy-patterns -g -a claude-code -y`
Codex: `npx skills add vibeeval/vibecosystem --skill canary-deploy-patterns -g -a codex -y`
Cursor: `npx skills add vibeeval/vibecosystem --skill canary-deploy-patterns -g -a cursor -y`
Gemini CLI: `npx skills add vibeeval/vibecosystem --skill canary-deploy-patterns -g -a gemini-cli -y`

## Description

Traffic splitting, health checks, automated rollback, progressive delivery, and canary analysis for safe deployments.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Canary Deploy Patterns

Progressive delivery patterns for safe, automated production deployments.

## Traffic Splitting Strategy

```yaml
# 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

```yaml
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 }

The rest: https://github.com/vibeeval/vibecosystem/blob/HEAD/skills/canary-deploy-patterns/SKILL.md
