Self-hosted GitHub Actions runners across your own Linux, Mac and Windows machines, with a fresh container, VM or account for each job.
actions/actions-runner-controller
Kubernetes operator that runs and autoscales self-hosted GitHub Actions runners as ephemeral containers.
- Stars
- 6,632
- Forks
- 1,506
- Open issues
- 393
- Last commit
- 4 days ago
What is it?
Actions Runner Controller (ARC) is a Kubernetes operator for running self-hosted runners for GitHub Actions. It creates runner scale sets that grow or shrink based on the number of workflows running in a repository, organization, or enterprise.
Runners are typically ephemeral and container-based, so new instances can be started and removed quickly without leaving state behind between jobs. ARC is installed with Helm and is set up through the Kubernetes cluster that will host the runners.
The project is developed in collaboration with the GitHub Actions team. Its newer autoscaling runner scale sets are supported by GitHub, while the older autoscaling modes are maintained by the community.
Key features
- 01Autoscales runner scale sets based on queued and running workflow jobs.
- 02Runs ephemeral, container-based runners on Kubernetes.
- 03Installs via Helm chart.
- 04Supports runners registered at repository, organization, or enterprise level.
Use cases
- Running CI jobs on your own cluster instead of GitHub-hosted runners.
- Scaling build capacity up during peak hours and down when idle.
- Isolating each job in a fresh container for cleaner builds.
Quick start
- 1
Set up a Kubernetes cluster and install ARC with Helm by following the Quickstart guide linked in the README
- 2
Create a runner scale set and run a workflow that uses it, as described in the deployment docs
Things to know
- Requires a Kubernetes cluster, so it is not suitable for setups without Kubernetes.
- The legacy autoscaling modes are maintained only by the community, not by GitHub.
In collections
Topics
FAQ
- What is actions-runner-controller?
- Kubernetes operator that runs and autoscales self-hosted GitHub Actions runners as ephemeral containers. Actions Runner Controller (ARC) is a Kubernetes operator for running self-hosted runners for GitHub Actions. It creates runner scale sets that grow or shrink based on the number of workflows running in a repository, organization, or enterprise.
- Is actions-runner-controller free to use? What license does it have?
- actions-runner-controller is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is actions-runner-controller still maintained?
- Actively maintained. The last commit to actions-runner-controller was on Nov 2, 2026.
- What can I use actions-runner-controller for?
- Running CI jobs on your own cluster instead of GitHub-hosted runners. Scaling build capacity up during peak hours and down when idle. Isolating each job in a fresh container for cleaner builds.
- How do I install actions-runner-controller?
- Set up a Kubernetes cluster and install ARC with Helm by following the Quickstart guide linked in the README Create a runner scale set and run a workflow that uses it, as described in the deployment docs
- Where can I get actions-runner-controller?
- The source code and installation instructions are on GitHub: https://github.com/actions/actions-runner-controller
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Kubernetes operator suite that automates deploying LLM inference, fine-tuning, and RAG services onto GPU nodes.
Kubernetes components that automatically scale cluster nodes, and adjust pod CPU and memory requests.
A declarative GitOps continuous delivery tool that syncs Kubernetes applications to the state defined in Git repositories.
A Go SDK for building Kubernetes Operators, offering high-level APIs, scaffolding and code generation on top of controller-runtime.
A set of Go libraries for building Kubernetes controllers and operators, used as the foundation of Kubebuilder and Operator SDK.