Back to results for “Sync Waves & Hooks”
ArgoCD › Sync Waves & Hooks

What is the default sync wave and how are negative waves used?

Beginner

Answer

The default wave is 0 when no annotation is set. Negative waves run before wave 0, which is handy for prerequisites like CRDs, namespaces, or operators that must exist before everything else. Ordering runs from the lowest (most negative) to the highest wave.
metadata:
  annotations:
    argocd.argoproj.io/sync-wave: "-1"   # CRDs before workloads
Real-world example CRDs are annotated wave -1 so they install before any custom resources in the default wave 0.

Common follow-ups: Why put CRDs in a negative wave? | What order do waves run in?