Answer
Assign ascending waves by dependency: namespaces/CRDs (wave -1/0), configuration and secrets (wave 0), stateful backends like databases (wave 1) with a readiness gate, then backend services (wave 2), then frontends (wave 3). ArgoCD waits for each wave to be Healthy, ensuring dependencies are ready before dependents deploy.
# db: sync-wave "1"; api: sync-wave "2"; web: sync-wave "3"Real-world example The database (wave 1) must be Healthy before the API (wave 2), which must be up before the web tier (wave 3).