# DaemonSet image pre-puller — keeps training images cached on GPU nodes # Runs on ci-training (L40S) pool so training jobs skip the pull. # Init containers pull :latest tags, then the main container sleeps forever. --- apiVersion: apps/v1 kind: DaemonSet metadata: name: image-prepuller namespace: foxhunt labels: app: image-prepuller app.kubernetes.io/part-of: foxhunt spec: selector: matchLabels: app: image-prepuller template: metadata: labels: app: image-prepuller spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: k8s.scaleway.com/pool-name operator: In values: - ci-training tolerations: - key: nvidia.com/gpu operator: Exists effect: NoSchedule - key: node.cilium.io/agent-not-ready operator: Exists effect: NoSchedule imagePullSecrets: - name: gitlab-registry initContainers: - name: pull-training-runtime image: gitlab-registry.foxhunt.svc.cluster.local:5000/root/foxhunt/foxhunt-training-runtime:latest command: ["echo", "foxhunt-training-runtime image pulled"] resources: requests: cpu: 10m memory: 16Mi limits: cpu: 10m memory: 16Mi containers: - name: pause image: registry.k8s.io/pause:3.10 resources: requests: cpu: 10m memory: 16Mi limits: cpu: 10m memory: 16Mi