Skip to main content

GitLab Operator

If you already have a Git repository consider using that and skip this step.

ℹ️note

To complete this task, you must be a cluster administrator.

⚠warning

The GitLab Operator is still only available in version 0.x and not yet suitable for production use. We recommend this operator only for PoC situations.

Official Documentation​

Install the GitLab Operator from the OperatorHub​

⚠warning

To complete this task a user in the cluster admin role is required.

As a cluster administrator, install the GitLab operator from the OperatorHub to the namespace gitlab-system as follows:

  1. Navigate in the OpenShift Web Console to the Operators → OperatorHub page
  2. Filter by keyword: gitlab
  3. Select the operator: GitLab provided by GitLab Inc
  4. Read the information about the operator and click Install
  5. On the Create Operator Subscription page:
    • Select option A specific namespace on the cluster with namespace gitlab-system
    • Select an update channel (if more than one is available)
    • Select Automatic approval strategy
    • Click Subscribe
  6. After the subscription's upgrade status is up to date, navigate in the web console to the Operators → Installed Operators page
  7. Select the GitLab operator and verify that the content for the Overview tab of the Operators → Operator Details page is displayed
ℹ️note

See OpenShift documentation on adding operators to a cluster (OpenShift 4.20 ) for further information on how to install an operator from the OperatorHub.

Create the GitLab instance​

Create the GitLab CRD instance in the namespace gitlab-system as follows:

  1. Navigate in the OpenShift Web Console to the Operators → Installed Operators page
  2. Select the GitLab Operator
  3. Navigate to the GitLab tab of the Operators → Operator Details page
  4. Click Create GitLab
  5. Verify that in the GitLab tab the newly created gitlab CRD instance is displayed.

Example GitLab Configuration​

apiVersion: apps.gitlab.com/v1beta1
kind: GitLab
metadata:
name: gitlab
namespace: gitlab-system
spec:
chart:
values:
certmanager:
install: false
global:
appConfig:
omniauth:
enabled: true
autoLinkSamlUser: false
providers:
- key: provider
secret: gitlab-client
syncProfileAttributes:
- email
autoSignInWithProvider: null
syncProfileFromProvider: []
allowBypassTwoFactor: []
allowSingleSignOn:
- oauth2_generic
autoLinkUser: []
externalProviders: []
autoLinkLdapUser: false
blockAutoCreatedUsers: false
hosts:
domain: apps.openshift.my.cloud
ingress:
configureCertmanager: false
version: 6.2.2