Pro App oder pro Ressource
ServerSideApply=true: K8s Server-Side Apply statt
Client-Side, für große Manifeste (Annotation-Limit)
und geteilte Ownership.
Prune=false verhindert das Prunen,
Prune=confirm verlangt Bestätigung;
Delete=false/=confirm schützt ebenso
beim Löschen der App (z.B. PVC).
PruneLast=true: prunen erst,
nachdem alles Neue healthy ist.
Replace=true: kubectl replace statt
apply, destruktiv.
ApplyOutOfSyncOnly=true: nur abweichende Ressourcen
anfassen, entlastet den API-Server bei großen Apps.
Dazu: CreateNamespace=true,
Validate=false,
SkipDryRunOnMissingResource=true (CRD kommt im
selben Sync), RespectIgnoreDifferences=true,
PrunePropagationPolicy=background|orphan (Default
foreground).
spec:
syncPolicy:
automated: {prune: true, selfHeal: true}
syncOptions:
- ServerSideApply=true
- ApplyOutOfSyncOnly=true
- PruneLast=true
- CreateNamespace=true
---
# pro Ressource (Annotation):
metadata:
annotations:
argocd.argoproj.io/sync-options: Prune=false