Repolode
actions

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. 1

    Set up a Kubernetes cluster and install ARC with Helm by following the Quickstart guide linked in the README

  2. 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