ARCHITECTURE // DUAL-ENGINE HYBRID CIv0.0.1

Zero Cloud Minutes.
Zero K8s Bloat.
Zero Idle Waste.

The hardware-optimized, autoscaling GitHub Actions runner fleet for developer workstations. Instantly launches ephemeral Docker containers (~0.3s) for rapid builds, or provisions dedicated Linux Virtual Machines with full systemd and unconfined Chrome sandboxing for browser E2E tests.

CLI_PROMPT // AUTO_DAEMON
0102030405060708
# 1. Clone repository and run interactive setup wizard
❯ git clone git@github.com:el-j/run-zero.git
❯ cd run-zero && make env

# 2. Launch Autoscaler & local proxy registries
❯ make start

# 3. Stream real-time ephemeral runner telemetry
❯ make logs

Engineered for High-Performance Workstations

Direct host acceleration with zero Kubernetes control plane overhead and automated registry proxy caching.

⚡

Dual-Engine Fleet

Execute jobs in ephemeral Docker containers (~0.3s boot, 20MB idle RAM) or dedicated Linux VMs (OrbStack / WSL2) with full systemd and unconfined Chrome sandboxing.

🧠

Hybrid Auto-Routing

Inspects workflow labels in real time and automatically routes jobs with browser, e2e, lighthouse, or systemd labels to dedicated VMs while keeping unit tests in fast containers.

🍏

Native ARM64 + Rosetta AMD64

Run native Apple Silicon ARM64 binaries at bare-metal speed, or run x86_64 AMD64 Docker containers simultaneously using OrbStack's Rosetta 2 acceleration.

📦

APT, Verdaccio & Athens Caching

Integrated caching proxies for Debian/Ubuntu (apt-cacher-ng :49503), npm (Verdaccio :49501), Go (Athens :49500), and Docker Hub.

🌐

Adaptive Rate-Limiting & Zombie Healing

Smart discovery filters active repositories, auto-cancels orphaned runs pinned to dead runners, and monitors GitHub API quota headers to guarantee zero rate-limit bans.

🔒

Zero Kubernetes Overhead

No K8s control plane, no etcd, no Helm charts, and no cert-manager consuming 3.5GB of your laptop's RAM before a single job even starts.

📊

Real-Time Web UI Dashboard

Instant browser visibility at :49505 with live Server-Sent Events (SSE). Track runner stopwatches, GitHub API quotas, hybrid routing metrics, and stream daemon logs.

🌉

Host VM Bridge

Secure control daemon at :49504 enabling containerized autoscalers to manage host-native OrbStack, WSL2, and Multipass VM lifecycles seamlessly.

🛡️

100% Mutation & Unit Tested

Verified with 155 unit tests, 0 Flake8 lint warnings, 100% Mypy static type safety, and Mutmut mutation testing across all drivers.

🟢

Unified CI Toolchain

Single source of truth toolchain script: pre-installed Node.js 20/22/24 LTS via nvm, .NET SDK 8.0, Git LFS, PostgreSQL client, and Playwright OS dependencies.

Real-Time Fleet & Telemetry Dashboard

PORT :49505

Zero external SaaS dashboards. RunZero provides a built-in, 100% self-hosted real-time Web UI for instant fleet status, hybrid routing telemetry, cache analytics, and log streaming.

🔒http://localhost:49505● LIVE SSE STREAM
make dashboard
ACTIVE RUNNERS
3/ 10 max
GITHUB API QUOTA
4,982/ 5,000
HYBRID ROUTING
62%Docker · 38%VM
PROXY CACHE USAGE
14.8 GBsaved
⚡ ACTIVE RUNNER FLEETAUTO-SCALE ENABLED
DOCKER
local-runner-arm64-1
el-j/run-zero · 00:42s
RUNNING JOB
ORBSTACK VM
local-runner-amd64-vm-2
el-j/webapp-e2e · 01:18s
PLAYWRIGHT E2E
DOCKER
local-runner-arm64-standby
fleet-standby · 00:05s
IDLE (MIN 1)
🧠 HYBRID ROUTING BREAKDOWNZERO-CONFIG
Docker Containers (Unit Tests & Builds)128 jobs (62%)
Services / DIND Workflows (Auto-VM)44 jobs (21%)
Playwright / Browser E2E (Auto-VM)26 jobs (13%)
Systemd / Custom Labels (Auto-VM)8 jobs (4%)
🧹 Clean Caches⚙️ Host VM Bridge :49504
📡

