Kubernetes operator that manages GitLab CI runners using the kubernetes executor.
An independent project. Not affiliated with, nor endorsed by, GitLab. GitLab maintains its own GitLab Runner Operator for OpenShift and OLM. That is a different operator with a different CRD API; manifests are not interchangeable between the two.
It lets you run one or many GitLab runners, each with its own configuration
expressed in YAML (no more hand-written config.toml), following an
infrastructure-as-code approach. The supported
kubernetes executor
options are configurable through the CRD; the gaps are listed under
limitations.
Documentation: https://gitlab-runner-operator.alekc.dev/
Alpha. Breaking changes are possible and will be called out in the release notes. Please open an issue if you hit a bug.
The current API group version is gitlab.k8s.alekc.dev/v1beta2. It replaces
the older v1beta1 / v1alpha1 versions. The change is breaking, and existing
objects are not converted automatically: see
upgrading from v1beta1.
helm repo add alekc https://charts.alekc.dev/
helm repo update
helm install gitlab-runner-operator alekc/gitlab-runner-operatorCreate the runner in GitLab, then hand its glrt- token to a Runner object:
apiVersion: gitlab.k8s.alekc.dev/v1beta2kind: Runnermetadata:
name: runner-samplespec:
authentication:
token:
value: "glrt-XXXXXXXXXXXXXXXXXXXX"Reading the token from a Secret, letting the operator create the runner for you with an access token, private CAs, build namespaces and the full field reference are all in the docs.
| Page | |
|---|---|
| Install | Helm, kustomize, version matrix, upgrades |
| Authentication | Tokens, operator-managed runners, custom CA |
| RBAC and namespaces | What each runner is granted, and where jobs may run |
| Uninstalling | Deletion order, and what gets left behind |
| CRD API reference | Every field, generated from the types |
| Limitations | What it deliberately does not do |
| Contributing | Local cluster, tests, regenerating docs |
The source lives in docs/ if you would rather read it here.
Apache License 2.0. See LICENSE.