Agent skill

canary-deployment

Implement canary deployment strategies to gradually roll out new versions to subset of users with automatic rollback based on metrics.

Stars 151
Forks 20

Install this agent skill to your Project

npx add-skill https://github.com/aj-geddes/useful-ai-prompts/tree/main/skills/canary-deployment

SKILL.md

Canary Deployment

Table of Contents

Overview

Deploy new versions gradually to a small percentage of users, monitor metrics for issues, and automatically rollback or proceed based on predefined thresholds.

When to Use

  • Low-risk gradual rollouts
  • Real-world testing with live traffic
  • Automatic rollback on errors
  • User impact minimization
  • A/B testing integration
  • Metrics-driven deployments
  • High-traffic services

Quick Start

Minimal working example:

yaml
# canary-deployment-istio.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: myapp-v1
  namespace: production
spec:
  replicas: 3
  selector:
    matchLabels:
      app: myapp
      version: v1
  template:
    metadata:
      labels:
        app: myapp
        version: v1
    spec:
      containers:
        - name: myapp
          image: myrepo/myapp:1.0.0
          ports:
            - containerPort: 8080

---
// ... (see reference guides for full implementation)

Reference Guides

Detailed implementations in the references/ directory:

Guide Contents
Istio-based Canary Deployment Istio-based Canary Deployment
Kubernetes Native Canary Script Kubernetes Native Canary Script
Metrics-Based Canary Analysis Metrics-Based Canary Analysis
Automated Canary Promotion Automated Canary Promotion

Best Practices

✅ DO

  • Follow established patterns and conventions
  • Write clean, maintainable code
  • Add appropriate documentation
  • Test thoroughly before deploying

❌ DON'T

  • Skip testing or validation
  • Ignore error handling
  • Hard-code configuration values

Didn't find tool you were looking for?

Be as detailed as possible for better results