IBM-Cloud / ibm-cloud-developer-tools

Installation scripts for new IBM Cloud Developer CLI Plugin and it's dependencies.
Apache License 2.0
131 stars 146 forks source link

Allow option to install a specific version of helm installation #13

Open triceam opened 7 years ago

triceam commented 7 years ago

Summary

There are cases when you may need different versions of helm installed. For example, if targeting Cloud public vs and older installation of cloud private Kubernetes environments. In this case, you may be able to use the latest helm version for public (the current/default action), but need to switch to an older version IE helm 2.4.1 for the older private installation.

We should make this easily configurable by either a cli argument or environment variable.

If we are forcing installation of a specific version, we should ignore the check to see if helm is already installed, and overwrite with the specified version. This should also work for all platforms.


Development "done" checklist

a-roberts commented 7 years ago

+1, this is super important from a UX perspective (let's not trip users up for being "too up to date").

Ideally we should all agree on using the latest and greatest helm versions (server side and client side by means of something like the idt installer) to prevent serious problems down the line (functional/security etc).

triceam commented 7 years ago

If we are overwriting an existing helm version, we should output a warning message that they will need to update the tiller server too. That's easy enough for upgrade, but I have never tried to downgrade a tiller server, so I'm not sure what is involved.

gibfahn commented 7 years ago

There are cases when you may need different versions of helm installed.

So is the proposal to tell the user "you need a different helm version for this deployment target, installing to /path"? Or just to support the user specifying the helm path? If it's the latter a clear error message would be really helpful.

kfbishop commented 7 years ago

This issue is import but quite tricky to implement. The user probably won't know what version of helm they need. We can't cleanly abstract the version based on target cloud env either, as it can change, and they may be using both.

Even having ENV var, or arguments is ugly as the user needs to know before hand what to set it to, defeating the purpose of a simplified installer :-/

@triceam Lets discuss this and figure out best approach. I'm thinking we may just want to put out a message that helm installation is a manual task and is version dependent based on target deployment env.

steveclay commented 5 years ago

I think we could expand this issue to specifying specific versions of all the tools we install, based on feedback from other users.

krishnakumar27 commented 5 years ago

helm v2.14.0 is breaking our charts due to a bug -> https://github.com/helm/helm/issues/5750

The fix for this which went into helm repo will be out only after next week. (v2.14.1), so it would be helpful to make the helm version configurable via an argument or environment variable so that we can install helm v2.13.1 using the cli instead of always installing the latest..