Runner Provisioner, a new Kubernetes controller that automatically scales CircleCI runner VMs using KubeVirt, is now available in preview. The controller polls the CircleCI API for pending and running tasks and adjusts a VirtualMachinePool replica count to match demand — giving teams elastic, on-demand self-hosted runner capacity inside their own Kubernetes clusters.
Preview version 0.1.0 includes:
- A Helm chart for installation into any Kubernetes cluster with KubeVirt v1.8+
- Automatic scaling of runner VMs based on real-time CircleCI task demand
- Support for CircleCI Cloud and Server v4+
- Setup guidance for GKE, AKS, and EKS, including nested-virtualization and tainted-node-pool configurations
- Externally managed secrets via
provisioner.existingSecret(e.g., Vault, Sealed Secrets) - Customizable
VirtualMachineInstanceSpecper resource class
Configuration schema and APIs may change before GA.