Helm Chart has the concept of Version and appVersion.
We are using the Version to document that a content of the Helm Chart changed or not (for ex, a template, deployment.yaml has new Envrionment value or a configmap.yaml has an additional) value, for these scenarios Version number should increase. We are using appVersion to document docker image tag changes (so actual Version of the Business Application, I know there can be multiple container images but we are able identify the one of those as main application and use its tag)...
Now in our development process there can be multiple valid images of the Business Application (feature development, lets say, feature1, feature2, feature3), so we can have a constellation like the following, [Helm Chart: myChart Version: 5.1 appVersion: feature1], [Helm Chart: myChart Version: 5.1 appVersion: feature2], [Helm Chart: myChart Version: 5.1 appVersion: feature3] most of deployment are automated but there can be cases that we have to say somebody deploy feature2.
Now here comes the dilema, in our Helm Repository we would have these 3 charts.
5.1->feature1
5.1->feature2
5.1->feature3
but when I look to the Helm Commands "Helm Install", "Helm Upgrade", "Helm Pull" I only see "--version" as parameter but no "--appVersion", so it is not possible to install
helm upgrade -i myChartFeature2 myChart --version 5.1 --appVersion feature2
We don't want to version our charts, "5.1.0-feature1" because then we will loose our ablity to identify, we have a new Chart while something in the templates has changed or we have a new version while Business Logic has changed...
So my question is
- is there a way to say I want to install this specific appVersion of my Chart?
Thx for answers...