The cert-upgrader CronJob template previously hardcoded:
annotations:
cert-upgrader-uid: ""
The upgrader job mutates this annotation at runtime to store its execution UID. Because the chart rendered a static empty value, ArgoCD always detected drift after the first execution.