https://github.com/siggerzz/home-infra
My home Kubernetes cluster running on Talos Linux and managed with FluxCD. Based on onedr0p/cluster-template
https://github.com/siggerzz/home-infra
fluxcd gitops homelab k8s-at-home kubernetes
Last synced: 5 months ago
JSON representation
My home Kubernetes cluster running on Talos Linux and managed with FluxCD. Based on onedr0p/cluster-template
- Host: GitHub
- URL: https://github.com/siggerzz/home-infra
- Owner: siggerzz
- License: mit
- Created: 2025-01-19T15:39:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-12T21:39:15.000Z (6 months ago)
- Last Synced: 2026-01-13T01:29:34.805Z (6 months ago)
- Topics: fluxcd, gitops, homelab, k8s-at-home, kubernetes
- Language: Shell
- Homepage:
- Size: 625 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 58
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🏠 home-infra
My home infrastructure managed through GitOps using Flux and Talos Linux
## 📂 Repository Structure
```
├── .github/ # GitHub workflows and settings
├── .taskfiles/ # Task runner configurations
├── kubernetes/ # Kubernetes manifests
│ ├── apps/ # Application deployments
│ ├── bootstrap/ # Initial cluster bootstrap configurations
│ └── flux/ # Flux system configurations and repositories
```
## 🎮 Cluster Overview
This repository contains the configuration for my home Kubernetes cluster. The cluster is provisioned using [Talos Linux](https://www.talos.dev/) and follows the GitOps methodology using [Flux](https://fluxcd.io/).
### 💻 Cluster Hardware
| Hostname | Node Type | Hardware | CPU | Memory | Storage |
| ---------- | ------------- | ----------------- | -------- | ------ | --------- |
| glados-c01 | Control Plane | Lenovo M720q Tiny | i5-8400T | 16GB | 256GB SSD |
| glados-w01 | Worker | Lenovo M720q Tiny | i5-8400T | 16GB | 256GB SSD |
| glados-w02 | Worker | Lenovo M720q Tiny | i5-8400T | 16GB | 256GB SSD |
### 🔧 Core Components
- **🌐 Container Network Interface (CNI)**: [Cilium](https://github.com/cilium/cilium)
- **🔐 Certificate Management**: [cert-manager](https://github.com/cert-manager/cert-manager)
- **💾 Storage**: [OpenEBS](https://github.com/openebs/openebs)
- **🚦 Ingress Controller**: [ingress-nginx](https://github.com/kubernetes/ingress-nginx)
### 🌐 Networking Stack
- **📡 DNS**:
- External DNS management via [external-dns](https://github.com/kubernetes-sigs/external-dns)
- Internal DNS via [k8s-gateway](https://github.com/ori-edge/k8s_gateway)
- **🔒 Tunnel**: [Cloudflare Tunnel](https://github.com/cloudflare/cloudflared)
### 🚀 GitOps
The cluster is managed using Flux, which automatically reconciles the cluster state with the declarations in this repository. Key aspects include:
- ⏱️ Automated reconciliation every 30 minutes
- 🔑 Secrets management using [SOPS](https://github.com/getsops/sops)
- 🔄 Automated dependency updates via [Renovate](https://github.com/renovatebot/renovate)
### 📱 Applications
Currently deployed applications:
- 🎬 Jellyfin - Media Server
- 🔄 Echo Server - Testing HTTP/HTTPS requests
## 🛠️ Tools & Technologies
### Core Infrastructure
- 🖥️ [Talos](https://www.talos.dev/) - Operating system for Kubernetes
- 🔄 [Flux](https://fluxcd.io/) - GitOps operator for Kubernetes
- 📦 [Helm](https://helm.sh/) - Package manager for Kubernetes
- 📄 [Helmfile](https://helmfile.readthedocs.io/) - Declarative spec for deploying Helm charts
- ⚡ [Kubectl](https://kubernetes.io/docs/reference/kubectl/) - Kubernetes command-line tool
### Security & Secrets
- 🔐 [SOPS](https://github.com/getsops/sops) - Secrets encryption
- 🔒 [Age](https://github.com/FiloSottile/age) - File encryption tool
## 🙏 Acknowledgments
This cluster setup is inspired by and based on the [onedr0p/cluster-template](https://github.com/onedr0p/cluster-template).