kudobuilder / kudo

Kubernetes Universal Declarative Operator (KUDO)
https://kudo.dev
Apache License 2.0
1.17k stars 103 forks source link

Document the difference between update and upgrade plans #1763

Open simonvane opened 3 years ago

simonvane commented 3 years ago

What would you like to be added: More information to be documented regarding the "well-known" update and upgrade plans.

Why is this needed: It is unclear whether there is any difference or that they are equivalent.

Additional details: In my opinion, if there is no difference, it would be preferable to make a breaking change and remove the update plan.

alenkacz commented 3 years ago

@simonvane absolutely! Do you think this would be a good place https://kudo.dev/docs/developing-operators/plans.html#deploy-and-update-plans or where were you actually looking for that information? So that I make it accessible in the right place

simonvane commented 3 years ago

Thanks @alenkacz .

Adding more information/clarification to that section would be great.

Am I right in thinking they are treated the same? If so, is it a possibility to simplify to just have an upgrade plan (I realise that would be a breaking change but better to do it before v1.0.0)?

The documentation is a great start by the way. It's just when getting into more detail that there are some unanswered questions. I know documentation is difficult :-)

alenkacz commented 3 years ago

so not exactly.

Upgrade is triggered when you upgrade from one operatorversion to another (that means that the definition of your templates etc. changed)

Update is called if you just update value of some variable. So e.g. if your operator has Replicas variable, you can do kudo update and update that value from 2 to 3. Then if update plan exists, that's what is run

Both scenarios fallback to deploy plan if they don't exist

simonvane commented 3 years ago

Thanks a lot @alenkacz, that's much clearer to me now! Thanks for your quick response.