GitLab cloud native Helm Chart

This is the official and recommended way to install GitLab on a cloud native environment.

Do note that it is not necessary to have GitLab installed on Kubernetes in order to use the GitLab Kubernetes integration.

Introduction

The gitlab chart is the best way to operate GitLab on Kubernetes. This chart contains all the required components to get started, and can scale to large deployments.

The default deployment includes:

  • Core GitLab components: Unicorn, Shell, Workhorse, Registry, Sidekiq, and Gitaly
  • Optional dependencies: Postgres, Redis, MinIO
  • An auto-scaling, unprivileged GitLab Runner using the Kubernetes executor
  • Automatically provisioned SSL via Let’s Encrypt.

There are also some example values.yaml files.

Limitations

Some features of GitLab are not currently available using the Helm chart:

Database limitations:

GitLab version mappings

The GitLab chart doesn’t have the same version number as GitLab itself. Breaking changes are anticipated that may need to be introduced to the chart that would warrant a major version bump, and the requirement for these changes could completely block other development on these charts until completed.

To quickly see the full list of the gitlab chart versions and the GitLab version they map to, issue the following command with Helm:

helm repo add gitlab https://charts.gitlab.io/
helm search -l gitlab/gitlab

For more information, visit the version mappings docs.

List of charts

The main GitLab chart is based on a variety of other charts. Each sub-chart is documented individually, and laid in a structure that matches the charts directory structure.

Non-GitLab components are packaged and documented on the top level. GitLab component services are documented under the GitLab chart:

Global settings

There are some common global settings that apply to multiple charts. See the Globals documentation for details on the different global configuration.

Installing GitLab using the Helm Chart

The gitlab chart includes all required dependencies, and takes a few minutes to deploy:

  1. Preparation
  2. Deployment

Updating GitLab using the Helm Chart

Once your GitLab Chart is installed, configuration changes and chart updates should be done using helm upgrade:

helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm get values gitlab > gitlab.yaml
helm upgrade gitlab gitlab/gitlab -f gitlab.yaml

For more detailed information see Upgrading.

Uninstalling GitLab using the Helm Chart

To uninstall the GitLab Chart, run the following:

helm delete gitlab

Migrate from Omnibus GitLab to Kubernetes

To migrate your existing Omnibus GitLab instance to your Kubernetes cluster, follow the migration documentation.

Advanced configuration

See Advanced Configuration.

Troubleshooting

See Troubleshooting.

Contributing

See the developer documentation to learn how to contribute to the GitLab charts.

Misc

Weekly demos preparation