GitHub has announced Actions Runner Controller (ARC) 0.15.0, a release for teams that run self-hosted GitHub Actions runners in Kubernetes. The update focuses on reliability, scalability, and observability across runner scale sets, with changes intended to reduce unnecessary Kubernetes API activity and improve runner lifecycle handling.
The release is available as of October 1, 2026. The GitHub release announcement describes changes affecting controller shutdown, reconciliation, listener behavior, status reporting, scale-set registration, and ephemeral runner cleanup. A 0.15.0 runner scale set chart is also listed in the official GitHub package registry.
What changed in ARC 0.15.0
Less disruptive resource updates
Patch upgrades now update resources in place. This is intended to reduce disruption between autoscaling runner sets and ephemeral runner sets during upgrades or related changes.
The controller also uses patch requests instead of full update requests. Smaller Kubernetes API payloads may be useful for installations managing larger runner fleets, although the supplied release information does not quantify the reduction in API traffic or provide performance measurements.
Status aggregation for EphemeralRunnerSet and AutoscalingRunnerSet has moved to metrics. This reduces status patch requests, but it also means administrators should review how runner-set status is monitored. The release information does not specify the metric names, labels, collection requirements, or any migration steps.
More control over reconciliation and client limits
ARC 0.15.0 adds configuration for listener Kubernetes client rate limits through QPS and burst settings. Controller concurrency can also be configured globally and per controller with max-concurrent-reconciles settings.
In addition, controllers now filter incoming events so they perform fewer reconciliations than before. These changes give platform teams more control over how ARC interacts with the Kubernetes API and processes changes. However, the supplied documentation does not define release-specific defaults, valid ranges, or complete configuration examples for these settings.
Improved shutdown and runner cleanup
Controller shutdown now supports a configurable terminationGracePeriodSeconds value aligned with the controller manager’s graceful-shutdown timeout. This provides an operational control for teams that need to coordinate pod termination with controller shutdown behavior.
Ephemeral runners can also be deleted faster when their runner pod exits successfully. In that case, ARC skips the server-side runner-removal check. The release announcement does not quantify the resulting deletion-time improvement or describe every condition under which the check is skipped.
Scale-set reregistration and lifecycle fixes
Runner scale sets can be reregistered when the recorded scale set no longer exists in the Actions service. This addresses a failure-recovery scenario in which the Kubernetes-side record and the Actions service no longer match.
The project documentation also lists 0.15.0 fixes related to scale-down behavior, status contention, listener replacement and recovery, patch permissions, chart tooling, and runner-pod lifecycle handling. That documentation is published from the project’s master branch, so it should be treated as supporting context rather than definitive evidence for every release-specific default or behavior.
Who is affected
The release is relevant to engineering and platform teams using ARC to host self-hosted GitHub Actions runners in Kubernetes. It is particularly applicable to environments using runner scale sets, autoscaling, ephemeral runners, or multiple controllers and listeners.
Teams with smaller installations may see the changes primarily as maintenance and lifecycle improvements. Larger installations may be more interested in reduced patch activity, smaller update requests, event filtering, configurable client rate limits, and concurrency controls. The available evidence supports those intended changes but does not establish measured improvements in throughput, API load, shutdown time, or runner deletion time.
Deployment and availability details
GitHub’s Actions Runner Controller documentation describes ARC as a way to run GitHub Actions self-hosted runners in Kubernetes. The official deployment guidance recommends Helm charts for runner scale sets, while manifests remain an available deployment method.
The documented OCI chart reference is oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set. Helm supports selecting a specific chart version with the --version argument. The official GitHub package page lists the gha-runner-scale-set chart at version 0.15.0, along with a package digest and download count.
The supplied release material does not establish minimum or supported Kubernetes versions, GitHub Actions versions, runner versions, or controller-manager versions for ARC 0.15.0. It also does not establish support for particular Kubernetes distributions or platforms.
Upgrade considerations
Before upgrading, operators should review the official runner scale set deployment guidance. Its upgrade material covers cleanup, uninstall and reinstall procedures, and CRD handling when required. It also recommends testing in staging and describes high-availability deployment as a way to reduce downtime.
Those instructions are general operational guidance and are not all documented as steps uniquely required for 0.15.0. The supplied sources also do not provide a rollback procedure specifically for upgrading to or from this release. Teams should therefore establish and test their own rollback plan before changing production controller or chart versions.
Review monitoring as part of the upgrade. Because status aggregation has moved to metrics, existing operational dashboards or alerts may need attention. Do not assume metric names or labels without confirming them in the documentation and deployment environment.
Security and operational guidance
ARC 0.15.0 is not characterized in the supplied sources as a vulnerability fix or security advisory. The operational guidance does, however, include several deployment recommendations.
- Use separate namespaces for runner pods and operator pods.
- Store credentials in Kubernetes secrets and provide secret references rather than plaintext credential values.
- Isolate production workloads because GitHub Actions workflows execute arbitrary code.
- Use GitHub App authentication where applicable for repository- and organization-level runner registrations.
- Retain logs and establish appropriate collection for operational troubleshooting.
What you should do
- Confirm that ARC 0.15.0 is the intended chart version and select the version explicitly when using Helm.
- Test the upgrade in a staging environment that matches production.
- Review CRD handling and the documented cleanup, uninstall, and reinstall requirements.
- Assess whether high availability is needed to reduce upgrade-related downtime.
- Review dashboards and alerts because status aggregation now uses metrics.
- Set and validate shutdown, Kubernetes client rate-limit, and reconciliation-concurrency options deliberately rather than relying on undocumented defaults.
- Verify namespace separation, secret references, workload isolation, and log collection before expanding the rollout.
ARC 0.15.0 is a broad operational release rather than a single-feature update. Its value will depend on how runner scale sets are deployed and monitored, so teams should validate lifecycle behavior and observability in their own Kubernetes environments before applying it across production.



