Skip to content

What is Elastic Fruit Runner?

Elastic Fruit Runner is a daemon that turns one Apple Silicon Mac into a small GitHub Actions runner host.

It can provide three common environments:

EnvironmentBackend
macOS arm64Tart virtual machine
Linux arm64Docker container
Linux amd64Docker container with host emulation

Teams often need both macOS and Linux jobs, but a small team may not want a separate host or a Kubernetes cluster for each environment.

Apple Silicon can run macOS virtual machines and Linux containers on the same machine. Elastic Fruit Runner uses that ability while keeping the control plane in one local daemon.

The daemon can manage runner sets for GitHub organizations and repositories. Each runner set has its own backend, image, labels, and capacity.

A permanent self hosted runner keeps state from earlier jobs and needs manual care when it stops working.

Elastic Fruit Runner creates a Just in Time runner when GitHub assigns work. The runner accepts one job, then its container or virtual machine is removed. This reduces shared state between jobs and allows an idle host to scale to zero runners.

Runner lifecycle explains this flow.

Kubernetes is useful when many machines and services need one shared control plane. It also adds a cluster that must be installed, secured, upgraded, and monitored.

Elastic Fruit Runner is built for one host. A local daemon is a smaller operating model for that scope. It uses the GitHub Runner Scale Set service directly and manages Docker and Tart resources on the host.

The embedded Console shows runner capacity, jobs, host history, and config state for the same daemon. It is an operations view, not a central service for many hosts.

The Console follows a local, single admin security model. Console design describes the reasons and limits.

Elastic Fruit Runner is a proof of concept. The main runner and Console flows work, but the project is not described as production ready.

It fits people who can operate and secure one Apple Silicon host and who accept the current proof of concept limits. Review the Getting Started tutorial and current repository Roadmap before using it for important workloads.