GitLab Operator
- Tier: Free, Premium, Ultimate
- Offering: GitLab Self-Managed
The GitLab Operator is an installation and management method that follows the Kubernetes Operator pattern.
Use the GitLab Operator to run GitLab in OpenShift or on another Kubernetes-compatible platform.
The GitLab Operator has known limitations and is only suitable for specific scenarios in production use.
The default values of the GitLab custom resource are not intended for production use. With these values, GitLab Operator creates a GitLab instance where all services, including the persistent data, are deployed in a Kubernetes cluster, which is not suitable for production workloads. For production deployments, you must follow the Cloud Native Hybrid reference architectures. GitLab does not support any issues related to PostgreSQL, Redis, Gitaly, Praefect, or MinIO deployed inside of a Kubernetes Cluster.
Known issues
GitLab Operator does not support:
- Migration from GitLab Chart or Linux package to GitLab Operator. For migration of the installation method, you must follow steps similar to the manual migration steps. Support for automatic migration is proposed in GitLab Operator issue 1567.
- Deployment by using the GitLab Environment Toolkit. Support for this integration is proposed in GitLab Operator issue 1571.
- Git over SSH with OpenShift routes. For more information, see GitLab Operator documentation on OpenShift Routes.
- GKE workload identity and IAM service accounts to authenticate workloads to other cloud APIs (such as object storage). For more information, see GitLab Operator issue 1089.
GitLab Operator has any other limitation of GitLab Chart. GitLab Operator relies on GitLab Chart to provision Kubernetes resources. Therefore, any limitation in GitLab Chart impacts GitLab Operator. Removing the GitLab Chart dependency from GitLab Operator is proposed in Cloud Native epic 64.
Installation
Instructions on how to install the GitLab Operator can be found in our installation document.
We list details of how we use Security Context Constraints in their respective document.
You should also be aware of the considerations for SSH access to Git, especially when using OpenShift.
Upgrading
Operator upgrades documentation demonstrates how to upgrade the GitLab Operator.
GitLab upgrades documentation demonstrates how to upgrade a GitLab instance, managed by the GitLab Operator.
Backup and restore
Backup and restore documentation demonstrates how to back up and restore a GitLab instance that is managed by the Operator.
Using RedHat certified images
RedHat certified images documentation demonstrates how to instruct the GitLab Operator to deploy images that have been certified by RedHat.
Developer Tooling
- Developer guide: Outlines the project structure and how to contribute.
- Versioning and Release Info: Records notes concerning versioning and releasing the operator.
- Design decisions: This projects makes use of Architecture Decision Records, detailing the structure, functionality, and feature implementation of this Operator.
- OpenShift Cluster Setup: Instructions for creating/configuring OpenShift clusters for Development purposes.
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support