Phasen, dann Waves
Reihenfolge pro Sync: PreSync →
Sync → PostSync;
SyncFail läuft nur bei Fehlschlag.
Innerhalb einer Phase ordnen Waves
(argocd.argoproj.io/sync-wave, Default 0, negativ
erlaubt): niedrigste Wave zuerst, dann Kind, dann Name.
Die nächste Wave startet erst, wenn die vorige synced +
healthy ist; zwischen Waves liegen 2 s Delay
(ARGOCD_SYNC_WAVE_DELAY).
Hooks
argocd.argoproj.io/hook: PreSync
(z.B. DB-Migration), Sync, PostSync
(Smoke-Test), SyncFail (Cleanup), Skip
(nicht anwenden); PreDelete/PostDelete
nur beim Löschen der App.
Aufräumen via
argocd.argoproj.io/hook-delete-policy:
HookSucceeded, HookFailed,
BeforeHookCreation (Default).
apiVersion: batch/v1
kind: Job
metadata:
name: db-migrate
annotations:
argocd.argoproj.io/hook: PreSync
argocd.argoproj.io/hook-delete-policy: HookSucceeded
argocd.argoproj.io/sync-wave: "-1"
spec:
template:
spec:
containers:
- name: migrate
image: registry.example.com/shop/migrate:1.4.2
restartPolicy: Never