Lab · Sheet 03

The stack.

What runs on the metal, layer by layer. Dashed is next.

Hover or tap anything numbered.

TD-LAB-03 · The stack The software on the lab, drawn as a building. Section A–A: the R730 below grade on three ZFS pools, Proxmox at ground level, the gateway, NAS and control node beside it; a floor of virtual machines with three Talos nodes and two standalone VMs, one running and one planned; the Kubernetes cluster as a tower on those nodes, with Cilium as its floor, the platform as fixtures and an apps storey of running apps on top. Plan: the three nodes inside the Proxmox host, one API endpoint, one network, and their disks on the fast pool. Solid is running, dashed is planned. 1234567812345678ABCDEFABCDEF TD-LAB-03 TITLE BLOCK AND NOTES BELOW 03 KUBERNETES BUILT WITH HELM → FLUX 02 VIRTUAL MACHINES BUILT WITH OPENTOFU 01 BOOTSTRAP BUILT WITH ANSIBLE DELL POWEREDGE R730 2 × XEON E5-2683 V4 · 64 THREADS · 512 GB PERC H730P MINI · 10 DRIVES · BELOW GRADE 1 RPOOL FAST BULK 2 ≈ 220 GiB ≈ 1485 GiB ≈ 930 GiB PROXMOX VE 9.2 THE HYPERVISOR, ON ZFS 3 HOST CONFIGPLANT ROOM 4 RASPBERRYPI 4CONTROL 5 UDM PRO GATEWAY 6 UNAS PRO 8 NAS 7 1 GbE ANSIBLE TALOS 1 8 vCPU 24 GiB RAM 64 GB · FAST TALOS 2 8 vCPU 24 GiB RAM 64 GB · FAST TALOS 3 8 vCPU 24 GiB RAM 64 GB · FAST 8 8 8 GITHUBRUNNERSELF-HOSTEDCI RUNNERS 9 ROBOMPTHE OH-MY-PIGITHUB BOT 10 11 CILIUM 1.20 THE CLUSTER’S FLOOR PLATFORM METRICS-SERVER0.9 12 FLUX 13 CERT-MANAGER1.21 14 EXTERNALSECRETS 15 PROXMOX CSI 16 OBSERVABILITY 17 CLOUDNATIVEPG1.30 18 RUSTFS1.0 19 ADMISSIONPOLICIES 20 NFS CSI 21 VOLSYNC 22 APPS HEADLAMP 23 HOMEPAGE2.4 24 GATUS5.37 25 ZOT2.1 26 3 × TALOS · 24 vCPU · 72 GiB SECTION A–A NOT TO SCALE POOLS DRAWN TO SIZE PROXMOX VE 9.2 THE HOST · ONE R730 3 kubectl API 27 KUBERNETES API ONE ENDPOINT FOR ALL 3 TALOS 1 CONTROL PLANE + WORKLOADS 8 vCPU · 24 GiB TALOS 2 CONTROL PLANE + WORKLOADS 8 vCPU · 24 GiB TALOS 3 CONTROL PLANE + WORKLOADS 8 vCPU · 24 GiB 8 8 8 11 CILIUM 1.20 ONE NETWORK A A FAST MIRROR · BAYS 1 + 2 + 3 2 DISK 1 DISK 2 DISK 3 64 GB 64 GB 64 GB ≈ 1485 GiB CSI VOLUMES 16 PLAN · THE CLUSTER NOT TO SCALE POOL AND DISKS DRAWN TO SIZE IN PROGRESS
Revisions
RevDescriptionDateBy
AFirst issue2026-09-29TD
BGateway, cert-manager, first app2026-09-29TD
CMetrics, logs, Grafana2026-09-29TD
DR730, CloudNativePG, RustFS, three apps, GitHub runner2026-10-03TD
Project
HOMELAB
Title
The stack
Scale
AS NOTED
Units
mm
Sheet
3 OF 3
Rev
D
Date
2026-10-03
Drawn
TD
Checked
TD
Dwg no
TD-LAB-03

Line key

  • Running
  • Planned
  • Cut: walls, floors, pools
  • Network

Layer by layer

Layers
3
Running
23
Planned
3
Talos nodes
3

03 Kubernetes

Built with Helm → Flux

  • Cilium 1.20 Networking: CNI, kube-proxy replacement, Hubble running
  • metrics-server 0.9 CPU and memory use, for kubectl top running
  • Flux GitOps from the repo running
  • cert-manager 1.21 Certificates running
  • External Secrets Secrets from 1Password running
  • Proxmox CSI Block storage on fast and bulk running
  • VictoriaMetrics + VictoriaLogs + Grafana Metrics, logs and dashboards running
  • CloudNativePG 1.30 Postgres running
  • RustFS 1.0 S3 storage in the cluster running
  • Admission policies Guardrails running
  • NFS CSI Shared storage on the UNAS planned
  • VolSync Backups planned
  • Headlamp A web UI for the cluster running
  • Homepage 2.4 A start page for the lab running
  • Gatus 5.37 Status page and uptime checks running
  • Zot 2.1 A private container registry running

02 Virtual machines

Built with OpenTofu

  • Talos nodes 1.14 Control plane and workloads, all three running
  • GitHub runner Self-hosted CI runners running
  • robomp The oh-my-pi GitHub bot planned

01 Bootstrap

Built with Ansible

  • Dell R730 The one server: 64 threads, 512 GB running
  • ZFS pools rpool, fast and bulk running
  • Proxmox VE 9.2 The hypervisor, on ZFS running
  • Host config Snapshots, disk checks, alerts, metrics running
  • Raspberry Pi 4 The control node running
  • UDM Pro Gateway and firewall running
  • UNAS Pro 8 NFS storage over 10 GbE running

Sheet 01 · The cabinet Sheet 02 · The server