updating to match everything in my homelab.

This commit is contained in:
2026-02-05 16:13:53 -05:00
parent f8787379c5
commit 80fb911e22
30 changed files with 3107 additions and 7 deletions

View File

@@ -0,0 +1,187 @@
# 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
```yaml
# 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
* [Forgotten Realms Wiki](https://forgottenrealms.fandom.com/)
* [Khelben Arunsun](https://forgottenrealms.fandom.com/wiki/Khelben_Arunsun)
* [Elminster](https://forgottenrealms.fandom.com/wiki/Elminster_Aumar)
* [Candlekeep](https://forgottenrealms.fandom.com/wiki/Candlekeep)
* [Neverwinter](https://forgottenrealms.fandom.com/wiki/Neverwinter)
* Related: [ADR-0035](0035-arm64-worker-strategy.md) - ARM64 Worker Strategy
* Related: [ADR-0011](0011-kuberay-unified-serving.md) - KubeRay Unified Serving