Skip to content
/ Orbit Public

Homelab infrastructure for managing a Kubernetes cluster via GitOps, powered by Proxmox, Talos, Terraform, Ansible, and Argo CD.

Notifications You must be signed in to change notification settings

Myrenic/Orbit

Repository files navigation

Orbit Logo

Homelab - Orbit

Terraform Ansible Talos ArgoCD Renovate Commits Status

Repository for managing a Kubernetes cluster through GitOps workflows.

Powered by Proxmox VE, Ansible, Terraform, Talos, Argo CD, and Task. Kept up to date with Renovate. Includes a healthy dose of automation and the occasional 3-letter commit message.


📖 Overview

This repository hosts the IaC (Infrastructure as Code) configuration for my homelab.

The homelab runs on Proxmox VE hypervisor nodes, with VMs provisioned using Terraform and Ansible.

Most services run on Talos, while a dedicated VM provides an NFS-based file server for Longhorn backups and media storage.

🚀 Getting Started

  1. Set required environment variables:
export BW_ORGANIZATION_ID=...
export BW_PROJECT_ID=...
export BW_TOKEN=...
export GIT_TOKEN=...
  1. Create Terraform variables in both infrastructure/helios and infrastructure/atlas folders.

  2. Deploy the machines using Terraform:

task build
  1. Bootstrap the cluster (installs CRDs, cert-manager, external-secrets, and ArgoCD):
task bootstrap

Then open https://argocd.{{domain}} and log in using the admin password stored in Bitwarden.

  1. Full reset:

Redeploying the cluster is straightforward:

task reset-infra

Apps

Services

End-user facing applications

Logo Name Description
Hello-World Example and template application for the repository
Frigate NVR with real-time object detection for IP cameras
Jellyseerr Media request management and discovery tool for Jellyfin.
Prowlarr Indexer manager for integrating with Sonarr, Radarr, and more.
Radarr Movie collection manager for Usenet and BitTorrent users.
Sonarr Smart PVR for TV shows, automating downloads and organization.
SABnzbd Usenet binary newsreader for automated downloads.
RoomCtrlScraper Custom service to scrape and manage room control data.

Platform

Foundation components for running and deploying applications in my cluster

Logo Name Description
Cert Manager Manages TLS certificates for secure communication within Kubernetes.
External Secrets Syncs secrets from external stores into Kubernetes resources.
Argo CD GitOps tool for continuous delivery and Kubernetes application management.
Renovate Automates dependency and container image updates via pull requests.
CRDs Custom Resource Definitions required by various operators and apps.
Defaults Cluster-wide default namespaces and ArgoCD projects.

Core

Essential infrastructure services powering the cluster

Logo Name Description
authentik Identity provider enabling single sign-on (SSO) and centralized user management.
crowdsec Collaborative, open-source intrusion prevention and detection system.
csi-driver-nfs Kubernetes CSI driver for NFS persistent volumes.
longhorn Cloud-native distributed block storage for Kubernetes.
metallb Load-balancer implementation for bare metal Kubernetes clusters.
reflector Mirrors Kubernetes secrets and configmaps across namespaces.
traefik Cloud-native reverse proxy and ingress controller for Kubernetes.

💻 Hardware

Name Device CPU RAM Storage Purpose
pve1 Aoostar R7 AMD Ryzen 7 5825U 48 GB DDR4 SO-DIMM 8TB HDD + 2TB SSD Compute/General

About

Homelab infrastructure for managing a Kubernetes cluster via GitOps, powered by Proxmox, Talos, Terraform, Ansible, and Argo CD.

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •