homelab  by vehagn

Infrastructure-as-code repo for a Kubernetes homelab

created 3 years ago
306 stars

Top 88.6% on sourcepulse

GitHubView on GitHub
Project Summary

This repository provides Infrastructure as Code (IaC) configurations for a homelab, specifically targeting users who want to build a Kubernetes cluster using GitOps practices. It leverages Proxmox VE for virtualization, OpenTofu for provisioning, and Talos Linux for a minimal, secure Kubernetes distribution, managed via Argo CD.

How It Works

The homelab infrastructure is managed using OpenTofu, which provisions virtual machines on Proxmox VE. These VMs are configured to run Talos Linux, a specialized Kubernetes OS. Kubernetes manifests for applications and infrastructure components are stored in YAML format and managed through a GitOps workflow orchestrated by Argo CD. Helm charts, customized with Kustomize, are used for application deployment, enabling declarative management and automated updates.

Quick Start & Requirements

  • Installation: The setup involves provisioning Proxmox VE, then using OpenTofu to deploy Talos Kubernetes VMs. Argo CD is then used to deploy applications from the k8s directory.
  • Prerequisites: Proxmox VE, OpenTofu, Talos, Kubernetes, Argo CD, Cilium, Cert-manager, Sealed-secrets, Authelia, Gateway API, AdGuardHome, NetBird, CloudNativePG.
  • Resources: Requires multiple physical or virtual machines for Proxmox nodes and Kubernetes control/worker planes. Specific hardware details are listed in the README.
  • Documentation: Guides on bootstrapping k3s with Cilium and Kubernetes on Proxmox are available.

Highlighted Details

  • Utilizes Talos Linux for a hardened, minimal Kubernetes OS.
  • Employs GitOps with Argo CD for declarative cluster management.
  • Leverages Kustomized Helm for application deployment.
  • Includes eBPF-based networking and security with Cilium.

Maintenance & Community

The repository is maintained by vehagn. No specific community links (Discord/Slack) or major contributor information are provided in the README.

Licensing & Compatibility

The repository itself is not explicitly licensed in the README. The core components used (OpenTofu, Talos, Argo CD, etc.) have their own licenses, which should be reviewed for compatibility, especially for commercial use.

Limitations & Caveats

This configuration is tailored for a specific homelab setup and may require significant adaptation for different hardware or use cases. The project is actively under development with several "Work in Progress" and "Future Projects" listed.

Health Check
Last commit

2 days ago

Responsiveness

Inactive

Pull Requests (30d)
28
Issues (30d)
1
Star History
86 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.