3

I have been struggling with the way SemVer is setup and how it is used by Helm Charts. The issue seems to stem from these two facts:

  • SemVer does not allow build numbers in release builds.
  • Helm Charts do not have a way to "Promote" a pre-release package.

While in development I need build numbers (ie 2.5.0-build.12, 2.5.0-build.13). This is needed so that development revisions can be built and deployed to a development environment. I create a container with these prerelease version numbers and then put it into a Helm Chart with the same pre-release version.

But then I am ready to go to production. At this point the container image is easy, I can just add another tag (ie 2.5.0). But the Helm Chart is not so easy. I can't just release the helm chart I had. It has a prerelease version number in the chart.yaml. (Chart.yaml cannot be overridden). I have to download the helm chart, un-package it, update the update the chart.yaml with the new version number, repackage it and upload it. And since I use sub-charts, I have to do this for each of the charts in my product (and then upload the product chart).

I can do all that. It is a bit brittle, but I can make it work. But before I do, I wanted to ask if there is some non-prerelease way that SemVer can keep build information (and still understand version precedence of that build) OR if there is a way that Helm can upgrade a chart to be a release version (similar to tagging a container image)?

Vaccano
  • 78,325
  • 149
  • 468
  • 850

0 Answers0