Files
2026-05-17 00:46:26 +02:00

131 lines
2.2 KiB
Markdown

# 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.