HorizontalRunnerAutoscalers are ARC custom resources that scale runner capacity based on demand. They allow teams to define rules for increasing or decreasing the number of available runners as workflow load changes. This is useful for reducing idle infrastructure while still keeping enough capacity for busy CI/CD periods.
What HorizontalRunnerAutoscalers Do in Practice
HorizontalRunnerAutoscalers are the scaling control plane for runner capacity in ARC. They convert workflow demand into replica changes, so teams can keep the runner pool elastic instead of permanently overprovisioned. That makes them a capacity-management mechanism first, and a security-relevant control second, because they influence how much execution capacity is available at any moment.
The practical value is straightforward: they help absorb bursts in CI/CD load without forcing every runner to stay online all the time. In GitHub Actions-style environments, that matters because runners are the machines that execute jobs, so the autoscaler sits directly on the path between work intake and compute availability.
When this mechanism is configured well, it supports quicker burst handling, less idle spend, and a tighter link between workload demand and infrastructure footprint. When it is configured poorly, teams can end up with either chronic queueing or unnecessary runner exposure.
How Scaling Behaviour Shapes Delivery Capacity
HorizontalRunnerAutoscalers usually respond to demand signals by adding or removing runner instances according to defined rules. The design question is not just whether scaling happens, but how quickly it happens, what triggers it, and what minimum capacity must remain available to avoid job starvation during busy periods.
That balance matters because runner capacity is often shared by many pipelines. If the scale-out threshold is too conservative, jobs wait longer and delivery slows down. If it is too aggressive, the environment can create excess transient compute and unnecessary operational churn. For a team running continuous integration at scale, that tuning becomes part of platform reliability rather than a pure convenience feature.
The most useful way to think about the object is as a policy that translates queue pressure into fleet size. It does not define the jobs themselves; it defines how much execution surface the platform is willing to expose in response to demand.
Security and Trust Implications of Elastic Runners
Because runners execute code, scaling them up and down changes the size and duration of the trusted execution environment. More replicas can mean more endpoints to harden, monitor, and retire cleanly. Fewer replicas can mean better control, but only if the remaining pool is sufficient to avoid pressure to weaken safeguards for availability.
That is why runner autoscaling sits close to API and control-plane protection concerns, and why many teams pair it with strong configuration discipline and workload hardening. If scaling decisions are exposed through insecure inputs or permissive automation paths, attackers may try to manipulate capacity, exhaust runners, or exploit short-lived compute that is not fully observed.
The broader governance lesson is that ephemeral infrastructure still needs lifecycle control. Capacity that appears temporary can still carry secrets, build credentials, deployment tokens, and source access while it exists, so scale events should be treated as security events as well as operational events.
How to Govern HorizontalRunnerAutoscalers
Practical governance starts with defining the minimum safe runner floor, the acceptable scale-out delay, and the conditions under which scale-in is allowed. Teams should also decide which workflows are allowed to trigger expansion, because uncontrolled growth can become a cost and abuse problem even when it is functioning as designed.
A useful reference point is the SPIFFE workload identity specification, which helps clarify how ephemeral workloads should be identified and attested before they are trusted. For the runner layer itself, the same principle applies: the platform should know which runners were created, why they exist, and when they were removed.
If your CI/CD estate depends heavily on short-lived runners, pair autoscaling with logging, image hygiene, and secrets minimisation. The goal is to keep elasticity without turning scale events into blind spots.
Risk and Threat Considerations
Autoscaling runner fleets can create two classes of risk: underprovisioning that delays delivery, and overprovisioning that enlarges the attack surface. The more dynamic the pool, the more important it becomes to control what each runner can access and how quickly it is destroyed after use.
Failure mechanism: If scale rules are too permissive, an attacker or misbehaving workflow can trigger unnecessary runner growth, consume resources, or create more execution targets than the team can effectively monitor. If scale-in is too slow, stale runners can linger with residual access, cached material, or incomplete cleanup.
Impact: The result can be job backlog, higher cloud cost, weak visibility into transient nodes, and increased exposure if a runner is compromised while holding build secrets or repository access. In a CI/CD environment, that can turn temporary capacity into a repeatable foothold.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10 address the attack and risk surface, while CIS Controls v8 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| CIS Controls v8 | CIS Control 4 — Secure Configuration of Enterprise Assets and Software | Runner autoscaling depends on hardened, consistently configured runner images and hosts. |
| CIS Control 6 — Access Control Management | Autoscaled runners should only inherit the minimum access needed for build execution. | |
| CIS Control 8 — Audit Log Management | Elastic runner fleets need logging to preserve visibility across short-lived instances. | |
| Recommendation — Standardise and harden runner images before allowing autoscaled jobs to execute on them. Restrict runner permissions and revoke access paths immediately after each job completes. Log runner creation, job assignment, and teardown events so transient activity remains traceable. | ||
| OWASP Non-Human Identity Top 10 | NHI-02 — Secrets and Credential Rotation | Autoscaled runners often handle short-lived build secrets that must be rotated and cleaned up. |
| NHI-05 — Overprivileged Non-Human Identities | Runner automation commonly uses service credentials that can accumulate excess privilege. | |
| NHI-07 — Third-Party and External Exposure | Runner scaling often interacts with hosted infrastructure and external CI/CD dependencies. | |
| Recommendation — Rotate runner-facing secrets frequently and ensure ephemeral jobs never retain reusable credentials. Reduce runner and pipeline privileges to the minimum needed for the specific workflow. Assess external runner dependencies and limit trust in third-party execution paths. | ||
| NIST CSF 2.0 | PR.AC-4 — Access Permissions and Authorization | Autoscaled runners must be authorised only for the jobs and resources they need. |
| DE.CM-8 — Vulnerability Scanning | Ephemeral runner images still need security validation before use. | |
| RC.RP-1 — Recovery Plan Execution | Runner scale failure can delay delivery and require rapid operational recovery. | |
| Recommendation — Apply least-privilege authorisation to every autoscaled runner before permitting workflow access. Scan runner images and templates regularly so scale-out does not amplify unpatched exposure. Define and test fallback runner capacity so workflow execution can continue during autoscaler issues. | ||
Practitioner Guidance
What to watch for: Treat the autoscaler as part of delivery governance, not just infrastructure tuning. Review whether its thresholds reflect real workload patterns, whether runner teardown is reliable, and whether any workflow can influence scaling in ways that outpace operational oversight.
Practitioner takeaway: Horizontal scaling is only safe when the trust, identity, and cleanup model for each short-lived runner is as disciplined as the scaling rule itself.