Cache-first, verify-later infrastructure for self-hosted CI runners, Nix artifacts, Bazel acceleration, and operator-facing monitoring.
GloriousFlywheel currently combines:
- an Attic-backed Nix cache platform with optional Bazel remote cache
- a GitHub ARC runner stack for self-hosted Actions workloads
- a legacy GitLab runner stack that still exists for compatibility
- a runner dashboard and related operator surfaces
- Nix, Bazel, and OpenTofu tooling for building and operating the platform
The repo is in active truthing and cleanup. Primary operator guidance is now local-first from this repo, not overlay-first.
- run OpenTofu locally from this repo with
just tofu-init <stack>,just tofu-plan <stack>, andjust tofu-apply <stack> - keep per-environment tfvars in
tofu/stacks/<stack>/<env>.tfvars - provide backend config via one of:
TOFU_BACKEND_CONFIG_FILE=/abs/path/backend.hclTOFU_BACKEND_CONFIG_DIR=$PWD/config/backendsTF_HTTP_*environment variables for the current transitional HTTP path
- use
just tofu-init-gitlab-legacy <stack>only if you still rely on the GitLab HTTP backend path - provide cluster context from
config/organization.yamlor override withKUBE_CONTEXT - for the current
honeyrollout, treatconfig/backend.http.example.hclas a transitional init example, not the long-term backend architecture
git clone https://github.com/tinyland-inc/GloriousFlywheel.git
cd GloriousFlywheel
direnv allow # or: nix develop
cp config/organization.example.yaml config/organization.yaml
cp .env.example .env
mkdir -p config/backends
cp config/backend.http.example.hcl config/backends/attic-dev.hcl
cp tofu/stacks/attic/terraform.tfvars.example tofu/stacks/attic/dev.tfvars
# edit the copied files to match your cluster and current backend authority
ENV=dev just tofu-init attic
ENV=dev just tofu-plan attic
ENV=dev just tofu-apply atticRecommended stack order:
atticarc-runnersfor GitHub Actionsrunner-dashboardgitlab-runnersonly if you still need the legacy GitLab path
just check
just nix-build
just app-testThe repo also validates the Nix dashboard derivation in CI with
nix build .#runner-dashboard.
- GHCR is the current durable public release surface for the dashboard image
packages.runner-dashboardis the canonical repo-native Nix build artifact, but not yet a standalone public release surface- FlakeHub is still planning work, not a current primary-surface feature
- the root OpenTofu init path currently supports generic HTTP backend config,
but the post-
#209target direction is environment-owned S3-compatible state onhoney, not permanent GitLab HTTP state - several GitLab-oriented surfaces remain in the repo as compatibility paths
Zlib