Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Helm rollback hook from current release

Let's say I have two versions of chart Foo - v1 and v2. I had installed v1 (as revision 1) then upgraded to v2 (revision 2).

Now I'd like to rollback to first revision (helm rollback Foo 1). Is there any way to run job defined in v2 at some point of rollback after v1 resources are restored.

It must perform some actions on v1 resources because backwards incompatible changes made in v2.

I'd assume that pre-rollback hook defined in v2 should do the job. Unfortunetly chart lifecycle documentation is a bit confusing for me.


I tried to use

  annotations:
    "helm.sh/hook": post-rollback

as suggested in the answers. Unfortunately when I do rollback from v2 to v1 then v1's version of pre/post rollback job is executed. I need to execute job defined in v2 chart.

like image 242
TeddyDD Avatar asked Oct 17 '25 17:10

TeddyDD


2 Answers

No it's not possible, Helm always uses hooks from target release, in this case from v1.

like image 147
TeddyDD Avatar answered Oct 20 '25 13:10

TeddyDD


The following documentation and examples should clear up your confusion -

https://helm.sh/docs/topics/charts_hooks/#the-available-hooks

https://helm.sh/docs/topics/charts_hooks/#writing-a-hook

tldr

Add the following to the job you want to execute.

annotations:
  "helm.sh/hook": post-rollback
like image 40
victoryNap Avatar answered Oct 20 '25 13:10

victoryNap