GitLab Cloud Native Chart 4.0

Along with the 13.0 release of GitLab, we have bumped the chart version to 4.0.

Summary of major changes

Problematic Helm 2.15

Helm v2.15.x has a severe bug, and absolutely should not be used.

If you are to use Helm 2, use 2.14.3 or >= 2.16.1.

Upgrade path from 3.x

In order to upgrade to the 4.0 version of the chart, you first need to upgrade to the latest 3.3.x release of the chart. Check the version mapping details for the latest patch.

If you don’t first upgrade to the latest 3.3.x patch, you will see the following error from helm upgrade

Error: UPGRADE FAILED: Job failed: BackoffLimitExceeded

You can then confirm you are in this situation by looking for pods in error with the text gitlab-upgrade-check in the name.

If you check the logs for those pods will see the version upgrade error message:

It seems you are upgrading the GitLab Helm Chart from X (GitLab X) to 4.0.0 (GitLab 13.0.0).
It is required to upgrade to the latest 3.3.x version first before proceeding.
Please follow the upgrade documentation at https://docs.gitlab.com/charts/releases/3_0.html
and upgrade to GitLab Helm Chart version 3.3.x before upgrading to 4.0.0.

Upgrade from 3.3.x

Please follow the upgrade steps for 4.0 release.

Major Changes

PostgreSQL

As part of the 4.0.0 release of this chart, we upgraded the bundled PostgreSQL chart from 7.7.3 to 8.9.4. This updates the PostgreSQL version from 10.9 to 11.7. This is not a drop in replacement. Manual steps need to be performed to upgrade the database.

The 4.0 upgrade steps includes the manual steps required during upgrade.

Note: Note that PostgreSQL 11 is the minimum required PostgreSQL version in GitLab 13.0 (May 2020). PostgreSQL 9.6 and PostgreSQL 10 are no longer supported by GitLab 13.0 and later.

Webservice chart

The Unicorn subchart has been renamed to Webservice. When upgrading, Helm will remove all the Kubernetes resources for Unicorn and create new ones under the Webservice name. The chart was renamed to reflect the fact that both Unicorn and Puma are supported webservers by this chart. More details can be found in the Merge Request introducing the change.

Note GitLab will be unreachable during the upgrade until the new pods are ready.

Puma webserver

The default webserver used in the Webservice chart has been set to Puma. This brings several performance improvements and unblocks work on features like the dependency proxy.

The Unicorn webserver will remain supported for now, and can be configured using:

gitlab:
  webservice:
    webServer: unicorn

For more details see the webServer options.

Upgrade path from 2.x

You first need to upgrade to the 3.3.x release of the charts, before upgrading to 4.0. Please follow the 3.0 upgrade documentation.

Upgrade path from 1.x

You first need to upgrade to the 2.6.x release of the charts, then to 3.3.x before upgrading to 3.0. Please follow the 2.0 upgrade documentation.

Known issues and limitations

Below is a list of the known issues and limitations, although it may not be exhaustive.

Helm Chart Issues/Limitations:

Features that are currently out of scope:

Release cadence

We will be releasing a new version of the chart with each new GitLab patch.

More information on how we are versioning the chart can be found in the release documentation.

Along with the issues and merge requests in this repo, a changelog is available to more easily follow along with updates.

Kubernetes deployment support

GitLab is tested against:

Other Kubernetes deployments should also work. In the event of a specific non-GKE deployment issue, please raise an issue.

This release has automated CI testing for Kubernetes version v1.14.10-gke.17 and v1.13.12-eks-879c36.

Technical support

Before opening an issue please review the known issues and limitations, and search to see if a similar issue already exists.

We greatly appreciate the wider testing of the community, and encourage detailed issues to be reported so we can address them.

We welcome any improvements contributed in the form of Merge Requests. Get started with our contributor documentation.