Talos machine configs and cluster bootstrap for the mymh.dev cloud clusters — per ADR-002 in homelab-docs. Full project context, decisions, and runbooks live in homelab-docs; this repo's own docs cover only how to use its tooling.
  • Shell 63.3%
  • HCL 36.7%
Find a file
2026-08-27 22:27:16 +02:00
cluster-config-docs Docs: add semantic versioning to Terraform implementation notes and their .tf files 2026-08-22 07:11:27 +02:00
talos Talos config: added the kubelet mount redirect for local-path-provisioner (ADR-015), logged two lessons from today's WireGuard routing and Git-server SSH troubleshooting 2026-08-19 20:30:55 +02:00
terraform Add provision_fallback_cluster.sh: scripted VM/storage bring-up, secrets via env vars only 2026-08-25 23:08:24 +02:00
.gitignore Gitignore updated, Terraform split into two. 2026-08-18 23:53:25 +02:00
considerations.md Considerations: moved resolved cross-repo lessons to homelab-docs' new lessons_learned.md, kept only open TODOs here 2026-08-20 13:39:21 +02:00
LICENSE.md License: Added MIT License and updated README to reflect that. 2026-07-09 23:00:44 +02:00
README.md docs: add missing cluster-config-docs entry, alphabetize tree diagram 2026-08-27 22:27:16 +02:00

homelab-cluster-config: Talos Cluster Configs & Bootstrap

Talos machine configs and cluster bootstrap for the mymh.dev cloud clusters (UpCloud, later Hetzner), per ADR-002 in homelab-docs. Full project context, decisions, and runbooks live in homelab-docs; this repo's own docs cover only how to use its tooling.

Repository structure

homelab-cluster-config/
├─ cluster-config-docs/    # Long-form pointer docs for in-code comments too long to inline
├─ LICENSE.md
├─ README.md               # This file
├─ talos/                  # Talos machine-config patches only, never generated secrets
└─ terraform/               # Image import + VM lifecycle (ADR-016)
   └─ floating-ip/          # Floating IP, deliberately its own state, see ADR-016 v1.4.0

Rules for this repo

  • No file, tracked or untracked, ever contains a real IP, MAC address, hostname, or credential. Environment-specific values are runtime parameters (env vars/CLI args), never persisted to disk in the repo.
  • Talos installs stay clean and minimal at creation, no extra complexity baked in here; everything beyond the base cluster (platform components, apps) arrives via GitOps from the homelab-gitops repo instead.
  • Config checked in generically, then parametrized per-cluster at apply time (UpCloud vs. Hetzner) rather than hand-forked per environment.
  • Talos's own generated secrets (cluster CA, node certs) never land in this repo either: only config-patch templates are committed. See ADR-018 for the secrets tier this belongs to.

Out of scope

  • On-prem machine provisioning (homelab-iac).
  • ArgoCD app-of-apps, platform components, and application manifests (homelab-gitops).
  • Decision records and runbooks (homelab-docs).

Documentation

  • Decisions: ADRs in homelab-docs
  • Operational procedures: runbooks in homelab-docs
  • Progress: roadmap/journal in homelab-docs

License

Licensed under the MIT License, free to use, share, and adapt with attribution (keep the copyright notice).