- GitLab version mappings
- List of charts
- Global settings
- Installing GitLab using the Helm Chart
- Updating GitLab using the Helm Chart
- Uninstalling GitLab using the Helm Chart
- Migrate from Omnibus GitLab to Kubernetes
- Advanced configuration
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.
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.
Some features of GitLab are not currently available using the Helm chart:
- MySQL will not be supported, as support is deprecated within GitLab
- GitLab Geo functionality requires the use of external database service(s).
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.
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:
There are some common global settings that apply to multiple charts. See the Globals documentation for details on the different global configuration.
gitlab chart includes all required dependencies, and takes a few minutes
Once your GitLab Chart is installed, configuration changes and chart updates
should be done using
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.
To uninstall the GitLab Chart, run the following:
helm delete gitlab
To migrate your existing Omnibus GitLab instance to your Kubernetes cluster, follow the migration documentation.
Advanced and large scale deployments have the ability to make use of external services, extended functionality, and alternate providers.
Examples of advanced configurations:
- GitLab Geo
- External object storage providers
- External PostgreSQL, Redis, Gitaly
See the developer documentation to learn how to contribute to the GitLab charts.