Skip to content

Repository files navigation

Runner Operator for GitLab CI

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/

Status

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.

Install

helm repo add alekc https://charts.alekc.dev/
helm repo update
helm install gitlab-runner-operator alekc/gitlab-runner-operator

Minimal runner

Create 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.

Documentation

Page
InstallHelm, kustomize, version matrix, upgrades
AuthenticationTokens, operator-managed runners, custom CA
RBAC and namespacesWhat each runner is granted, and where jobs may run
UninstallingDeletion order, and what gets left behind
CRD API referenceEvery field, generated from the types
LimitationsWhat it deliberately does not do
ContributingLocal cluster, tests, regenerating docs

The source lives in docs/ if you would rather read it here.

License

Apache License 2.0. See LICENSE.

About

Kubernetes operator to manage gitlab runners.

Topics

Resources

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages