Actions Runner Controller is a Kubernetes operator that orchestrates and scales self-hosted runners for GitHub Actions.
The tool addresses the challenge of managing compute resources for GitHub Actions workflows by automating runner provisioning and scaling within Kubernetes clusters. It creates runner scale sets that automatically adjust the number of active runners based on workflow demand across repositories, organizations, or enterprises. Because runners are container-based and ephemeral, they can scale up or down rapidly without leaving residual state, and new instances can be deployed cleanly as needed.
Teams running GitHub Actions at scale should adopt this tool if they already operate Kubernetes infrastructure and want to avoid the operational burden of manually managing runner capacity. It suits organizations that need predictable cost control through dynamic scaling and those running workflows with variable demand patterns. The project distinguishes itself by providing native Kubernetes integration through a standard operator pattern, allowing configuration via Helm and native Kubernetes resources rather than external tooling.
Development is shared between the GitHub Actions team and community maintainers, with active discussion channels for users to report issues and propose features. The project maintains both current autoscaling runner scale sets and legacy autoscaling modes, with the legacy modes explicitly designated as community-maintained while the newer approach receives primary support. Documentation is centralized on the official GitHub documentation site rather than maintained separately in the repository.