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-runnerTo 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.cueTo 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.