Files
homelab-design/decisions/0037-node-naming-conventions.md

11 KiB

Node Naming Conventions

  • Status: accepted
  • Date: 2026-02-05
  • Deciders: Billy
  • Technical Story: Establish memorable, role-based naming for cluster nodes

Context and Problem Statement

The homelab cluster has grown to include:

  • 14 Kubernetes nodes (control plane + workers)
  • Multiple storage servers
  • Development workstations

Generic names like node-01, worker-gpu-1 are:

  • Hard to remember
  • Don't convey node purpose
  • Boring

How do we name nodes in a way that's memorable, fun, and indicates their role?

Decision Drivers

  • Names should indicate node role/capability
  • Easy to remember and reference in conversation
  • Consistent theme across the homelab
  • Scalable as more nodes are added

Decision Outcome

Chosen option: Dungeons & Dragons character naming scheme

All nodes are named after famous D&D characters from Forgotten Realms, with character class mapping to node role.

Naming Scheme

Control Plane → Companions of the Hall

The control plane nodes are named after the legendary Companions of the Hall, Drizzt's closest allies.

Node Character Hardware Notes
bruenor Bruenor Battlehammer Intel N100 Dwarf King of Mithral Hall
catti Catti-brie Intel N100 Human ranger, Bruenor's adopted daughter
storm Storm Silverhand Intel N100 Chosen of Mystra, Harper leader

Wizards → GPU Nodes (Spellcasters)

Wizards cast powerful spells, just as GPU nodes power AI/ML workloads.

Node Character GPU Notes
khelben Khelben "Blackstaff" Arunsun AMD Radeon 8060S 64GB Primary AI inference, Strix Halo APU
elminster Elminster Aumar NVIDIA RTX 2070 8GB CUDA workloads, Sage of Shadowdale
drizzt Drizzt Do'Urden* AMD Radeon 680M ROCm backup node
danilo Danilo Thann Intel Arc A770 Intel inference, bard/wizard multiclass
regis Regis NVIDIA GPU Halfling with magical ruby, spellthief vibes

*Drizzt is technically a ranger, but his magical scimitars and time in Menzoberranzan qualify him for the GPU tier.

Rogues → ARM64 Edge Nodes

Rogues are nimble and work in the shadows—perfect for lightweight edge compute on Raspberry Pi nodes.

Node Character Hardware Notes
durnan Durnan Raspberry Pi 4 8GB Yawning Portal innkeeper, retired adventurer
elaith Elaith Craulnober Raspberry Pi 4 8GB The Serpent, moon elf rogue
jarlaxle Jarlaxle Baenre Raspberry Pi 4 8GB Drow mercenary leader
mirt Mirt the Moneylender Raspberry Pi 4 8GB Harper agent, "Old Wolf"
volo Volothamp Geddarm Raspberry Pi 4 8GB Famous author and traveler

Fighters → x86 CPU Workers

Fighters are the workhorses, handling general compute without magical (GPU) abilities.

Node Character Hardware Notes
wulfgar Wulfgar Intel x86_64 Barbarian of Icewind Dale, Aegis-fang wielder

Infrastructure Nodes (Locations)

Node Character/Location Role Notes
candlekeep Candlekeep Primary NAS (Synology) Library fortress, knowledge storage
neverwinter Neverwinter Fast NAS (TrueNAS Scale) Jewel of the North, all-SSD, nfs-fast
waterdeep Waterdeep Mac Mini dev workstation City of Splendors, primary city

Future Expansion

Class Role Candidate Names
Clerics Database/backup nodes Cadderly, Dawnbringer
Fighters High-CPU compute Artemis Entreri, Obould
Druids Monitoring/observability Jaheira, Cernd
Bards API gateways Other Thann family members
Paladins Security nodes Ajantis, Keldorn

Architecture

┌───────────────────────────────────────────────────────────────────────────────┐
│                     Homelab Cluster (14 Kubernetes Nodes)                      │
│                                                                                │
│  ┌──────────────────────────────────────────────────────────────────────┐     │
│  │              👑 Control Plane (Companions of the Hall)                │     │
│  │                                                                       │     │
│  │      bruenor              catti                storm                  │     │
│  │      Intel N100           Intel N100           Intel N100             │     │
│  │      "Dwarf King"         "Catti-brie"         "Silverhand"           │     │
│  └──────────────────────────────────────────────────────────────────────┘     │
│                                                                                │
│  ┌──────────────────────────────────────────────────────────────────────┐     │
│  │                    🧙 Wizards (GPU Spellcasters)                      │     │
│  │                                                                       │     │
│  │  khelben         elminster       drizzt        danilo       regis    │     │
│  │  Radeon 8060S    RTX 2070        Radeon 680M   Arc A770     NVIDIA   │     │
│  │  64GB unified    8GB VRAM        iGPU          16GB         GPU      │     │
│  │  "Blackstaff"    "Sage"          "Ranger"      "Bard"       "Ruby"   │     │
│  └──────────────────────────────────────────────────────────────────────┘     │
│                                                                                │
│  ┌──────────────────────────────────────────────────────────────────────┐     │
│  │                    🗡️ Rogues (ARM64 Edge Nodes)                       │     │
│  │                                                                       │     │
│  │  durnan         elaith         jarlaxle        mirt         volo     │     │
│  │  Pi 4 8GB       Pi 4 8GB       Pi 4 8GB        Pi 4 8GB     Pi 4 8GB │     │
│  │  "Innkeeper"    "Serpent"      "Mercenary"     "Old Wolf"   "Author" │     │
│  └──────────────────────────────────────────────────────────────────────┘     │
│                                                                                │
│  ┌──────────────────────────────────────────────────────────────────────┐     │
│  │                    ⚔️ Fighters (x86 CPU Workers)                      │     │
│  │                                                                       │     │
│  │                           wulfgar                                     │     │
│  │                           Intel x86_64                                │     │
│  │                           "Barbarian of Icewind Dale"                 │     │
│  └──────────────────────────────────────────────────────────────────────┘     │
└───────────────────────────────────────────────────────────────────────────────┘

┌───────────────────────────────────────────────────────────────────────────────┐
│                    🏰 Locations (Off-Cluster Infrastructure)                   │
│                                                                                │
│  📚 candlekeep              ❄️ neverwinter              🏙️ waterdeep           │
│  Synology NAS               TrueNAS Scale (SSD)         Mac Mini               │
│  nfs-default                nfs-fast                    Dev workstation        │
│  High capacity              High speed                  Primary dev box        │
│  "Library Fortress"         "Jewel of the North"        "City of Splendors"    │
└───────────────────────────────────────────────────────────────────────────────┘

Storage Mapping

Location Storage Class Speed Capacity Use Case
Candlekeep nfs-default HDD High Backups, archives, media
Neverwinter nfs-fast SSD Medium Database WAL, hot data
Longhorn longhorn Local SSD Distributed Replicated app data

Node Labels

# GPU Wizard nodes
node.kubernetes.io/instance-type: gpu-wizard
homelab.daviestechlabs.io/character-class: wizard
homelab.daviestechlabs.io/character-name: khelben

# ARM64 Rogue nodes  
node.kubernetes.io/instance-type: raspberry-pi
homelab.daviestechlabs.io/character-class: rogue
homelab.daviestechlabs.io/character-name: jarlaxle

DNS/Hostname Resolution

All nodes are resolvable via:

  • Kubernetes DNS: <node>.node.kubernetes.io
  • Local DNS: <node>.lab.daviestechlabs.io
  • mDNS: <node>.local

References