🛠️ Technology Stack
Complete inventory of technologies used in the DaviesTechLabs homelab
Platform Layer
Operating System
| Component |
Version |
Purpose |
| Talos Linux |
v1.12.1 |
Immutable, API-driven Kubernetes OS |
| Kernel |
6.18.2-talos |
Linux kernel with GPU drivers |
Container Orchestration
| Component |
Version |
Purpose |
| Kubernetes |
v1.35.0 |
Container orchestration |
| containerd |
2.1.6 |
Container runtime |
| Cilium |
Latest |
CNI, network policies, eBPF |
GitOps
| Component |
Version |
Purpose |
| Flux CD |
v2 |
GitOps continuous delivery |
| SOPS |
Latest |
Secret encryption |
| Age |
Latest |
Encryption key management |
AI/ML Layer
GPU Inference (KubeRay RayService)
All AI inference runs on a unified Ray Serve endpoint with fractional GPU allocation:
| Service |
Model |
GPU Node |
GPU Type |
Allocation |
/llm |
vLLM (Llama 3.1 70B) |
khelben |
AMD Strix Halo 64GB |
0.95 GPU |
/whisper |
faster-whisper v3 |
elminster |
NVIDIA RTX 2070 8GB |
0.5 GPU |
/tts |
XTTS |
elminster |
NVIDIA RTX 2070 8GB |
0.5 GPU |
/embeddings |
BGE-Large |
drizzt |
AMD Radeon 680M 12GB |
0.8 GPU |
/reranker |
BGE-Reranker |
danilo |
Intel Arc 16GB |
0.8 GPU |
Endpoint: ai-inference-serve-svc.ai-ml.svc.cluster.local:8000/{service}
ML Serving Stack
| Component |
Version |
Purpose |
| KubeRay |
1.4+ |
Ray cluster operator |
| Ray Serve |
2.53.0 |
Unified inference endpoints |
| KServe |
v0.12+ |
Abstraction layer (ExternalName aliases) |
ML Workflows
GPU Scheduling
| Component |
Version |
Purpose |
| Volcano |
Latest |
GPU-aware scheduling |
| AMD GPU Device Plugin |
v1.4.1 |
ROCm GPU allocation |
| NVIDIA Device Plugin |
Latest |
CUDA GPU allocation |
| Node Feature Discovery |
v0.18.2 |
Hardware detection |
Data Layer
Databases
| Component |
Version |
Purpose |
| CloudNative-PG |
16.11 |
PostgreSQL for metadata |
| Milvus |
Latest |
Vector database for RAG |
| ClickHouse |
Latest |
Analytics, access logs |
| Valkey |
Latest |
Redis-compatible cache |
Object Storage
| Component |
Version |
Purpose |
| MinIO |
Latest |
S3-compatible storage |
| Longhorn |
v1.10.1 |
Distributed block storage |
| NFS CSI Driver |
Latest |
Shared filesystem |
Messaging
| Component |
Version |
Purpose |
| NATS |
Latest |
Message bus |
| NATS JetStream |
Built-in |
Persistent streaming |
Data Processing
Application Layer
Web Frameworks
| Application |
Language |
Framework |
Purpose |
| Companions |
Go |
net/http + HTMX |
AI chat interface (SSR) |
| Chat Handler |
Go |
handler-base |
RAG + LLM text pipeline |
| Voice Assistant |
Go |
handler-base |
STT → RAG → LLM → TTS pipeline |
| Pipeline Bridge |
Go |
handler-base |
Kubeflow/Argo workflow triggers |
| STT Module |
Go |
handler-base |
Speech-to-text bridge |
| TTS Module |
Go |
handler-base |
Text-to-speech bridge |
| Voice WebApp |
Python |
Gradio |
Voice assistant UI (dev/testing) |
| Ray Serve |
Python |
Ray Serve |
GPU inference endpoints |
Frontend
| Technology |
Purpose |
| HTMX |
Dynamic HTML updates |
| Alpine.js |
Lightweight reactivity |
| VRM |
3D avatar rendering |
Networking Layer
Ingress
DNS & Certificates
Service Mesh
| Component |
Purpose |
| Spegel |
P2P container image distribution |
Security Layer
Identity & Access
Runtime Security
| Component |
Version |
Purpose |
| Falco |
0.42.1 |
Runtime threat detection |
| Cilium Network Policies |
Built-in |
Network segmentation |
Backup
| Component |
Version |
Purpose |
| Velero |
v1.17.1 |
Cluster backup/restore |
Observability Layer
Metrics
Logging
| Component |
Version |
Purpose |
| Grafana Alloy |
v1.12.0 |
Log collection |
| Loki |
Latest |
Log aggregation |
Tracing
Development Tools
Local Development
| Tool |
Purpose |
| mise |
Tool version management |
| Task |
Task runner (Taskfile.yaml) |
| flux-local |
Local Flux testing |
CI/CD
| Tool |
Purpose |
| GitHub Actions |
CI/CD pipelines |
| Renovate |
Dependency updates |
Image Building
| Tool |
Purpose |
| Docker |
Container builds |
| GHCR |
Container registry |
Media & Entertainment
| Component |
Version |
Purpose |
| Jellyfin |
10.11.5 |
Media server |
| Nextcloud |
32.0.5 |
File sync & share |
| Prowlarr, Bazarr, etc. |
Various |
*arr stack |
| Kasm |
1.18.1 |
Browser isolation |
Go Dependencies (handler-base)
Shared Go module for all NATS handler services: handler-base
See ADR-0061 for the full refactoring rationale.
Python Dependencies (ML/AI only)
Python is retained for ML inference, pipeline orchestration, and dev tools:
Version Pinning Strategy
| Component Type |
Strategy |
| Base images |
Pin major.minor |
| Helm charts |
Pin exact version |
| Python packages |
Pin minimum version |
| System extensions |
Pin via Talos schematic |
Related Documents