Kubernetes controller that orchestrates ephemeral self-hosted GitHub Actions runners using autoscaling runner scale sets.
Actions Runner Controller (ARC) is a Kubernetes operator that orchestrates and scales self-hosted runners for GitHub
Actions. It watches AutoscalingRunnerSet custom resources and automatically scales runner pods up and down based on
the number of queued workflow jobs in a repository, organization, or enterprise. Runners are ephemeral and
container-based, so new instances start and stop rapidly without leaving residual state.
ARC is installed via Helm charts and requires a GitHub App or personal access token to authenticate to the GitHub API.
The controller manages the full lifecycle of runner scale sets and spawns a per-scale-set listener process
(ghalistener) that polls GitHub for pending jobs. Optional components (github-webhook-server,
actions-metrics-server) enable webhook-driven scaling and Prometheus metrics respectively.
For more details, see https://github.com/actions/actions-runner-controller.