-
Notifications
You must be signed in to change notification settings - Fork 279
Proposal: ApplicationSet Progressive Rollout #61
Comments
I'm pretty interested in this, and there was actually some discussion in the slack about this: https://argoproj.slack.com/archives/C014ZPM32LU/p1600274721058300 Sounded like the conclusion was a new CRD, but one that possible was a core part of ArgoCD: argoproj/argo-cd#1283 |
Thanks, I had a look at the slack conversation and at the I still think that a new controller makes sense, because it will allow you to iterate and move fast in the same way we're doing for the AppSet controller. We also have quite different requirements in controlling the application rollout. For example:
This is why I think a separate controller might make more sense. The CRD could be something like
note that this mimic heavily Flagger, but it tries to extend it. |
@maruina currently ApplicationSet only handles the installation of the application CRD. The solution you are looking for is for the installation and the first sync stage? or for the day-to-day sync? |
Day-to-day sync. Every time the AppSet creates/updates the Application(s), something should take care of their synchronization. |
Hi all, I created a PoC for a progressive rollout controller using ApplicationSet. You can find it here https://github.com/maruina/argocd-progressive-rollout-controller Any feedback is very much appreciated :) |
Has any progress been made on this front? I believe this to be a major blocker for adopting ApplicationSet. |
Hi all,
I'm opening this issue because I'd like to discuss with the community a possible solution for what I think it's a common issue while doing GitOps.
Consider the following scenario, where you have multiple production clusters across multiple regions. When you use the ApplicationSet all the Application are updated at the same time and with the automated SyncPolicy you are basically doing a global rollout.
What I would like is to introduce the concept of a progressive rollout where you can decide how to rollout you application across those production clusters.
I can see two possible implementation of this idea:
argocd app wait <MYAPP>
.I think the second approach is much cleaner and doesn't overload the ApplicationSet controller, but I'd like to hear the community thoughts on this.
The text was updated successfully, but these errors were encountered: