BuildNot yet confirmed elsewhere1 publisher2 min readPublished
CircleCI's runner orchestrator 1.0 scales CPU, GPU and ARM machine runners from one deployment
CircleCI made Machine Runner Orchestrator 1.0.0 generally available, scaling self-hosted CPU, GPU and ARM runner VMs with CI demand at no additional cost. Preview users cannot upgrade in place and have to uninstall the old deployment before installing the new package.
The Engineer · Build desk

What happened
- The orchestration layer can run on GKE, AKS or EKS or on a KubeVirt-based cluster, while the CI runners it manages stay machine-based.
- A single deployment now manages several runner resource classes, so mixed fleets no longer need a separate orchestration install for each class.
- CircleCI renamed the product from runner-provisioner to machine-runner-orchestrator, changing its Helm chart, container image repository and Packagecloud repository.
- CircleCI warns that runners in the configured resource classes stay offline between removing the old deployment and installing 1.0.0.
- Version 1.0.0 also fixes two high-severity vulnerabilities in the Go gRPC implementation.
Why it matters
- cost The orchestrator adds no CircleCI charge, so whatever it saves or wastes shows up on the compute bill of the team that runs the runners.
- decision Kubernetes teams end up operating two scaling loops, one for cluster nodes and one for runner VMs, and need to tell which one is short when a CI job waits.
- constraint Preview users cannot pick up the 1.0.0 gRPC security fixes without also taking the reinstall and the runner outage that comes with it.
The orchestrator runs a demand loop. It watches CircleCI's workload requirements, starts machine runners when jobs need them and removes them when they do not [4]. Karpenter and Cluster Autoscaler react to a different signal. They respond mainly to unschedulable Pods and change the size of the cluster, and Karpenter can also consolidate nodes [7]. CircleCI's loop works from CI jobs and changes how many machines are registered as runners [8]. In a Kubernetes deployment, the cluster autoscaler handles the nodes that host the orchestrator's components and the orchestrator handles runner capacity [8]. I think that split suits this workload. The thing being scaled is a CI runner VM, and the signal that matters is a job waiting for one [3][4].
GitHub's Actions Runner Controller solves the same problem for Actions. Its runner scale sets create and remove ephemeral runners as workflow demand changes [9]. According to InfoQ, the difference is the execution model: ARC's runners are mostly Kubernetes-managed workloads, while CircleCI's orchestrator manages runner VMs [10]. InfoQ argues that this suits jobs that need VM-level isolation, or capabilities that are hard to reproduce in a runner container [10].
InfoQ frames the release around bursts: keeping enough runners for a spike in builds without provisioning for peak all the time [15]. That benefit carries over to a given team only if two things hold. Its CI load has to be bursty, with real idle time between peaks. A new runner VM also has to boot and register faster than its jobs can tolerate sitting in the queue. InfoQ's report does not include provisioning times, warm-pool options or scaling thresholds. Teams will have to measure the second condition on their own infrastructure.
Most of the migration work falls on automation. Any values file, image mirror or package source still pinned to runner-provisioner has to point at the new Helm chart, image repository and Packagecloud repository before the reinstall [11][12]. Renaming at 1.0 is at least cheaper than renaming at 2.0. The uninstall comes first, so the outage lasts as long as the team takes between the two steps [12][13]. A team that has the new chart, image and repository references staged before it uninstalls keeps that gap short.
What to watch
- Whether CircleCI publishes runner VM provisioning times or scaling thresholds, which decide how much peak capacity a team can actually stop holding.
- Whether CircleCI ships a patched runner-provisioner build for installs that cannot take the 1.0.0 reinstall outage yet.
Clarity's read
What the record supports and how the coverage leans. The claims behind it follow.
Reality
- Evidence50
- Adoption
- Insufficient
- Hype gap+5
- Incentives
- Insufficient
- Confidence55
Claim ledger
Ranked by verification strength, evidence, and original report placement.
- [1]
CircleCI has made its Machine Runner Orchestrator 1.0.0 generally available, providing automated scaling of self-hosted machine runner virtual machines according to CI workload demand.
- [2]
The release expands the earlier Runner Provisioner preview with support for CPU, GPU and ARM workloads from a single deployment.
- [3]
Machine Runner Orchestrator supports Kubernetes environments on GKE, AKS and EKS, alongside KubeVirt-based clusters, giving platform teams flexibility over where the orchestration layer runs while the actual CI runners remain machine-based.
- [4]
The orchestrator monitors CircleCI workload requirements and provisions and removes machine runners accordingly, allowing organisations to retain control over the underlying compute environment.
- [5]
CircleCI says the capability is included with self-hosted runners across its plans at no additional cost.
- [6]
Earlier versions focused on provisioning machine runners; the new orchestrator can manage several resource classes from a single deployment, so CPU, GPU and ARM workloads do not require separate orchestration installations for each class.
- [7]
Kubernetes node autoscalers such as Karpenter and Cluster Autoscaler primarily respond to unschedulable Pods and adjust the underlying cluster capacity; Karpenter provisions nodes based on pending workloads and can also consolidate or otherwise manage node lifecycle.
- [8]
CircleCI's orchestrator operates at the CI runner layer, scaling the machines registered as CircleCI runners with demand for CI jobs; in a Kubernetes-based architecture the two approaches can potentially operate together, with Kubernetes managing the infrastructure hosting the orchestration components and CircleCI managing the machine capacity for CI workloads.
- [9]
GitHub's Actions Runner Controller (ARC) provides a Kubernetes operator whose runner scale sets automatically increase or decrease runner capacity based on workflow demand, creating and removing ephemeral runners as jobs are processed.
- [10]
GitHub ARC primarily creates ephemeral runner environments as Kubernetes-managed workloads, whereas CircleCI's Machine Runner Orchestrator is concerned with machine runner virtual machines; InfoQ says this makes CircleCI's approach relevant for CI workloads requiring VM-level isolation or capabilities hard to reproduce in standard runner containers.
- [11]
CircleCI formally renamed the product from runner-provisioner to machine-runner-orchestrator, changing the associated Helm chart, container image repository and Packagecloud repository.
- [12]
Existing installations cannot be upgraded in place; CircleCI instructs users to uninstall the previous deployment and install the new 1.0.0 package.
- [13]
CircleCI warns that runners associated with the configured resource classes will be offline between removal of the old deployment and installation of the new one.
- [14]
Version 1.0.0 addresses two high-severity vulnerabilities in the Go gRPC implementation.
- [15]
The release is aimed at maintaining enough runner capacity for bursts of build and test activity without permanently provisioning machines for peak demand.
Sources
1 independent publisher whose own reporting we read for this story.
- infoq.comCircleCI Makes Machine Runner Orchestrator Generally Available
1 article · October 9, 2026
Topics and entities
Follow any of these and your For You feed starts watching them — no settings page required.
Topics
- Platform EngineeringFollow
- Self-Hosted CI RunnersFollow
- Kubernetes autoscalingFollow
- CI/CD InfrastructureFollow