A timoni.sh module for deploying a GitLab Runner to Kubernetes clusters.
To create an instance using the default values:
timoni -n default apply gitlab-runner oci://ghcr.io/loft-orbital/timoni-hub/gitlab-runner
To change the default configuration,
create one or more values.cue
files and apply them to the instance.
For example, create a file my-values.cue
with the following content:
values: {
resources: requests: {
cpu: "100m"
memory: "128Mi"
}
}
And apply the values with:
timoni -n default apply gitlab-runner oci://ghcr.io/loft-orbital/timoni-hub/gitlab-runner \
--values ./my-values.cue
To uninstall an instance and delete all its Kubernetes resources:
timoni -n default delete gitlab-runner
Key | Type | Default | Description |
---|---|---|---|
image: tag: |
string |
<latest version> |
Container image tag |
image: digest: |
string |
"" |
Container image digest, takes precedence over tag when specified |
image: repository: |
string |
docker.io/nginx |
Container image repository |
image: pullPolicy: |
string |
IfNotPresent |
Kubernetes image pull policy |
metadata: labels: |
{[ string]: string} |
{} |
Common labels for all resources |
metadata: annotations: |
{[ string]: string} |
{} |
Common annotations for all resources |
pod: annotations: |
{[ string]: string} |
{} |
Annotations applied to pods |
pod: affinity: |
corev1.#Affinity |
{} |
Kubernetes affinity and anti-affinity |
pod: imagePullSecrets: |
[...timoniv1.#ObjectReference] |
[] |
Kubernetes image pull secrets |
replicas: |
int |
1 |
Kubernetes deployment replicas |
resources: |
timoniv1.#ResourceRequirements |
{} |
Kubernetes resource requests and limits |
securityContext: |
corev1.#SecurityContext |
{} |
Kubernetes container security context |
service: annotations: |
{[ string]: string} |
{} |
Annotations applied to the Kubernetes Service |
service: port: |
int |
80 |
Kubernetes Service HTTP port |
provider?: |
cloud.#Provider |
`` | Optional cloud provider configuration. Documentation. |
gitlab: url: |
string |
https://gitlab.com |
GitLab instance host |
cache?: bucket: |
string |
`` | Bucket name for the cache, if used |
runner: config |
string |
"" |
Runner global configuration |
runner: template |
string |
"" |
Registration configuration template |
runner: token! |
string |
`` | Runner authentication token |
This module is currently only compatible with Google Cloud provider. This does not mean you cannot deploy it on other Cloud provider, but cloud resources (like cache bucket) will have to be managed separately.