Compare commits

..
1 Commits
Author SHA1 Message Date
duynguyen 0905f5ca86 fix: ServerSideApply on argocd Application to prune stale fields
argocd was originally helm-installed by hand before ArgoCD existed to
manage it; client-side 3-way merge apply can't prune fields it never
saw in a last-applied-configuration, so a later chart bump left a stale
args on repo-server's copyutil init container (old shell-string command
lingering alongside the new plain cp command) -> cp got 4 args instead
of 3 -> 'No such file or directory' -> CrashLoopBackOff -> Degraded.

Same bug class as envoy-gateway (020b248). ServerSideApply=true tracks
field ownership properly and prunes the stray field on next sync.
2026-09-02 23:12:00 +07:00
+9
View File
@@ -20,3 +20,12 @@ spec:
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: argocd namespace: argocd
# ArgoCD was originally `helm install`ed by hand before ArgoCD existed to
# manage it (see README Phase 3), so client-side 3-way merge apply can't
# see/prune fields from that pre-existing object — left a stale `args` on
# argocd-repo-server's copyutil init container after a later chart bump,
# crashlooping it (same bug class as envoy-gateway, see 020b248).
# ServerSideApply properly tracks field ownership and prunes it.
syncPolicy:
syncOptions:
- ServerSideApply=true