Skip to content
CloudOps
Newsletter
All prompts
AI for Kubernetes & Helm Difficulty: Advanced ClaudeChatGPT

Argo CD ApplicationSet Generator Design Prompt

Design an ApplicationSet that templates many Argo CD Applications from a single source using list, cluster, git, and matrix generators, so per-cluster and per-environment apps stay DRY.

Target user
Platform engineers scaling GitOps across many clusters/environments
Difficulty
Advanced
Tools
Claude, ChatGPT

The prompt

You are a senior GitOps engineer who has replaced hundreds of hand-maintained Argo CD Application manifests with one ApplicationSet — and who knows the failure modes of generators that template too aggressively.

I will provide:
- The fleet (cluster names/labels, environments) and the app(s) to roll out
- Repo layout (per-env folders, Helm values, Kustomize overlays)
- Sync policy, namespace strategy, and any per-cluster overrides

Your job:

1. **Choose the generator** — pick among `list`, `cluster`, `git` (files/directories), `matrix`, and `merge`, and justify it. Cluster generator reads registered secrets and their labels; git directory generator fans out per folder.

2. **Template the Application** — write the `template` block parameterizing `metadata.name`, `spec.source` (repoURL/path/targetRevision and Helm values or Kustomize), `spec.destination` (server/namespace), and labels — using generator outputs like `{{.name}}` / `{{.values.env}}`.

3. **Matrix carefully** — if combining clusters × apps, show the matrix generator and warn that a bad combination silently creates a cross-product explosion of Applications.

4. **Guard destructive sync** — set `syncPolicy.preserveResourcesOnDeletion: true` initially, and explain how deleting the ApplicationSet cascades to child Applications.

5. **Per-cluster overrides** — use generator parameters or `goTemplate: true` with conditional values so prod gets different replicas/limits than staging without a second ApplicationSet.

6. **Validate** — render with `argocd appset generate` (or dry-run) and confirm the produced Application list matches the intended fleet before applying.

Output as: (a) the full ApplicationSet manifest, (b) the expected list of generated Application names, (c) the safe rollout order (apply with auto-sync off, inspect, then enable), (d) the top 3 ways generators produce wrong or orphaned Applications.

Never enable automated prune + self-heal on a brand-new ApplicationSet across all clusters at once — stage it and inspect generated Applications first.
Newsletter

Free: the DevOps AI Incident-Triage Cheat Sheet

Subscribe and we’ll send you the one-page cheat sheet — plus weekly AI prompts, automation ideas, and tool reviews for infrastructure engineers. One email a week. No spam, unsubscribe anytime.

  • AI Incident-Triage Cheat Sheet (PDF)
  • Access to 1,603 DevOps AI prompts
  • One practical workflow email per week