Sync Waves — deployment order (wave -1 → 0 → 1 → 2). Hooks — actions before/after synchronization.
Sync Waves:
1# Namespace (wave -1)2apiVersion: v13kind: Namespace4metadata:5 name: production6 annotations:7 argocd.argoproj.io/sync-wave: "-1"8---9# Deployment (wave 1)10apiVersion: apps/v111kind: Deployment12metadata:13 name: myapp14 annotations:15 argocd.argoproj.io/sync-wave: "1"16---17# Ingress (wave 3)18apiVersion: networking.k8s.io/v119kind: Ingress20metadata:21 name: myapp22 annotations:23 argocd.argoproj.io/sync-wave: "3"
Hooks (PreSync — DB migration):
1apiVersion: batch/v12kind: Job3metadata:4 name: db-migrate5 annotations:6 argocd.argoproj.io/hook: PreSync7 argocd.argoproj.io/hook-delete-policy: HookSucceeded8spec:9 template:10 spec:11 containers:12 - name: migrate13 image: myapp:latest14 command: ["python", "migrate.py"]15 restartPolicy: Never16 backoffLimit: 1
Hook types: PreSync, Sync, PostSync, SyncFail, Skip.