ArgoCD › Sync Waves & Hooks
How do you ensure a hook runs on every sync versus only on change?
AdvancedAnswer
Hooks run each time a sync applies them. To force a hook (like tests) to run every sync even without changes, ensure the resource differs (e.g., generateName or a changing annotation) or trigger a sync explicitly. For run-once semantics, use appropriate delete policies and stable naming.
metadata:
generateName: smoke-test-Real-world example Using generateName makes a fresh smoke-test Job on every sync rather than skipping an unchanged one.