All checks were successful
docker-build / Build image (push) Successful in 43s
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