Skip to content

tinyland-inc/GloriousFlywheel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

430 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glorious Flywheel

Cache-first, verify-later infrastructure for self-hosted CI runners, Nix artifacts, Bazel acceleration, and operator-facing monitoring.

What This Repo Is

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.

Current Operator Contract

  • run OpenTofu locally from this repo with just tofu-init <stack>, just tofu-plan <stack>, and just 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.hcl
    • TOFU_BACKEND_CONFIG_DIR=$PWD/config/backends
    • TF_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.yaml or override with KUBE_CONTEXT
  • for the current honey rollout, treat config/backend.http.example.hcl as a transitional init example, not the long-term backend architecture

Quick Start

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 attic

Recommended stack order:

  1. attic
  2. arc-runners for GitHub Actions
  3. runner-dashboard
  4. gitlab-runners only if you still need the legacy GitLab path

Important Surfaces

Build And Validation

just check
just nix-build
just app-test

The repo also validates the Nix dashboard derivation in CI with nix build .#runner-dashboard.

Current Boundaries

  • GHCR is the current durable public release surface for the dashboard image
  • packages.runner-dashboard is 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-#209 target direction is environment-owned S3-compatible state on honey, not permanent GitLab HTTP state
  • several GitLab-oriented surfaces remain in the repo as compatibility paths

License

Zlib