This is the public copy of my Kubernetes cluster configuration. I use this repository to manage my home infrastructure and workloads, like Home Assistant.
| Tool | Purpose | 
|---|---|
| flux | Operator that manages your k8s cluster based on your Git repository | 
| Node | Hostname | RAM | Storage | Function | Operating System | 
|---|---|---|---|---|---|
| Dell Optiplex Micro 5050 | APER_NODE_01 | 16GB | 2TB HDD + 500GB SSD (Boot) | Kube Worker | Talos 1.8.0-alpha.1 | 
| Dell Optiplex Micro 5050 | APER_NODE_01 | 16GB | 2TB HDD + 500GB SSD (Boot) | Kube Worker | Talos 1.8.0-alpha.1 | 
No dedicated NAS or storage server. Instead, I use the two 2tb disks in the nodes
| Vendor | Model | Function | 
|---|---|---|
| ASUS | RT-AC66U B1 | Running FreshTomoato as the firmware | 
| TP-LINK | Managed 6 port switch | 
While most of my infrastructure and workloads are self-hosted I do rely upon the cloud for certain key parts of my setup. This saves me from having to worry about two things. (1) Dealing with chicken/egg scenarios and (2) services I critically need whether my cluster is online or not.
The alternative solution to these two problems would be to host a Kubernetes cluster in the cloud and deploy applications like HCVault, Vaultwarden, ntfy, and Gatus. However, maintaining another cluster and monitoring another group of workloads is a lot more time and effort than I am willing to put in.
| Service | Use | Cost | 
|---|---|---|
| Cloudflare | Domain(s) | Free | 
| GCP | Voice interactions with Home Assistant over Google Assistant | Free | 
| GitHub | Hosting this repository and continuous integration/deployments | Free | 
| 1Password | External Secrets and secret management | Free for the moment | 

