argoproj / argo-cd

Declarative Continuous Deployment for Kubernetes
https://argo-cd.readthedocs.io
Apache License 2.0
18.01k stars 5.49k forks source link

Automated rollback using Argocd is it possible? #6147

Open nandeeshb09 opened 3 years ago

nandeeshb09 commented 3 years ago

Hi Team,

Im trying to find or how to implement automated rollback using Argocd.

But found some of the options like argo rollouts, but argo rollout is not automated rollback option.

As I need to rollback based on the below conditions.

1 .Based on liveness and readiness probs If liveness or readiness failed argocd should rollback to the last successful revision. 2 . Based on some dependency. During the deployment, if any releases failed , then it should rollback to last successful revision

Is it available using Argocd and if its there , then how it can be achieved?

servo1x commented 3 years ago

I think you may want to use something like Argo Rollouts.

nandeeshb09 commented 3 years ago

@servo1x ,

Argo rollout is different , its rolling update to the newer version with blue green strategy or canary deployment.

Im looking for automatic rollback if any issues with current version/release.

AlexDCraig commented 3 years ago

I agree with @nandeeshb09. I'm a bit confused why there's not an option built in just to roll back to the last commit if an app is degraded. I don't see why you need a whole separate other tool just for something simple like what Helm natively provides with helm install --atomic.

musabmasood commented 3 years ago

May be its easier to implement without autosync enabled, but with autosync in place it becomes even trickier.

A "Healthy" application when "autosync" is enabled implies that the deployed version is the same as the branch HEAD / latest commit. If the deployment fails and it points to the last commit, the implication does't hold true anymore.

May be there could be another status like "Rolled back" but then what if the rollback fails as well?

jackmtpt commented 1 year ago

Is there any plan to implement something like this? We don't plan on using automatic sync, so a simple option that says "if the app failed to sync, automatically roll back to the previously-synced version and sync that" would suffice.

youssefBa1 commented 9 months ago

hey did find a way to achieve an Automated rollback

Tanmoy037 commented 2 weeks ago

Hi, this feature is useful. Need this feature! Any plans for this one?