mcpField
C
canary-deployment

canary-deployment

github.com/aj-geddesCloud & DevOps373423 installsUpdated 34w ago
Repository

About canary-deployment

A skill for planning and implementing canary deployments, gradually exposing a new version to a small share of users and evaluating metrics. Its references cover Istio, Kubernetes-native scripts, metrics-based analysis, and automated promotion.

Key features

  1. 01Gradual rollout to a user subset
  2. 02Metrics-based issue monitoring
  3. 03Threshold-based rollback or promotion
  4. 04Istio and Kubernetes guides
  5. 05Deployment best practices

Use cases

  1. 01Testing a new version with live traffic
  2. 02Reducing impact during releases
  3. 03Rolling back when errors exceed thresholds
  4. 04Promoting releases based on metrics

Install

Copy the command and run it in a terminal.

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

After installing, type/canary-deploymentin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
automated-canary-promotion.md
istio-based-canary-deployment.md
kubernetes-native-canary-script.md
metrics-based-canary-analysis.md
scripts/
scaffold-tests.sh
templates/
test-template.js

Details

From the project README

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:

# 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:

GuideContents
Istio-based Canary DeploymentIstio-based Canary Deployment
Kubernetes Native Canary ScriptKubernetes Native Canary Script
Metrics-Based Canary AnalysisMetrics-Based Canary Analysis
Automated Canary PromotionAutomated 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

Comments

Markdown supported