Infrastructure
Self-hosted Kubernetes platform
A four-node K3s cluster on one Proxmox host, with every layer declared in Git.
View case study
- Problem
- Twenty-plus services on one box, every change made by hand. Nothing was reproducible, and a rebuild meant re-deriving undocumented steps.
- What I built
- Terraform provisions the VMs, Ansible brings up a four-node K3s cluster, ArgoCD reconciles every workload from Git. Plus MetalLB and Nginx Ingress, Longhorn with scheduled snapshots, a cert-manager internal CA for real TLS, and Prometheus/Grafana/Alertmanager with custom exporters alerting to Discord.
- Result
- 12 applications reconciled from Git, drift auto-corrected, promotion by pull request. A rebuild is a pipeline, not a weekend — and the recovery runbook has been tested against real failures.
- Architecture
- Walkthrough on request
- Private repository
Cluster topology
Cluster topology
Proxmox host — one physical machine
- k3s-master control plane · VM
- k3s-worker-1 worker · VM
- k3s-worker-2 worker · VM
- k3s-worker-3 worker · VM
wings-vm · Docker host, outside the cluster
- MetalLB + Nginx Ingress · stable addressing
- Longhorn · replicated storage, scheduled snapshots
Longhorn provides replication across cluster VMs; the physical Proxmox host remains a single failure domain.
Fig. 2 — how one application is wired