The runner dashboard is a SvelteKit 5 application that provides real-time monitoring of the cross-forge runner pool.
app/tofu/modules/runner-dashboard/ + tofu/stacks/runner-dashboard/The dashboard queries multiple Kubernetes namespaces:
gitlab-runners – GitLab runner pods, HPAs, deploymentsarc-runners – ARC runner scale sets, runner podsNamespaces 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.
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.
webauthn-db module)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.
cd app
pnpm install
pnpm dev # Start dev server
pnpm check # Type check
pnpm test # Run tests
pnpm build # Production build