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 in the Proxmox cluster. 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.
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.
- Remove unnecessary Grafana dashboards.
- Fix Grafana. Lots of dashboards were broken with a recent upgrade.
-
Setup TrueNAS storage. Actually, just do Ceph/Rook with Volsync natively on the nodes for PVCs. - Figure out the correct way to expose endpoints outside my local network (via Cloudflare)
- Move over all applications from windows machine:
- Jellyfin (needs GPU)
- Roon (might need a completely different setup to accomplish this)
- Factorio (need to figure out filesystem permission issue)
- Switch over to use local storage and volsync to my TrueNas cluster instead of the democratic-csi storage class.
- Fix my beets path by doing a raw SQLite query, described here.
- Consider standing up a little IDE (similar to what I have for HASS) that I can run beets queries in and modify the SQLite DB.