Homelab Infrastructure
Infrastructure-as-Code repository for my personal homelab and Kubernetes environment.
This repository contains configuration files, monitoring stack definitions, alerting rules, Talos Linux cluster configuration, exporters, ingress resources and various infrastructure-related manifests used across my environment.
Main Technologies
- Kubernetes
- Talos Linux
- Prometheus
- Grafana
- Alertmanager
- Blackbox Exporter
- SNMP Exporter
- IPMI Exporter
- Proxmox VE
- MetalLB
- Ingress NGINX
- Cloudflare Tunnel
- Ansible
Repository Structure
ansible/
Ansible playbooks and inventory files.
Examples:
- package installation
- node-exporter deployment
- server automation
k8s/
Kubernetes manifests and infrastructure configuration.
cloudflare/
Cloudflare Tunnel manifests.
homepage/
Homepage dashboard manifests.
ingress-nginx/
Ingress resources for exposed services.
longhorn/
Longhorn distributed storage configuration.
metallb-system/
MetalLB load balancer configuration.
monitoring/
Monitoring stack configuration.
Contains:
- Prometheus scrape configs
- exporter configs
- Prometheus alert rules
- Alertmanager Discord integration
- uptime-kuma config
others/
Miscellaneous manifests.
security/
Authentication and security-related configs.
talos/
Talos Linux cluster configuration.
Contains:
- machine configs
- patches
- cluster bootstrap configs
- kubeconfig
- talosconfig
Monitoring Stack
The monitoring stack includes:
- Prometheus
- Grafana
- Alertmanager
- SNMP monitoring
- Blackbox ICMP monitoring
- IPMI monitoring
- Discord alerting
Alerting covers:
- host availability
- interface utilization
- packet loss
- scrape failures
- CPU/RAM pressure
- Kubernetes health
- Proxmox monitoring
Goals
Main goals of this homelab:
- infrastructure automation
- observability
- Kubernetes learning
- monitoring and alerting
- network engineering
- high availability experiments
- infrastructure testing
- self-hosted services
Notes
This repository intentionally excludes secrets and sensitive credentials using .gitignore.
Some manifests may require environment-specific modifications before deployment.