Server-Sent Events (SSE)

Ultra-low overhead real-time updates broadcast instantly to your browser without polling.

🌉

Host VM Bridge (:49504)

Containerize your autoscaler daemon while retaining full OrbStack, WSL2, and Multipass VM capabilities.

📦

100% Offline & Self-Hosted

Zero external telemetry or cloud dependencies. All UI fonts, assets, and metrics stay on your machine.

Hybrid Auto-Routing Engine

Zero cluster switching. RunZero inspects your job labels and dispatches either to ultra-fast container runtimes or dedicated virtual machines.

EPHEMERAL_DOCKERUnit Tests & Builds
~0.3s BOOT20MB IDLE
123456
jobs:
  test-suite:
    runs-on: [ self-hosted, local ]
    steps:
      - uses: actions/checkout@v7
      - run: npm test
⚡ RUNTIME: CONTAINER // SOCKET: HOST // ISOLATION: CGROUP
DEDICATED_LINUX_VMBrowser E2E & Systemd
FULL OSSYSTEMD
123456
jobs:
  browser-audit:
    runs-on: [ self-hosted, local, browser ]
    steps:
      - uses: actions/checkout@v7
      - run: npx lhci autorun
🛡️ RUNTIME: VIRT_FRAMEWORK // SYSTEMD: ACTIVE // CHROME: UNCONFINED

Execution Engine Matrix

RunZero adapts to your operating system, supporting containers and full virtual machines across macOS, Windows, and Linux.

Engine DriverHost OSExecution ModeKey Strengths
🪐 OrbStack (Recommended)macOS (Apple Silicon & Intel)Containers & Linux VMsInstant boot, golden VM cloning, Rosetta 2 x86_64 acceleration, full systemd.
🐳 Docker DesktopmacOS, Windows, LinuxContainersUniversal cross-platform container support.
🪟 Windows WSL2Windows 10/11 & ServerNative Linux VMsNative Linux execution without requiring Docker Desktop on Windows.
🚀 Canonical MultipassmacOS, Windows, LinuxVirtual MachinesUniversal cross-platform Ubuntu VMs via QEMU / Hyper-V / VirtualBox.
🐧 Native Linux DockerUbuntu, Debian, Arch, HomelabsNative ContainersZero VM layer, direct kernel speed for homelab servers.

Why Not ARC or Nektos/act?

RunZero eliminates enterprise K8s control plane bloat while running real production GitHub webhook queues on your local machine.

Metric / Feature⚡ RUNZERO🏢 ACTIONS RUNNER CONTROLLER (ARC)🎭 NEKTOS / ACT📦 STATIC DOCKERFILE
Target MachineLocal Mac / WorkstationEnterprise Cloud K8s FleetLocal CLI ScratchpadSingle Homelab Server
Idle RAM Footprint~20 MB (0 MB at idle)1.5 GB – 3.5 GB (K8s Control Plane)0 MB (Manual CLI only)~500 MB+ (Idle runner daemon)
Execution RuntimeDual-Engine (Docker + VM)Containers Only (K8s Pods)Containers OnlyContainer Only
Real GitHub Queue ListenerYes (Adaptive polling)YesNo (Local mock only)Yes
Multi-Repo DiscoveryYes (All user repos auto-scaled)No (Orgs only)N/ANo (1 repo per runner)
Multi-Arch (Apple Silicon + Rosetta)Yes (Rosetta 2 acceleration)Complex (Node taints/specs)PartialNo (Fixed architecture)
Local Caching RegistriesYes (Verdaccio + Athens + Toolcache)No (Requires K8s PVCs/NFS)NoNo
Setup Time< 60 Seconds (make start)Heavy Helm / CRD setup1 CommandModerate