A onedr0p home-ops inspired project, with some ProfMoo sprinkled in.
A mono-repository for my homelab Kubernetes cluster. I strictly adhere to Infrastructure as Code (IaC) and GitOps practices using tools like Kubernetes, Terraform, Talos, Flux, Renovate, and GitHub Actions.
I use Talos, Terraform, and Proxmox to spin up Kubernetes in a GitOps fashion in this directory.
Proxmox, a VM-management technology, is used to spin up VMs on the compute bare-metal rack servers. These raw VMs are bootstrapped via Terraform with Talos configuration(s) that create a functional Kubernetes cluster with the initial cluster components (such as Flux) already deployed.
I configure Kubernetes with GitOps via Flux. The Flux controllers scans the kubernetes directory for kustomization files to apply to the cluster.
From top to bottom...
| Device | Cores | OS Disk Size | Data Disk Size | Ram | OS | Function |
|---|---|---|---|---|---|---|
| UniFi UDM Pro | - | - | - | - | - | Router & Gateway |
| UniFi USW 24 PoE | - | - | - | - | - | Switch |
| Dell PowerEdge R540 | 32 | 1x256GB SSD | 2x256GB SSD (local) / 1x256GB SSD (rook-ceph) |
128GB | Proxmox | Compute |
| SuperMicro SYS-6028U-TR4T+ | 28 | 1x256GB SSD | 2x256GB SSD (local) / 1x256GB SSD (rook-ceph) |
256GB | Proxmox | Compute |
| Dell PowerEdge R530 | 20 | 1x256GB SSD | 2x256GB SSD (local) / 1x256GB SSD (rook-ceph) |
156GB | Proxmox | Compute |
| Old Custom Build | 4 | 1x2TB HDD | 1x2TB HDD | 16GB | Proxmox | Compute |
| TrueNas Mini R | 8 | Internal SATA DOMs | 6x22TB HDD | 32GB | TrueNAS Scale | Storage |
| UniFi USP PDU Pro | - | - | - | - | - | PDU |
| Eaton 5PX1500RT - 1500VA | - | - | - | - | - | UPS |
The home-operations Discord group has been a huge inspiration for this repository. In particular, the repos by onedr0p, bjw-s, and buroa.
One major change from the typical home-operations setup is that I configured Kubernetes inside VMs instead of bare-metal. For that modification, I drew great inspiration from the two repos here and here.
Some binaries needed for local development: talosctl kubectl flux terraform docker yamlfmt markdownlint-cli2 hadolint shfmt, minijinja-cli, gum


