Files
runner/examples/kubernetes
silverwind 319567213d docs: use latest image tags in examples (#1383)
The README's Docker example and the Docker and Kubernetes examples pointed at `nightly` images, while the README recommends `latest-dind`. Deployments copied from them should run the latest release, not a build of `main`.

None of the examples changed since v5.3.0, so they work as written with the current `latest` tags.

_Written by Claude (Opus 5.5)._

Reviewed-on: https://gitea.com/gitea/runner/pulls/1383
Reviewed-by: Lunny Xiao <[email protected]>
Co-authored-by: silverwind <[email protected]>
2026-11-04 23:00:45 +00:00
..
2026-10-01 06:59:15 +00:00

Kubernetes deployments of gitea-runner

Jobs can run on Kubernetes in two ways:

  • Job pods: each job runs as its own pod, without privileged containers and under the cluster's quotas and policies. Docker actions and docker:// steps are not supported. Deploy with kubernetes-pods.yaml and see docs/kubernetes.md.
  • Docker in Docker: jobs run in a Docker daemon next to the runner. Every workflow feature works, but the daemon is privileged, so a job can break out to the node. Deploy with dind-docker.yaml, statefulset-dind.yaml for several replicas, rootless-docker.yaml for a rootless daemon, or the Helm chart. The sidecars in the first two need Kubernetes 1.29 or later.

All examples read the registration token from the runner-secret Secret and the Gitea URL from GITEA_INSTANCE_URL, and keep the registration in /data. They give a stopping pod three hours to finish its jobs, so keep runner.shutdown_timeout below terminationGracePeriodSeconds.