Helm chart versions for CI/CD

8/7/2018

I have a helm repository set up for my CI/CD pipeline, but the one thing I am having trouble with is helm's versioning system which is focused on a semantic versioning system as in x.x.x.

I want to be able to specify tags like "staging", "latest", and "production", and although I am able to successfully upload charts with string versions

NAME CHART VERSION APP VERSION chartmuseum/myrchart latest 1.0

Any attempt to actually access the chart fails, such as

helm inspect chartmuseum/mychart --version=latest

Generates the error:

Error: failed to download "chartmuseum/mychart" (hint: running 'helm repo update' may help)

I don't really want to get into controlled semantic versioning at this point in development, or the mess that is appending hashes to a version. Is there any way to get helm to pull non-semantically tagged chart versions?

-- mstorkson
kubernetes
kubernetes-helm

2 Answers

8/8/2018

I found something that worked for me. Since the semvar allows you to append values after the last number like 0.1.0-aebcaber, I've taken to simply using 0.1.0-latest and overwriting that in chartmuseum on uploads.

-- mstorkson
Source: StackOverflow

8/8/2018

My approach to this, where I do not want to version my chart (and subcharts) semanticaly as well is not to use helm repository at all and just pull whole chart in CI/CD from git instead. If you are publishing them to wider audience this may not suit you, but for own CI/CD which is authorized to access our repositories anyway it works like charm.

-- Radek 'Goblin' Pieczonka
Source: StackOverflow