progressive-delivery
Progressive delivery on Kubernetes — canary and blue-green deployments via Argo Rollouts, plus environment-to-environment promotion via Kargo. USE WHEN implementing canary releases, blue-green deployments, traffic shifting between revisions, metric-gated promotions, AnalysisTemplate/AnalysisRun design, Argo Rollouts CRDs, or Kargo freight/warehouse/stage promotion pipelines, multi-stage promotion across dev/staging/prod, ArgoCD+Kargo integration. Rollouts handles WHICH revision serves traffic; Kargo handles WHICH revision is in which environment. Use both together when you need both deployment strategy AND multi-environment promotion.
Works with
---
name: progressive-delivery
description: Progressive delivery on Kubernetes — canary and blue-green deployments via Argo Rollouts, plus environment-to-environment promotion via Kargo. USE WHEN implementing canary releases, blue-green deployments, traffic shifting between revisions, metric-gated promotions, AnalysisTemplate/AnalysisRun design, Argo Rollouts CRDs, or Kargo freight/warehouse/stage promotion pipelines, multi-stage promotion across dev/staging/prod, ArgoCD+Kargo integration. Rollouts handles WHICH revision serves traffic; Kargo handles WHICH revision is in which environment. Use both together when you need both deployment strategy AND multi-environment promotion.
license: MIT
---
# Progressive Delivery
Two complementary tools for moving versions safely through Kubernetes environments:
- **Argo Rollouts** — replaces `Deployment` with a `Rollout` CRD that supports canary, blue-green, and metric-gated automated analysis. Handles traffic shaping at the cluster/service-mesh layer.
- **Kargo** — extends GitOps with promotion logic. Tracks `Freight` (versioned bundles of artifacts) and promotes it through `Stages` (dev → staging → prod) via `Warehouses` (sources) and verification steps.
ArgoCD continues to do what it does (sync desired state → cluster). Rollouts decides traffic split during a single deploy. Kargo decides when the next stage gets the new version.
## Scope routing
| If you need to… | Read |
|---|---|
| Canary / blue-green / metric-gated deploy of a single workload | `References/argo-rollouts.md` + `References/argo-rollouts/` |
| Promote a version across dev → stg → prod with manual or automated gates | `References/kargo.md` + `References/kargo/` |
| Both (Rollouts as the deploy strategy inside a Kargo-managed promotion) | Read both; Kargo invokes ArgoCD which deploys a Rollout |
## Mental model
```
Kargo: Freight v1.2.3 -> [dev stage] -> verify -> [stg stage] -> verify -> [prod stage]
|
v
ArgoCD: syncs Rollout manifest
|
v
Rollouts: canary @ 10% -> analysis -> 50% -> 100%
```
## When NOT to use
- Simple `Deployment` rollouts that don't need traffic shaping or analysis gates — vanilla Kubernetes Deployments are fine.
- Manual promotion via PRs editing target revision — that's the core `argocd` skill, not this one.
- Feature flags and runtime percentage rollouts inside the app — that's an application concern (LaunchDarkly, Unleash, etc.), not a deployment one.
## Gotchas
- **Rollouts replaces Deployment; it is not an addition.** Migrating an existing app means changing the resource kind. Plan for one revision of downtime if not handled with kubectl-argo-rollouts conversion.
- **AnalysisTemplate metrics queries are scoped to the Rollouts controller's permissions.** If your Prometheus is in another namespace, the controller needs RBAC or a service-account token.
- **Kargo Freight is immutable.** Once produced, you don't edit it — you produce new Freight. Trying to "patch" a Stage's current Freight is an anti-pattern.
- **Kargo + ArgoCD integration requires Kargo's controller to have permission to update ArgoCD `Application` CRs.** Default install doesn't grant this — read the Helm values for `argocd.permissions`.
- **Verification steps run between stages, not within them.** A failing verification doesn't roll back the prior stage — it just blocks promotion forward. If you need rollback, that's a separate Rollouts-level analysis.More Deployment & CI/CD skills
azure-enterprise-infra-planner
microsoft/azure-skills
Architect and provision enterprise Azure infrastructure from workload descriptions. For cloud architects and platform engineers planning networking, identity, security, compliance, and multi-resource topologies with WAF alignment. Generates Bicep or Terraform directly (no azd). WHEN: 'plan Azure infrastructure', 'architect Azure landing zone', 'design hub-spoke network', 'plan multi-region DR topology', 'set up VNets firewalls and private endpoints', 'subscription-scope Bicep deployment', 'Azure Backup for VM workloads'. PREFER azure-prepare FOR app-centric workflows.
azure-kubernetes-app-deploy
microsoft/azure-skills
Use when deploying an existing web application or API to an already-running Azure Kubernetes Service cluster. Detects the framework, generates a Dockerfile and Kubernetes manifests, validates against AKS Deployment Safeguards, and deploys with verification. WHEN: deploy app to AKS, deploy to existing AKS cluster, containerize app for Kubernetes, generate K8s manifests for Azure, set up CI/CD for AKS, my AKS deployment is failing safeguard checks, I have a Django/Express/Spring Boot app to run on AKS. DO NOT USE FOR: creating or provisioning an AKS cluster (use azure-kubernetes), assessing migration to AKS Automatic (use azure-kubernetes-automatic-readiness), or deploying to non-AKS targets like Web Apps, Container Apps, or Functions.
finetuning
microsoft/azure-skills
Fine-tune models on Microsoft Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job submission, deployment, and evaluation. USE FOR: fine-tune, SFT, DPO, RFT, training data, grader, distillation, fine-tuned model, training job, large file upload, calibrate grader, deploy fine-tuned model, evaluate fine-tuned model. DO NOT USE FOR: general model deployment without fine-tuning (use deploy-model), agent creation (use agents), prompt optimization without training (use prompt-optimizer).

