About this project

This repository contains the infrastructure-as-code configuration for a personal homelab running on a hybrid ARM64/AMD64 Kubernetes cluster. The architecture defines four distinct storage classes: ceph-block for read-write-once Kubernetes data, ceph-bucket for S3-like volumes, ceph-filesystem for read-write-many shared volumes, and nfs-media-client for media data. Backups are managed through Velero, periodically snapshotting both etcd (Kubernetes resources) and persistent volumes to S3-compatible storage, with a documented runbook for restoration procedures. The services/ directory organizes individual web, networking, and other services as subfolders. The project relies on a toolchain including Docker, Terraform, Ansible, Kubectl, Kustomize, Kind, SOPS, and Kustomize-Sops for secrets management, enabling reproducible and encrypted infrastructure deployments.