131 lines
2.2 KiB
Markdown
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.
|