Skip to content

Add helm package release process

Robert Hunt requested to merge add-helm-repo-release-pipeline into main

What does this MR do and why?

This MR updates the deployment pipelines to package the helm charts up and provide a helm package for users to include in their own helm charts as a versioned dependency.

Images of it working

Note: The release and package have been deleted as they were only created for testing purposes.

Scenario Image
Release image
Package listing image
Package page image
Package YAML image
Package in a project image

Shell output from usage

Adding the package to a Chart.yaml:

  - name: gitlab-product-analytics
    repository: https://gitlab.com/api/v4/projects/55613855/packages/helm/stable
    version: 1.29.7
Adding the package:
❯ helm repo add gitlab-product-analytics https://gitlab.com/api/v4/projects/55613855/packages/helm/stable
"gitlab-product-analytics" has been added to your repositories
❯ helm dependencies update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "gitlab-product-analytics" chart repository
...Successfully got an update from the "gl-infra-charts" chart repository
...Successfully got an update from the "vector" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "bitnami" chart repository
...Successfully got an update from the "promtail" chart repository
...Successfully got an update from the "prometheus-community" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 9 charts
Dependency certificates did not declare a repository. Assuming it exists in the charts directory
Dependency clickhouse did not declare a repository. Assuming it exists in the charts directory
Dependency cube did not declare a repository. Assuming it exists in the charts directory
Dependency snowplow did not declare a repository. Assuming it exists in the charts directory
Downloading kafka from repo https://charts.bitnami.com/bitnami
Downloading vector from repo https://helm.vector.dev
Downloading prometheus from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-statsd-exporter from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-stackdriver-exporter from repo https://prometheus-community.github.io/helm-charts
Deleting outdated charts
❯ helm repo add gitlab-product-analytics https://gitlab.com/api/v4/projects/55613855/packages/helm/stable
"gitlab-product-analytics" has been added to your repositories
❯ helm dependency update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "vector" chart repository
...Successfully got an update from the "gl-infra-charts" chart repository
...Successfully got an update from the "gitlab-product-analytics" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "promtail" chart repository
...Successfully got an update from the "bitnami" chart repository
...Successfully got an update from the "prometheus-community" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 10 charts
Dependency certificates did not declare a repository. Assuming it exists in the charts directory
Dependency clickhouse did not declare a repository. Assuming it exists in the charts directory
Dependency cube did not declare a repository. Assuming it exists in the charts directory
Dependency snowplow did not declare a repository. Assuming it exists in the charts directory
Downloading kafka from repo https://charts.bitnami.com/bitnami
Downloading vector from repo https://helm.vector.dev
Downloading prometheus from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-statsd-exporter from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-stackdriver-exporter from repo https://prometheus-community.github.io/helm-charts
Downloading gitlab-product-analytics from repo https://gitlab.com/api/v4/projects/55613855/packages/helm/stable
Deleting outdated charts
❯ helm dependency build
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "vector" chart repository
...Successfully got an update from the "gl-infra-charts" chart repository
...Successfully got an update from the "gitlab-product-analytics" chart repository
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "promtail" chart repository
...Successfully got an update from the "bitnami" chart repository
...Successfully got an update from the "prometheus-community" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 10 charts
Dependency certificates did not declare a repository. Assuming it exists in the charts directory
Dependency clickhouse did not declare a repository. Assuming it exists in the charts directory
Dependency cube did not declare a repository. Assuming it exists in the charts directory
Dependency snowplow did not declare a repository. Assuming it exists in the charts directory
Downloading kafka from repo https://charts.bitnami.com/bitnami
Downloading vector from repo https://helm.vector.dev
Downloading prometheus from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-statsd-exporter from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-stackdriver-exporter from repo https://prometheus-community.github.io/helm-charts
Downloading gitlab-product-analytics from repo https://gitlab.com/api/v4/projects/55613855/packages/helm/stable
Deleting outdated charts
Removing the package:
❯ helm repo remove gitlab-product-analytics
"gitlab-product-analytics" has been removed from your repositories
❯ helm dependency update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "vector" chart repository
...Successfully got an update from the "gl-infra-charts" chart repository
...Successfully got an update from the "prometheus-community" chart repository
...Successfully got an update from the "bitnami" chart repository
...Successfully got an update from the "promtail" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 9 charts
Dependency certificates did not declare a repository. Assuming it exists in the charts directory
Dependency clickhouse did not declare a repository. Assuming it exists in the charts directory
Dependency cube did not declare a repository. Assuming it exists in the charts directory
Dependency snowplow did not declare a repository. Assuming it exists in the charts directory
Downloading kafka from repo https://charts.bitnami.com/bitnami
Downloading vector from repo https://helm.vector.dev
Downloading prometheus from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-statsd-exporter from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-stackdriver-exporter from repo https://prometheus-community.github.io/helm-charts
Deleting outdated charts
❯ helm dependency build
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "vector" chart repository
...Successfully got an update from the "gl-infra-charts" chart repository
...Successfully got an update from the "bitnami" chart repository
...Successfully got an update from the "promtail" chart repository
...Successfully got an update from the "prometheus-community" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 9 charts
Dependency certificates did not declare a repository. Assuming it exists in the charts directory
Dependency clickhouse did not declare a repository. Assuming it exists in the charts directory
Dependency cube did not declare a repository. Assuming it exists in the charts directory
Dependency snowplow did not declare a repository. Assuming it exists in the charts directory
Downloading kafka from repo https://charts.bitnami.com/bitnami
Downloading vector from repo https://helm.vector.dev
Downloading prometheus from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-statsd-exporter from repo https://prometheus-community.github.io/helm-charts
Downloading prometheus-stackdriver-exporter from repo https://prometheus-community.github.io/helm-charts
Deleting outdated charts

MR acceptance checklist

  • The correct type labels have been applied to this MR.
  • This MR has been made as small as possible, to improve review efficiency and code quality.
  • This MR has been self-reviewed per the code review guidelines.
  • The changes have undergone manual testing and are functioning as intended.
  • This MR has updated the Chart.yaml version number following SemVer versioning practices.
  • This MR documents any breaking changes in the MR description, and the upgrade path has been documented in the first commit as well as in MR description.

Related to https://gitlab.com/gitlab-org/analytics-section/product-analytics/analytics-stack/-/issues/141

Edited by Robert Hunt

Merge request reports