This mono repository houses the infrastructure for my homelab. I try to adhere to Infrastructure as Code (IaC) and GitOps practices using tools like Ansible, Terraform, Kubernetes, Flux, Renovate and GitHub Actions.
There is a template over at onedr0p/flux-cluster-template if you want to try and follow along with some of the practices I use here.
- actions-runner-controller: Self-hosted Github runners
- cert-manager: Creates SSL certificates for services in my k3s cluster.
- cilium: Internal Kubernetes networking plugin.
- external-dns: Automatically manages DNS records from my cluster in a cloud DNS provider.
- external-secrets: Managed Kubernetes secrets using Doppler.
- ingress-nginx: Ingress controller to expose HTTP traffic to pods over DNS.
- Rook: Distributed block storage for persistent storage.
- sops: Managed secrets for Kubernetes, Ansible and Terraform which are commited to Git.
- volsync and snapscheduler: Backup and recovery of persistent volume claims.
... and more!
Device | Count | Specs | OS | Purpose |
---|---|---|---|---|
MinisForum um350 | 1 | RAM 32GB M.2 SSD 500GB HDD SSD 500GB |
Ubuntu 22.04.4 LTS | Control Plane |
MinisForum um350 | 1 | RAM 32GB M.2 SSD 500GB HDD SSD 500GB |
Ubuntu 22.04.4 LTS | Data Plane |
Minisforum um560 | 1 | RAM 32GB M.2 SSD 1TB HDD SSD 500GB |
Ubuntu 22.04.4 LTS | Data Plane |
Device | Count | Specs | OS | Purpose |
---|---|---|---|---|
Turing Pi RK1 | 3 | RAM 16GB M.2 SSD 500GB |
Ubuntu 22.04 LTS | Development & Staging |
Device | Count | Specs | OS | Purpose |
---|---|---|---|---|
Turing Pi RK1 | 1 | RAM 16GB M.2 SSD 500GB HDD 1TB |
- | DNS Server |
Turing Pi Board V2 | 1 | - | - | - |
Unifi UDM Pro | 1 | - | - | 10Gb Core Switch + Router + FW |
Unifi Lite 8 PoE | 1 | - | - | Switch |
Mac Mini | 1 | RAM 8GB M.2 SSD 256GB |
- | TBD |
See my awful commit main history and legacy history
Thanks all the people of Home Operations Discord community who put a lot of effort and donate their time to the community.
See LICENSE v.g WTF License