No description
- TypeScript 55.4%
- Go 16.7%
- Jsonnet 15.8%
- Starlark 5%
- Python 3.8%
- Other 3.3%
|
|
||
|---|---|---|
| .claude | ||
| .forgejo-disabled | ||
| .gemini | ||
| .github | ||
| docs/journal | ||
| experimental/users/acmcarther | ||
| homebrew | ||
| k8s | ||
| platforms/os | ||
| rules/android_sdk | ||
| third_party | ||
| tools | ||
| .bazelignore | ||
| .bazelrc | ||
| .bazelversion | ||
| .geminiignore | ||
| .gitignore | ||
| .gitmodules | ||
| .mcp.json | ||
| .sops.yaml | ||
| BUILD.bazel | ||
| CLAUDE.md | ||
| CODEOWNERS | ||
| GEMINI.md | ||
| go.mod | ||
| go.sum | ||
| MODULE.bazel | ||
| MODULE.bazel.lock | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| VENDORING.md | ||
| yesod.code-workspace | ||
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;bazeliskrecommended tea— Gitea CLI for PR/issue operationskubectl— cluster access (required for CI log fetching)sops+age— secret managementyesodCLI —brew install yesod-multitoolfrom theacmcarther/yesod-homebrew-toolstap
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 workflowsVENDORING.md— Go, Jsonnet, and Helm dependency management