| name | gitops-cd-developer |
| version | 1.0.0 |
| description | Author production GitOps continuous-delivery setups — the App-of-Apps pattern (ArgoCD or
Flux) where a root Application spawns N child Applications that auto-sync, self-heal,
and prune; reusable shareable Helm charts with multi-runtime defaults (Node.js / PHP /
Java / static), HPA, probes, init containers, ingress, HTTPRoute; multi-environment
values layout (dev / staging / prod, multi-instance, multi-region); and progressive
deployment strategies (RollingUpdate / Recreate / blue-green / canary). Use this skill
whenever the user wants to set up GitOps CD, design an App-of-Apps tree, build a
sharable Helm chart, structure values.yaml across environments / instances / regions,
choose a rollout strategy, configure ArgoCD sync waves and self-heal, package + push a
chart to an OCI registry, or hits you with phrases like "set up ArgoCD", "app-of-apps",
"GitOps for k8s", "sharable Helm chart", "multi-tenant chart", "canary deploy", "rollout
strategy", "progressive delivery", or "deploy to multiple envs".
|
| license | MIT |
| compatibility | claude-code opencode |
| allowed-tools | ["Read","Write","Edit","Grep","Glob","Bash"] |
| metadata | {"author":"MKAbuMattar","requirements":"ArgoCD 2.10+ (default target) — patterns also map to Flux 2 with `Kustomization` + `HelmRelease`. Helm 3.14+. Kubernetes 1.27+. Optional - Argo Rollouts for canary / blue-green; Gateway API for HTTPRoute; OCI-capable registry for chart distribution."} |
GitOps CD Developer
CD half of the GitOps loop: a root Application spawns child Applications, each of which renders a shareable Helm chart with per-environment values and a chosen rollout strategy. ArgoCD sees the diff, syncs, self-heals, prunes — no kubectl apply from a CI pipeline.
When to use
- The user wants to set up ArgoCD / Flux for the first time.
- The user wants to design an App-of-Apps tree so one root manages many envs / instances / tenants.
- The user wants a sharable Helm chart their other repos can consume (multi-runtime, multi-env).
- The user wants to choose / wire a rollout strategy: RollingUpdate, Recreate, blue-green, canary.
- The user wants
values-dev.yaml / values-staging.yaml / values-prod.yaml laid out cleanly.
- A task chain ends in "and ArgoCD picks it up automatically".
Pairs with gitops-pipeline-developer (the CI half — produces images and updates values.yaml). Together: CI pushes the image + tag + digest to GitOps; CD reconciles cluster state from the GitOps repo.
The release loop in one paragraph
CI produces a signed image and writes the new tag + digest into a values.yaml in a GitOps repo. The root ArgoCD Application in the management cluster watches a folder of child Application templates; each child points at the GitOps repo and renders one or more workloads via a shared Helm chart. ArgoCD's automated sync sees the values-file change, performs helm template, diffs against the live cluster, applies changes with ServerSideApply, and reports Healthy / Synced. Self-heal undoes drift; prune removes resources no longer in git. The cluster's state is, by definition, what's in git.
Required structure
A typical GitOps CD layout has three repos (or three trees in one monorepo):
gitops/
├── app-of-apps/ # Root + per-env child Applications
│ ├── projects.yaml # AppProject (security boundary)
│ ├── root-application.yaml # The root Application (the one human applies once)
│ ├── envs/
│ │ ├── dev/
│ │ │ ├── Chart.yaml # Helm chart that renders ArgoCD Applications
│ │ │ ├── values.yaml # which apps to spawn in dev
│ │ │ └── templates/
│ │ │ └── apps.yaml # one Application per app
│ │ ├── staging/
│ │ └── prod/
│ └── README.md
├── helm-chart-template/ # The shareable chart (published to OCI registry)
│ └── helm-chart-template/
│ ├── Chart.yaml
│ ├── values.yaml # full schema with sane defaults
│ ├── templates/
│ └── README.md
└── consumer-chart/ # Per-app chart that depends on the template
├── Chart.yaml # dependency: helm-chart-template
├── values-dev.yaml # tag, digest, env-specific overrides
├── values-staging.yaml
└── values-prod.yaml