# Kubernetes Runner Setup Using the GitLab Kubernetes runner allows your CI jobs to run as pods in a Kubernetes cluster. Nix GitLab CI can be integrated with this setup, and using advanced configuration options like `pod_spec` makes it easy to add runner specific caching. Using this Runner configuration ... ```toml [[runners.kubernetes.pod_spec]] name = "nix-ci-cache-secrets" patch = ''' containers: - name: build envFrom: - secretRef: name: nix-ci-cache-env ''' ``` ... and a secret containing ... ```yaml NIX_CI_RUNNER_CACHE_STRATEGY: attic ATTIC_SERVER: # example: http://atticd..svc.cluster.local:8080 ATTIC_CACHE: ci # name however you want, just needs to exist ATTIC_TOKEN: ``` ... makes your jobs automatically cache their Nix store paths to the in-cluster attic when running with this runner. Other runners could use cachix or no cache, you get the idea ;P !!! note This of course works with any executor where you can set environment variables. This is just an example how to do it in Kubernetes easily.