# Ced's K3s HomeLab (for draw.io text import)

# Note: All IP addresses have been replaced with placeholders for security.
# Substitute your own values before importing or sharing this diagram.

Ced HomeLab
  VLAN <homelab-vlan-subnet>
    UniFi Dream Router (<gateway-ip>)
    Proxmox VE (<proxmox-host-ip>)
    MetalLB VIPs (<metallb-pool-range>)

Control Plane (Raspberry Pi)
  k3s-django-1 (<control-plane-ip-1>) [control-plane, etcd]
  k3s-django-2 (<control-plane-ip-2>) [control-plane, etcd]
  k3s-django-3 (<control-plane-ip-3>) [control-plane, etcd]

Ingress Nodes
  k3s-node-1 (<ingress-node-ip-1>) [ingress-node=true]
  k3s-node-2 (<ingress-node-ip-2>) [ingress-node=true]
  k3s-node-3 (<ingress-node-ip-3>) [ingress-node=true]

Data Nodes
  k3s-node-4 (<data-node-ip-1>) [data-node=true]
  k3s-node-5 (<data-node-ip-2>) [data-node=true]
  k3s-node-6 (<data-node-ip-3>) [data-node=true]

Monitoring Nodes
  k3s-node-7 (<monitoring-node-ip-1>) [monitoring-node=true]
  k3s-node-8 (<monitoring-node-ip-2>) [monitoring-node=true]
  k3s-node-9 (<monitoring-node-ip-3>) [monitoring-node=true]

Kubernetes Services
  MetalLB (L2)
    IPAddressPool: <metallb-pool-range>
  ingress-nginx
    Service: LoadBalancer → MetalLB VIP (<metallb-vip>)
  kube-prometheus-stack (Ced's NOC)
    Prometheus
    Alertmanager
    Grafana (LoadBalancer via MetalLB)
  Demo nginx app
    Ingress: demo.local → ingress nginx → demo-nginx Service