Skip to content
Latchkey

What Is Actions Runner Controller (ARC)?

Actions Runner Controller (ARC) is a Kubernetes operator that autoscales self-hosted runners as ephemeral pods based on job demand.

Running a fixed pool of self-hosted runners wastes money when idle and queues jobs when busy. ARC solves this by creating and destroying runner pods in Kubernetes as workflow demand rises and falls.

What it is

ARC is an open-source Kubernetes operator from GitHub. It watches for queued jobs and scales runner pods up and down, each pod typically running a single ephemeral job.

How it works

You define a runner scale set in Kubernetes. ARC registers runners with GitHub, and when jobs queue it spins up pods to run them, tearing each down afterward so every job gets a clean environment.

Trade-offs

  • Pros: autoscaling, ephemeral isolation, Kubernetes-native.
  • Cons: you operate Kubernetes, the controller, and scaling tuning.
  • Cold starts and image management need attention.

Why it matters

ARC gives elastic self-hosted capacity but adds significant operational complexity. Managed platforms like Latchkey deliver the same autoscaling and ephemeral, self-healing runners without you running a Kubernetes control plane.

Related concepts

ARC manages self-hosted runners, often organized into runner groups, and is an alternative to a static runner pool.

Key takeaways

  • ARC autoscales self-hosted runners as Kubernetes pods.
  • Pods are ephemeral, giving each job a clean environment.
  • It is powerful but you operate the Kubernetes stack.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →