Actions Runner Controller (ARC) is a Kubernetes operator designed to manage self-hosted GitHub Actions runners. ARC enables the creation and scaling of runner scale sets, which are groups of runners that automatically adjust based on workflow demand. This allows users to leverage containerized runners for rapid scaling and efficient resource utilization within their repositories, organizations, or enterprises. By abstracting away the complexities of runner management, ARC streamlines the process of utilizing self-hosted runners for GitHub Actions workflows, offering a more dynamic and responsive infrastructure.
ARC introduces a Kubernetes operator for managing GitHub Actions runners, enabling automated scaling based on workflow load. It simplifies the setup and management of self-hosted runners within Kubernetes clusters. The controller supports ephemeral runner instances based on containers, allowing rapid scaling and improved resource utilization. ARC is listed on Awesome Runners, demonstrating its popularity and community support.
- Autoscaling: Automatically scales runner scale sets based on workflow concurrency, optimizing resource usage and cost.
- Kubernetes Integration: Deploys and manages runners as Kubernetes resources, leveraging existing cluster infrastructure and tooling.
- Helm Chart: Provides a Helm chart for easy installation and configuration within Kubernetes environments.
- User Authentication: Supports authentication with GitHub using secrets and token-based authentication methods.
- Custom Volumes: Enables the use of custom volumes for runner storage and data persistence.
- Extensible: Provides a framework for extending functionality through custom controllers and webhooks.
- Community Driven: Actively maintained by GitHub and a community of contributors, ensuring ongoing support and improvements.
ARC is an active project with recent commits and ongoing maintenance from the GitHub Actions team and community contributors. The project has a well-defined documentation set and a growing user base. It is considered a stable solution for managing self-hosted runners, with a focus on scalability and reliability. Recent discussions indicate ongoing development and refinement of autoscaling features and integration with the GitHub ecosystem.
ARC benefits users who require control over their GitHub Actions runner infrastructure and desire to optimize execution speed and cost. It addresses the need for ephemeral and scalable runner environments by automating the management of self-hosted runners within Kubernetes. Compared to manual runner management, ARC offers a more robust, scalable, and maintainable solution for integrating self-hosted runners into GitHub Actions workflows.
