GloriousFlywheel

Runner Dashboard Overview

The runner dashboard is a SvelteKit 5 application that provides real-time monitoring of the cross-forge runner pool.

Architecture

Features

Multi-Namespace Queries

The dashboard queries multiple Kubernetes namespaces:

Namespaces are configured via the K8S_RUNNER_NAMESPACES environment variable. ARC namespaces additionally query AutoScalingRunnerSet CRDs from actions.github.com/v1alpha1.

RBAC is configured as a ClusterRole with dynamic RoleBindings for each namespace.

Prometheus Integration

PromQL queries pull metrics from the cluster Prometheus instance for historical utilization data, scaling event timelines, and cache hit rates.

Prometheus URL is configured via PROMETHEUS_URL in the runner-dashboard module.

Authentication

Caddy Sidecar Proxy

The dashboard module supports an optional Caddy reverse proxy sidecar with two modes:

Configure via enable_caddy_proxy, caddy_mode, and related variables in the runner-dashboard module.

Development

cd app
pnpm install
pnpm dev          # Start dev server
pnpm check        # Type check
pnpm test         # Run tests
pnpm build        # Production build

See Also