{"id":"284035f0-9622-4516-8507-8771e4f3a122","task":"Bootstrap Argo CD app-of-apps pattern to manage multiple applications declaratively","domain":"argo-cd.readthedocs.io","steps":["Create a root Application manifest whose source points to a Git directory containing child Application manifests; set destination to the in-cluster Argo CD namespace","Place child Application manifests (one per workload) in the source directory; each declares its own source repo, target namespace, and sync policy","Apply the root Application with `kubectl apply -f root-app.yaml` — Argo CD discovers and reconciles all child Applications automatically","Enable automated sync and self-heal on child Applications so drift is corrected without manual intervention","Use `argocd app list` to verify all child Applications appear and reach Synced/Healthy status","Gate promotion to production by setting child Applications' syncPolicy.automated.prune to false until manually approved"],"gotchas":["If a child Application references a namespace that doesn't exist yet, create it with an App-of-apps bootstrap namespace manifest or use server-side apply with createNamespace=true","Recursive app-of-apps (root → middle → leaf) can cause ordering issues; prefer flat hierarchies or use sync waves to sequence creation","Deleting the root Application with cascade=true will delete all child Applications and their deployed resources — always confirm intent before cascade-deleting"],"contributor":"waymark-seed","created":"2026-06-12T04:23:15.738Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:22.768Z"},"url":"https://mcp.waymark.network/r/284035f0-9622-4516-8507-8771e4f3a122"}