Skip to content

Homelab automation and management using Proxmox, Kubernetes, Talos, and Terraform

Notifications You must be signed in to change notification settings

ravilushqa/homelab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HomeLab Project 🏠💻

This repository represents my HomeLab setup, showcasing an integration of various modern technologies for managing a Kubernetes-based infrastructure. It includes configurations for virtualization, networking, storage, and application deployment.


Core Technologies 🛠️

  • Proxmox Server management and virtualization.
  • Terraform Infrastructure as Code.
  • Talos Linux Kubernetes OS.
  • Cilium Network security and observability.
  • Traefik Edge Router due to its simplicity and TLS passthrough capabilities and my router limitations.
  • Cert-Manager Certificate management.
  • Proxmox CSI Storage provisioning.
  • Sealed Secrets Encrypted secrets management, which is safe to store in Git.
  • Gateway API Next generation of Kubernetes Ingress.
  • Grafana Cloud Monitoring and observability of the cluster.
  • ArgoCD GitOps continuous delivery tool for declarative Kubernetes management.

Applications 📦


Repository Structure 📂

.
├── k8s
│   ├── apps  # applications
│   │   ├── external  # external-facing applications
│   │   └── internal  # internal services
│   └── infra # k8s infrastructure
│       ├── argocd    # gitops deployment
│       ├── network   # networking components
│       ├── security  # security components
│       └── storage   # storage components
└── terraform
    └── modules
        ├── monitoring          # grafana cloud monitoring
        ├── proxmox             # talos vm deployment
        ├── proxmox-csi-plugin  # proxmox storage for k8s
        ├── sealed-secrets      # k8s secret management
        ├── talos               # talos cluster deployment
        └── traefik             # traefik tls passthrough lxc container

GitOps with ArgoCD 🚢

The cluster uses ArgoCD for GitOps-based continuous delivery. All applications and infrastructure components are automatically synchronized from this Git repository.

Key Features:

  • UI Access: https://argocd.ravil.space
  • Auto-sync: All applications are configured for automatic synchronization
  • Self-healing: Automatic correction of manual cluster changes to match Git state
  • Application Structure:
    • Infrastructure components (k8s/infra/*)
    • Internal services (glance, isponsorblocktv)
    • External applications (k8s/apps/external/*)

Quick Commands:

# Get ArgoCD admin password
make argocd-password

# Restart ArgoCD components
make argocd-restart

# View application status
kubectl -n argocd get applications

🚀 Next Features

Planned features for this project include:


About

Homelab automation and management using Proxmox, Kubernetes, Talos, and Terraform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published