Files
gitlab-job-runner/helm/gitlab-job-runner
Vassiliy Yegorov 16639c6cd5
All checks were successful
docker-build / Build image (push) Successful in 43s
add full uri any git repos
2025-12-07 20:35:56 +07:00
..
2025-12-07 20:18:17 +07:00
2025-12-07 20:18:17 +07:00
2025-12-07 20:18:17 +07:00
2025-12-07 20:18:17 +07:00
2025-12-07 20:35:56 +07:00
2025-12-07 20:35:56 +07:00

GitLab Job Runner Helm Chart

Kubernetes operator for executing code from GitLab repositories as Jobs or CronJobs.

Installation

Add Helm Repository

helm repo add gitlab-job-runner https://your-repo-url
helm repo update

Install Chart

helm install gitlab-job-runner gitlab-job-runner/gitlab-job-runner \
  --namespace gitlab-job-runner-system \
  --create-namespace

Install from Local

helm install gitlab-job-runner ./helm/gitlab-job-runner \
  --namespace gitlab-job-runner-system \
  --create-namespace

Configuration

Basic Configuration

# values.yaml
replicaCount: 1

image:
  repository: your-registry/gitlab-job-runner
  tag: "0.1.0"
  pullPolicy: IfNotPresent

resources:
  limits:
    cpu: 500m
    memory: 128Mi
  requests:
    cpu: 10m
    memory: 64Mi

Enable Leader Election

For high availability with multiple replicas:

replicaCount: 3

leaderElection:
  enabled: true

Metrics Configuration

metrics:
  enabled: true
  port: 8443
  secure: true

RBAC Configuration

rbac:
  create: true

serviceAccount:
  create: true
  name: ""
  annotations: {}

Parameters

Parameter Description Default
replicaCount Number of replicas 1
image.repository Image repository controller
image.tag Image tag latest
image.pullPolicy Image pull policy IfNotPresent
serviceAccount.create Create service account true
serviceAccount.name Service account name ""
rbac.create Create RBAC resources true
leaderElection.enabled Enable leader election false
metrics.enabled Enable metrics true
metrics.port Metrics port 8443
metrics.secure Secure metrics endpoint true
healthProbe.port Health probe port 8081
resources.limits.cpu CPU limit 500m
resources.limits.memory Memory limit 128Mi
resources.requests.cpu CPU request 10m
resources.requests.memory Memory request 64Mi

Usage

After installation, create GitLab credentials and GitlabJobRunner resources:

Create GitLab Secret

kubectl create secret generic gitlab-credentials \
  --from-literal=GITLAB_URL=https://gitlab.example.com \
  --from-literal=GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxxxxxx \
  -n default

Create GitlabJobRunner

apiVersion: batch.rml.ru/v1alpha1
kind: GitlabJobRunner
metadata:
  name: example-job
spec:
  gitlabSecretRef: gitlab-credentials
  repositoryURL: https://gitlab.example.com/mygroup/myrepo.git
  branch: main
  scriptPath: scripts/deploy.sh

Upgrade

helm upgrade gitlab-job-runner gitlab-job-runner/gitlab-job-runner \
  --namespace gitlab-job-runner-system

Uninstall

helm uninstall gitlab-job-runner \
  --namespace gitlab-job-runner-system

Testing

helm test gitlab-job-runner \
  --namespace gitlab-job-runner-system