No description
  • TypeScript 55.4%
  • Go 16.7%
  • Jsonnet 15.8%
  • Starlark 5%
  • Python 3.8%
  • Other 3.3%
Find a file
Copybara 7899e5a335 Project import generated by Copybara.
GitOrigin-RevId: 5ca1b7d5240c257485523c3d422986c62fd332da
2026-06-16 01:01:19 +00:00
.claude Project import generated by Copybara. 2026-06-13 01:01:51 +00:00
.forgejo-disabled Project import generated by Copybara. 2026-06-16 01:01:19 +00:00
.gemini Project import generated by Copybara. 2026-01-20 21:26:21 +00:00
.github Project import generated by Copybara. 2026-01-20 21:26:21 +00:00
docs/journal Project import generated by Copybara. 2026-05-31 01:01:57 +00:00
experimental/users/acmcarther Project import generated by Copybara. 2026-06-16 01:01:19 +00:00
homebrew Project import generated by Copybara. 2026-05-11 01:01:48 +00:00
k8s Project import generated by Copybara. 2026-06-15 01:01:35 +00:00
platforms/os Project import generated by Copybara. 2026-04-15 01:01:36 +00:00
rules/android_sdk Project import generated by Copybara. 2026-05-27 01:01:50 +00:00
third_party Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
tools Project import generated by Copybara. 2026-06-14 01:01:13 +00:00
.bazelignore Project import generated by Copybara. 2026-05-15 01:01:23 +00:00
.bazelrc Project import generated by Copybara. 2026-06-11 15:57:53 +00:00
.bazelversion Project import generated by Copybara. 2026-01-20 21:50:19 +00:00
.geminiignore Project import generated by Copybara. 2026-01-20 21:50:19 +00:00
.gitignore Project import generated by Copybara. 2026-05-29 01:01:53 +00:00
.gitmodules Project import generated by Copybara. 2026-01-20 21:50:19 +00:00
.mcp.json Project import generated by Copybara. 2026-06-14 01:01:13 +00:00
.sops.yaml Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
BUILD.bazel Project import generated by Copybara. 2026-01-20 21:50:19 +00:00
CLAUDE.md Project import generated by Copybara. 2026-06-13 01:01:51 +00:00
CODEOWNERS Project import generated by Copybara. 2026-05-27 01:01:50 +00:00
GEMINI.md Project import generated by Copybara. 2026-01-20 21:50:19 +00:00
go.mod Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
go.sum Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
MODULE.bazel Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
MODULE.bazel.lock Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
package.json Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
pnpm-lock.yaml Project import generated by Copybara. 2026-06-11 01:02:05 +00:00
README.md Project import generated by Copybara. 2026-05-15 01:01:23 +00:00
VENDORING.md Project import generated by Copybara. 2026-01-20 21:50:19 +00:00
yesod.code-workspace Project import generated by Copybara. 2026-01-20 21:50:19 +00:00

Yesod Monorepo

Homelab Bazel monorepo powering a self-hosted Kubernetes cluster. Covers infrastructure (Terraform bootstrap, Jsonnet/Tanka manifests for ~20 environments), CI/CD (Forgejo Actions), and experimental workloads (Temporal workflows, ML/AI stack, VSCode extension).

Prerequisites

  • Bazel 8.5.1 — pinned in .bazelversion; bazelisk recommended
  • tea — Gitea CLI for PR/issue operations
  • kubectl — cluster access (required for CI log fetching)
  • sops + age — secret management
  • yesod CLI — brew install yesod-multitool from the acmcarther/yesod-homebrew-tools tap

Quick Start

# Build everything
bazel build //...

# Run all tests (read-only remote cache)
bazel test --config=dev //...

# Diff a Kubernetes environment against the live cluster
bazel run //k8s/configs/environments/monitoring:monitoring.diff

# Apply an environment
bazel run //k8s/configs/environments/monitoring:monitoring.apply

Cluster Environments

Environments live under k8s/configs/environments/. Key ones:

Environment Purpose
home Core cluster config
monitoring Prometheus + Grafana
authentication Keycloak
dev Development services
bazel-cache Remote Bazel cache (SeaweedFS + BuildBarn)
storage SeaweedFS distributed storage
media Media services
game Game servers
jupyter Jupyter notebooks
nvidia GPU workloads

Further Reading

  • CLAUDE.md — comprehensive guide to the build system, architecture, tooling, and AI agent workflows
  • VENDORING.md — Go, Jsonnet, and Helm dependency management