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
Runner Provisioner is invite-only during preview. To request access, fill out the preview access request form. Approved participants get image registry credentials and access to the #runner-provisioner-preview Slack channel for direct support from the product team. Get involved now and help shape the future of the product.
Configuration schema and APIs may change before GA; not recommended for production workloads.