A mono repository for my home infrastructure and K3S kubernetes cluster. Managed with Ansible, Flux, Renovate, and GitHub Actions, with adherence to Infrastructure as Code (IaC) and GitOps practices.
APACHE-2.0 License
This is a mono repository for my home infrastructure and Kubernetes cluster. I try to adhere to Infrastructure as Code (IaC) and GitOps practices using tools like Ansible, Terraform, Kubernetes, Flux, Renovate and GitHub Actions. Secrets are protected with modern Age encryption.
cluster
: directory contains my Kubernetes configuration and artifacts, managed by Flux.provision
: directory contains my Ansible playbooks and roles for provisioning my home infrastructure.I run a fully conformant Kubernetes cluster at home with K3S, provisioned overtop bare-metal Ubuntu 22.04 using Ansible. This is a semi hyperconverged cluster (HCI), with workloads and block storage sharing the same available resources from a centralized RAID 5 storage.
Currently, I automate the provisioning of the following systems at home:
📙 Click here to see my Ansible playbooks and roles for provisioning my home infrastructure.
Over WAN, I have forwarded ports 80
and 443
from my router. I use Cloudflare as a proxy to hide my home WAN IP. I use cddns as my Dynamic DNS.
cluster
folder and makes the changes to my cluster automatically, based on the YAML manifests.Device | Amt | OS Disk | Data Disk | RAM | OS | Purpose |
---|---|---|---|---|---|---|
ARRIS Surfboard SB6183 | 1 | N/A | N/A | 256MB | N/A | Modem |
Linksys AC1900 | 1 | N/A | N/A | 500MB | OpenWrt | Router, DHCP |
HP ProDesk 600 G3 Mini | 1 | 120GB SD | N/A | 4GB | Ubuntu 22.04 | Kubernetes Master |
Raspberry Pi 4B 2GB | 4 | 32GB SD | N/A | 2GB | Ubuntu 22.04 | Kubernetes Worker |
Raspberry Pi 3 Model B+ | 1 | 32GB SD | N/A | 1GB | Ubuntu 22.04 | Kubernetes Worker |
AC Infinity CLOUDPLATE T1-N | 1 | N/A | N/A | N/A | N/A | Air Cooling |
Kingston SATA 3 2.5" SSD | 4 | N/A | 240 GB | N/A | N/A | SATA 3 SSD |
QNAP TR-004 4 Bay DAS | 1 | N/A | 720 GB RAID5 | N/A | N/A | RAID 5 DAS |
ADJ Products PC-100A PDU | 1 | N/A | N/A | N/A | N/A | PDU |
This project is dual-licensed under both Apache 2.0 and MIT licenses.