Commit version of the application for auto-deploy enabled helm chart builds
Our helm chart needs to know which version of the application it needs for auto-deploy. This requires us to modify the various files found in the repo https://gitlab.com/gitlab-org/charts/gitlab
Specifically:
-
appVersion- Points to version of the application to be utilized by our helm charts -
version- The version of the chart that we will deploy to our infrastructure
Release-tools already contains the ability to update both of these items, however, we need to retro fit this method to work with auto-deploy. The classes ReleaseTools::Helm::VersionManager and ReleaseTools::Helm::ChartFile may be the primary points of interest for this issue. The ability to update these values is currently performed during the publish step of the release procedure and is invoked by ReleaseTools::Release::HelmGitlabReleases.run_update_versions
Proposal
-
We'll take our tag that we send to both CNG modify the above values as appropriate - further details below -
Tag - to be accomplished via: #623 (closed)
appVersion
This needs to represent a modified value of the tag that we send to CNG. When CNG takes in a tag, example 12.9.202002191723+d42c6afcade, the build process will create 12-9-202002191723-d42c6afcade on the tag for images that are built (non-alphanumeric characters are converted to hyphens). Therefore appVersion needs to to be configured to this modified value.
The following files appear to utilize this specific version:
charts/gitlab/charts/unicorn/Chart.yamlcharts/gitlab/charts/task-runner/Chart.yamlcharts/gitlab/charts/sidekiq/Chart.yamlcharts/gitlab/charts/operator/Chart.yamlcharts/gitlab/charts/migrations/Chart.yamlcharts/gitlab/charts/gitlab-grafana/Chart.yamlcharts/gitlab/charts/gitaly/Chart.yamlcharts/gitlab/charts/geo-logcursor/Chart.yamlChart.yaml
version
This needs to represent a version that we'll utilize to auto-deploy our infrastructure. Despite helm having its own versioning schema without auto-deploy, and due to the knowledge that our auto-deploy tag is well known, I suggest that we set this to the auto-deploy tag we are sending to CNG. Example, 12.9.202002191723+d42c6afcade
The following files appear to set this specific version:
charts/gitlab/charts/unicorn/Chart.yamlcharts/gitlab/charts/task-runner/Chart.yamlcharts/gitlab/charts/sidekiq/Chart.yamlcharts/gitlab/charts/operator/Chart.yamlcharts/gitlab/charts/migrations/Chart.yamlcharts/gitlab/charts/mailroom/Chart.yamlcharts/gitlab/charts/gitlab-shell/Chart.yamlcharts/gitlab/charts/gitlab-grafana/Chart.yamlcharts/gitlab/charts/gitlab-exporter/Chart.yamlcharts/gitlab/charts/gitaly/Chart.yamlcharts/gitlab/charts/geo-logcursor/Chart.yamlChart.yaml
Here's an example commit that represents what we are trying to accomplish in the this issue: gitlab-org/charts/gitlab@66543c8c