roboll / helmfile

Deploy Kubernetes Helm Charts
MIT License
4.04k stars 566 forks source link

Does helm file support Rollback like 'helm rollback <release> <revision>? #786

Open shikhar7 opened 5 years ago

shikhar7 commented 5 years ago

Can you please elaborate.Does helmfile suport rollback.If yes then how and also does it support rollback to previos version also like helm rollback <release> 0 to rollback to previos version.

mumoshu commented 5 years ago

@shikhar7 Hey! Helmfile itself doesn't have it.

That's mainly because we need a versioned source-of-truth for traveling time back to the pre-rollout version of your releases and there's no great option existed.

Fortunately, I can suggest now that leveraging GitOps with the recently-proposed helmfile build(#780), you'll be able to build helmfile rollback-like feature on top of any CI/CD that even works for multi-cluster, multi-region deployments.

oliver-subskribe commented 2 years ago

It might be worth mentioning (IIUC how helmfile uses helm) that doing this manually (while waiting for helm build etc) may be feasible. How about this:

Did I miss anything?

There may be gotchas if pre/post hooks have been defined, and there may be downtime while you complete the loop (since some services not rolled back yet may not work properly while others are being rolled back). In some situations, kubectl scale --replicas 0 DEPLOYMENT_NAME may reduce noise. YMMV.

meyerkev commented 2 years ago

In the meantime, as a workaround, is there a way to say:

for deployment in helmfile list-deploys; do
      helm rollback deployment
done

Because that would be good enough while we wait on helmfile build.

jayesh-mahajan commented 1 year ago

Dear Team,

when we get rollback feature in helmfile?

teimor commented 1 year ago

Maybe we should copy this issue to the new repo - https://github.com/helmfile/helmfile

fzyzcjy commented 1 year ago

By the way, curious why should helm rollback be used?

From my naive understanding, GitOps or infra-as-code requires that, all configurations (helm chart, helmfile, etc) are stored in a git repository. Then, if I want to rollback to a specific point of time, I should git checkout to that commit, and run helmfile sync instead.