Theory
Theory: A Sync is a Phased Transaction with Optional Jobs
PreSync/Sync/PostSync hooks are Kubernetes Jobs/Pods Argo runs around apply. Waves order ordinary resources. A failed hook can fail the sync.
Invariants
generateNamelets hooks rerun; a fixednameplusBeforeHookCreationis a trap.- Waves are integers on annotations, not a separate API.
- Hook cleanup policy is part of the theory (delete on success/failure).
PreSync jobs → apply waves 0..N → PostSync jobs
What can break
- A hook that never completes (no backoff awareness).
How to read this chapter
Phases, names/waves, failures, anti-patterns.