This is the repo for my home infrastructure including a kubernetes cluster. My cluster runs on Talos Linux and is managed with Flux and the rest of my machines run on NixOS.
📁 docs # documentation
📁 kubernetes # kubernetes cluster
📁 nix # nix configurations| Device | Count | OS Disk | Data Disk | RAM | OS | Purpose |
|---|---|---|---|---|---|---|
| Protectli VP2410 | 1 | 1TB SSD | - | 16GB | OPNSense | Router |
| TP-Link SG2016P | 1 | - | - | - | - | 1Gb PoE Switch |
| PiKVM V4 Plus + PiKVM Switch | 1 | 32GB SD | - | 4GB | PiKVM | KVM |
| Intel NUC11PAHi7 | 3 | 500GB SSD | 1TB NVMe | 32GB | Talos | Kubernetes Controllers |
| Custom NAS | 1 | 1TB NVMe | 4x12TB HDD | 32GB | NixOS | NFS |
| ADJ PC-100A | - | - | - | - | - | PDU |
| CyberPower OR500LCDRM1U | - | - | - | - | - | UPS |
I try to self-host as much of my infrastructure as possible, but there are some instances where I opt to rely on cloud services. I do this primarily for scenarios such as secrets management and uptime alerting that need to be available whether or not the cluster is online. All backups to public cloud storage are encrypted.
| Service | Use | Cost |
|---|---|---|
| Backblaze B2 | Backups | ~$100/yr |
| Bitwarden | Secrets with External Secrets | $10/yr |
| Cloudflare | Domain and tunnel | ~$30/yr |
| GCP | Voice interactions with Home Assistant over Google Assistant | Free |
| GitHub | Hosting this repository and continuous integration/deployments | Free |
| Google Drive | OPNsense backups | Free |
| Healthchecks | Monitoring internet connectivity and external facing applications | Free |
| Migadu | Email hosting | ~$20/yr |
| Pushover | Kubernetes Alerts and application notifications | $5 OTP |
| Total: ~$15/mo |
A huge thank you for all the maintainers of the dependencies used by this project as well as onedr0p for the awesome cluster template which was used to initially create this repo. If you'd like to get started with your own cluster be sure to check it out.