getporter / helm2-mixin

Helm mixin for Porter
https://porter.sh/mixins/helm
Apache License 2.0
13 stars 7 forks source link

Support version declaration and update build-time install #50

Closed vdice closed 4 years ago

vdice commented 5 years ago

Support a Helm version declaration and use this value, when provided, to download the corresponding helm cli binary at build-time. For example, the helm mixin declaration in a Porter manifest could look like:

mixins:
- helm:
    version: v1.15.1

We'd then update the installation steps/lines added to the generated invocation image Dockerfile to download the v1.15.1 helm binary.

MChorfa commented 4 years ago

@vdice, Can you assign this to me

MChorfa commented 4 years ago

Proposal

I have started working on helm3 mixin support: https://github.com/MChorfa/porter-helm3 and I want to propose to adapt the helm2 mixin regarding the version that was requested at Buildtime, thus the behavior of the mixin will run accordingly. So, we don't have to maintain 2 projects that are very similar and prepare for the fade-out of helm2. WDYT?

MChorfa commented 4 years ago

Strategy:

carolynvs commented 4 years ago

@MChorfa Seems like there would be differences in the allowed yaml based on which version of the mixin that you are using then, correct?

If so, then the new combined helm mixin should definitely implement the lint command that was just put in place in the v0.25.0-beta.1 release so that it can validate that the porter.yaml is correct based on the version selected.

Another question to consider is what should the default version of helm be when the user doesn't select one? Or should version be required? You don't need answers now, just putting it out there for people to think about.

MChorfa commented 4 years ago

Hello @carolynvs, Actually, for install/upgrade the yaml's don't change. except for uninstall where purge is not allowed in helm3. Definitely the linter will be a very nice way to ensure the correct structure of the targeted Helm instance.

I guess the default version would be Helm3, because of easiness of installing and doesn't require Tiller and help people to move from 2 to 3.

Thank you,

MChorfa commented 4 years ago

Thank you @vdice , retrofitting back the same behavior to Helm3 mixin

vdice commented 4 years ago

@MChorfa when convenient, can you create a new issue with the notes/discussion around https://github.com/deislabs/porter-helm/issues/50#issuecomment-606344338 ? I think this can/should live on.

Closing this as it has been implemented in #64