Self-host github-actions-runner-operator
v0.11.1K8s operator scheduling GitHub Actions runners on demand
- Stars
- 448
- Ports
- 8080 (metrics endpoint of the operator container (Prometheus-scrapable)), 8081 (health-probe port serving the liveness and readiness endpoints)
- Requires
- Kubernetes
quay.io/evryfs/github-actions-runner-operatorWhat is github-actions-runner-operator?
github-actions-runner-operator (GARO) is a Kubernetes operator, written in Go with Operator SDK/Kube builder, that schedules and scales GitHub Actions self-hosted runner pods on demand in a declarative way. You define a GithubActionRunner custom resource naming the GitHub organization (optionally a repository), a minimum and maximum number of runners, and a podTemplateSpec describing the runner image, resources and environment; the operator creates runner pods and injects a registration token secret. Authentication works either as a GitHub App, whose credentials are injected into the operator deployment from a Kubernetes secret, or with personal access tokens set at the operator or custom-resource level. The deployment exposes Prometheus-scrapable metrics, and runners can be paired with a Docker-in-Docker sidecar for containerized jobs. Install it with the project's Helm chart from the evryfs Helm repository, or manually with make install (CRDs) and make deploy using Kustomize; an OperatorHub listing is announced as coming soon. The latest published release is v0.11.1 and the image lives on quay.io.
Should you self-host github-actions-runner-operator?
github-actions-runner-operator scores 50/100 on selfhost.directory (how scoring works) and ranks #76 of 166 in Developer Tools. It has 448 GitHub stars.
There was no stable release in the past 12 months, so check the repository's recent activity before you rely on it.
Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Apache-2.0-licensed and written mostly in Go.
Its closest alternative on selfhost.directory is openhands (87/100, 92 079 stars). It scores higher overall, so compare the two before you pick. See github-actions-runner-operator vs openhands side by side.
Features
- Automatic registration-token injection
- Configurable reconciliation period
- Customizable runner pod template
- Declarative runner pools (CRD)
- GitHub App and PAT authentication modes
- Horizontal autoscaling of CI runners
- Leader Election
- Namespace-scoped or cluster-wide operation
- Prometheus Metrics
- Repository and organization runner scope
github-actions-runner-operator README
More in Kubernetes
gpustackOpen-source, self-hosted GPU cluster manager that deploys LLMs on NVIDIA, AMD or Ascend hardware via vLLM, SGLang and TensorRT-LLM behind OpenAI-compatible APIs.
Grafana LokiGrafana Loki is a self-hosted, open-source log aggregation system that indexes metadata instead of full log text for cost-effective operation.
HarborHarbor is an open-source, self-hosted container registry providing vulnerability scanning, image signing, and role-based access control for Kubernetes and Docker.
home-enterprise-labopsHELO is a self-hosted, open-source Kubernetes infrastructure for learning GitOps, service meshes, and production patterns in your homelab.
K16SSelf-hosted CKA/CKS exam simulator with real kubeadm clusters, Incus workers, timed mocks, browser terminal, and automated grading.
KappalKappal is a self-hosted, open-source CLI that runs docker-compose.yaml on Kubernetes (K3s) using familiar Docker Compose commands — no kubectl needed.
kiteSelf-hosted, open-source Kubernetes workspace for multi-cluster management: RBAC, LDAP/OAuth login, Prometheus monitoring, Helm, audit logs, and an AI assistant.
KuberoOpen-source, self-hosted PaaS for Kubernetes: deploy containers or source with 160+ app templates, CI/CD pipelines and GitOps review apps, run by a UI plus operator.
kubetailSelf-hosted, open-source Kubernetes logging tool that tails multiple pod logs in real-time via CLI or web dashboard, using your cluster's API directly.
LinnixLinnix is a self-hosted eBPF agent that attributes stalls to specific processes and pods, finding noisy neighbors without SaaS.
LLMKubeOpen-source Kubernetes operator running LLMs on NVIDIA, AMD, Intel, and Apple Silicon with pluggable runtimes and hybrid routing.
maintenantSelf-hosted monitoring auto-discovering Docker, Swarm, and Kubernetes containers, endpoints, TLS certs, cron jobs, and host resources from one Go binary (~100MB).
0 comments