Files
foxhunt/infra/k8s/gitlab/runner-values.yaml
Administrator 84f935a70e ci: CUDA CI builder image via Scaleway CR
- Push ci-builder to rg.fr-par.scw.cloud/foxhunt-ci (Kapsule nodes can pull natively)
- Add SCR + GitLab imagePullSecrets to runner config
- Dockerfile.ci-builder unchanged (CUDA 12.4 + Rust 1.89 + protoc + sccache)
2026-02-25 08:54:55 +00:00

78 lines
2.2 KiB
YAML

# GitLab Runner — Kubernetes executor targeting ci-build pool
# Runner manager pod lives on gitlab node pool
# Build pods spawn on ci-build pool (scale-to-zero)
gitlabUrl: http://gitlab-webservice-default.foxhunt.svc.cluster.local:8181
# runnerToken set via --set at install time
replicas: 1
nodeSelector:
k8s.scaleway.com/pool-name: gitlab
tolerations:
- key: gitlab
operator: Equal
value: "true"
effect: NoSchedule
runners:
# Override clone URL to internal service (pods can't reach Tailscale IPs)
cloneUrl: http://gitlab-webservice-default.foxhunt.svc.cluster.local:8181
config: |
[[runners]]
clone_url = "http://gitlab-webservice-default.foxhunt.svc.cluster.local:8181"
[runners.kubernetes]
namespace = "foxhunt"
image = "rust:1.89-slim"
privileged = false
# Build pods on ci-build pool
[runners.kubernetes.node_selector]
"k8s.scaleway.com/pool-name" = "ci-build"
[[runners.kubernetes.node_tolerations]]
key = "ci-build"
operator = "Equal"
value = "true"
effect = "NoSchedule"
# Resource limits for build pods
cpu_request = "2000m"
cpu_limit = "6000m"
memory_request = "4Gi"
memory_limit = "12Gi"
# Helper container
helper_cpu_request = "100m"
helper_cpu_limit = "500m"
helper_memory_request = "128Mi"
helper_memory_limit = "512Mi"
# Image pull secrets (SCR for ci-builder, GitLab for service images)
image_pull_secrets = ["scw-registry", "gitlab-registry"]
# Service containers (for kaniko sidecar)
[runners.kubernetes.pod_labels]
"app.kubernetes.io/part-of" = "foxhunt-ci"
# Runner tags for job matching
tags: "kapsule,rust,docker"
# Concurrency
concurrent: 4
# RBAC for runner to spawn pods
rbac:
create: true
rules:
- apiGroups: [""]
resources: ["pods", "pods/exec", "pods/log", "secrets", "configmaps"]
verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
- apiGroups: [""]
resources: ["pods/attach"]
verbs: ["create", "get"]
serviceAccount:
create: true
name: gitlab-runner