Skip to content

timtorChen/homelab

Repository files navigation

My Homelab :octocat:

... progressing with 未来のミュージアム 🎧

Discord   Talos   Kubernetes   Renovate

Age   Node-Count   Pod-Count   CPU-Usage   Memory-Usage   Power-Consumption  


📖 Overview

This is a mono repository for my home infrastructure and Kubernetes cluster. I use Talos Kubernetes distribution, and follows the concept Infrastructure as Code (IaC), using the tools like Flux, Terraform, Renovate and Github Actions.

Architecture

🚢 Technology Stack

Name Description
Talos Immutable Linux distribution for Kubernetes.
Flux Gitops tool to reconcile sources from Git repository to Kubernetes.
Kyverno Kubernetes policy manager.
Cilium Advanced networking.
Metallb IP address announcement and allocation for Kubernetes LoadBalancer.
Cloudflared Encrypted tunnel between server and Cloudflare.
Cert-manager Public and private certificate controller.
Ingress-nginx Simple ingress controller.
Rook-ceph Ceph operator, providing block, object and file storage.
Volsync Persistent Volume snapshot and backup.
CloudNativePG Postgres operator.
Grafana LGTM System monitoring.
Amazon-eks-pod-identity-webhook ServiceAccount token injection for Pod to access AWS.

☁️ Cloud Services

Service Usage Cost
Github Code repository and automation chores/jobs Free
JumpCloud SSO identity provider Free
Cloudflare Domain registrar and tunnel $10/year
Backblaze S3 bucket for buckup ~$1/month
AWS Parameter storage and terraform backend Free
Grafana Cloud External montoring Free
Let's Encrypt Public certificate authroity Free
Total ~$22/year

🔧 Hardware

Click to see the rack
Device Description Count RAM Disk
Askey RTF8207W Chunghwa Telecom modem 1
Mikrotik RB4011iGS+RM Router 1
Mikrotik CRS328-24P-4S+RM PoE Switch 1
Raspberry Pi 4B with PoE hat Kubernetes control planes 1 8GB 960GB SSD Micron 5200
Intel NUC11TNHi50L Kubernetes worker nodes 3 16*2 Mircon CT16G4SFRA32A
• OS: 960GB SSD Mircon 5300
• Data: 960GB NVMe Mircon 7450
Ubiquiti Power Distribution Pro 16p Switched and metered PDU 1

🤝 Acknowledgments

Thanks to Home Operations Discord community. I always find lots of cool ideas from chats. Also a special thanks to the great series, by Grégoire Jeanmart, which motivate me to start this project.

📄 License

Code is under the MIT License. Document and image is avaliable under CC BY-SA 4.0 License.