Skip to content

fix(cluster): enable ArgoCD Progressive Syncs on the ApplicationSet controller - #55

Draft
nbrieussel wants to merge 1 commit into
mainfrom
feature/argocd-progressive-syncs
Draft

fix(cluster): enable ArgoCD Progressive Syncs on the ApplicationSet controller#55
nbrieussel wants to merge 1 commit into
mainfrom
feature/argocd-progressive-syncs

Conversation

@nbrieussel

Copy link
Copy Markdown
Contributor

Summary

  • Companion to gitops#24: that PR moved Velero/external-dns/Dex/Grafana into the services-app-scaleway ApplicationSet graph so their sync-wave would be coordinated against the -init/-config apps that produce their OpenBao-backed Secrets.
  • Confirmed live 2026-08-11 that this alone doesn't work: sync-wave annotations on Applications generated by an ApplicationSet are inert — each generated Application is created and auto-synced independently, with no cross-Application ordering, unlike the classic app-of-apps pattern (a single parent Application managing children as its own resources) where sync-wave genuinely is honored.
  • Adds applicationSet.extraArgs: [--enable-progressive-syncs] to the ArgoCD Helm release, required for gitops's services-app-scaleway ApplicationSet to use a RollingSync strategy (label-based grouping, not annotation-based) that actually gates group N+1 on group N being Healthy.

Test plan

  • terraform apply on 10-cluster/scaleway, confirm the ArgoCD Helm release upgrades cleanly (applicationset-controller pod restarts with the new arg)
  • Confirm services-app-scaleway's generated Applications now roll out wave-by-wave (kubectl get application -n argocd -l wave=<N>) instead of all racing at once
  • Confirm Velero/external-dns/Dex/kube-prometheus-stack no longer start before their credential-producing sibling app is Healthy

🤖 Generated with Claude Code

https://claude.ai/code/session_017ZMCuQ5t9hdrmUctLk7hEv

…yncs

Without --enable-progressive-syncs, the argocd.argoproj.io/sync-wave
annotation on Applications generated by an ApplicationSet does nothing —
each is created and auto-synced independently, no ordering across them.
Confirmed live 2026-08-11: this let Velero/external-dns/Dex/Grafana race
OpenBao's restore on a fresh cluster boot even after moving them into the
ApplicationSet-driven graph (gitops PR #24). services-app-scaleway
(bootstrap/templates/scaleway.yaml in the gitops repo) now uses a
RollingSync strategy that needs this flag to actually enforce ordering.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017ZMCuQ5t9hdrmUctLk7hEv
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant