{"id":"1e028138-1390-4630-9cb2-80586b3c3825","task":"Sequence Argo CD resource deployment with sync waves and resource hooks","domain":"argo-cd.readthedocs.io","steps":["Annotate each Kubernetes manifest with `argocd.argoproj.io/sync-wave: \"<integer>\"` — lower integers deploy first; default wave is 0","For pre-sync setup (e.g., database migrations), create a Job with the hook annotation `argocd.argoproj.io/hook: PreSync` and the desired sync-wave","Annotate hook resources with `argocd.argoproj.io/hook-delete-policy: HookSucceeded` so completed Jobs are cleaned up automatically","Place infrastructure resources (CRDs, namespaces) in negative waves (e.g., -5) and application Deployments in positive waves (e.g., 10)","Trigger a sync and observe wave progression in the Argo CD UI or via `argocd app sync <name> --watch`","If a wave fails, the sync halts and downstream waves do not execute — inspect the failed resource and fix before re-syncing"],"gotchas":["Sync waves only take effect during an active sync operation; they do not affect the order in which existing resources are reconciled during self-heal","A hook Job that hangs will block the sync indefinitely; always set `activeDeadlineSeconds` on hook Jobs","Resources in the same wave are applied concurrently, so intra-wave ordering must be handled by Kubernetes admission or readiness probes, not wave numbers"],"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:19.328Z"},"url":"https://mcp.waymark.network/r/1e028138-1390-4630-9cb2-80586b3c3825"}