%% Cluster Node Topology %% Related: ADR-0035, ADR-0011, ADR-0037 flowchart TB subgraph Cluster["Homelab Kubernetes Cluster (14 nodes)"] subgraph ControlPlane["👑 Control Plane (Companions of the Hall)"] Bruenor["bruenor
Intel N100"] Catti["catti
Intel N100"] Storm["storm
Intel N100"] end subgraph GPUNodes["🧙 Wizards (GPU Workers)"] Khelben["khelben
Radeon 8060S 64GB
🎮 Primary AI"] Elminster["elminster
RTX 2070 8GB
🎮 CUDA"] Drizzt["drizzt
Radeon 680M
🎮 ROCm"] Danilo["danilo
Intel Arc A770
🎮 Intel"] Regis["regis
NVIDIA GPU
🎮 CUDA"] end subgraph CPUNodes["⚔️ Fighters (CPU Workers)"] Wulfgar["wulfgar
Intel x86_64"] end subgraph ARMWorkers["🗡️ Rogues (ARM64 Raspberry Pi)"] Durnan["durnan
Pi 4 8GB"] Elaith["elaith
Pi 4 8GB"] Jarlaxle["jarlaxle
Pi 4 8GB"] Mirt["mirt
Pi 4 8GB"] Volo["volo
Pi 4 8GB"] end end subgraph Workloads["Workload Placement"] AIInference["AI Inference
→ Khelben"] MLTraining["ML Training
→ GPU Nodes"] EdgeServices["Lightweight Services
→ ARM64"] General["General Workloads
→ CPU + ARM64"] end subgraph Storage["Storage Affinity"] Longhorn["Longhorn
x86_64 only"] NFS["NFS
All nodes"] end AIInference -.-> Khelben MLTraining -.-> GPUNodes EdgeServices -.-> ARMWorkers General -.-> CPUNodes General -.-> ARMWorkers Longhorn -.->|Excluded| ARMWorkers NFS --> Cluster classDef control fill:#2563eb,stroke:#1d4ed8,color:#fff classDef gpu fill:#7c3aed,stroke:#5b21b6,color:#fff classDef cpu fill:#dc2626,stroke:#b91c1c,color:#fff classDef arm fill:#059669,stroke:#047857,color:#fff classDef workload fill:#9f7aea,stroke:#805ad5,color:#fff classDef storage fill:#ed8936,stroke:#dd6b20,color:#fff class Bruenor,Catti,Storm control class Khelben,Elminster,Drizzt,Danilo,Regis gpu class Wulfgar cpu class Durnan,Elaith,Jarlaxle,Mirt,Volo arm class AIInference,MLTraining,EdgeServices,General workload class Longhorn,NFS storage