The Bluespeed dashboard is kubestellar with a default set of panels.
Panel 1 — Physical Host
CPU %, RAM used/total, disk used/total on the data volume, system uptime. All the usual node stuff. Source: OTel → Prometheus. Read-only.
Panel 2 — Cluster
k3s node list (hostname, status, k3s version), pod count running/total, error-state pods surfaced. "Forged on:" date = timestamp when cluster first reported healthy. Source: k3s node API. When the user adds more cluster nodes this becomes awesome.
Architecture
Ghost (physical hub) → VMs on ghost (k3s nodes: knuckle-1, exo-dakota, etc.) → enrolled clients (laptops not k3s nodes). Node metadata lives as k8s node labels — no separate registry file.
Constraints: No registry.yaml. No database. No theme engine. Two custom label fields per node. KubeStellar Console handles cluster management separately — this page is the home view.
Relates to: #25 (bluespeed.local DNS), #16 (master epic), #27 (easter egg naming)
The Bluespeed dashboard is kubestellar with a default set of panels.
Panel 1 — Physical Host
CPU %, RAM used/total, disk used/total on the data volume, system uptime. All the usual node stuff. Source: OTel → Prometheus. Read-only.
Panel 2 — Cluster
k3s node list (hostname, status, k3s version), pod count running/total, error-state pods surfaced. "Forged on:" date = timestamp when cluster first reported healthy. Source: k3s node API. When the user adds more cluster nodes this becomes awesome.
Architecture
Ghost (physical hub) → VMs on ghost (k3s nodes: knuckle-1, exo-dakota, etc.) → enrolled clients (laptops not k3s nodes). Node metadata lives as k8s node labels — no separate registry file.
Constraints: No registry.yaml. No database. No theme engine. Two custom label fields per node. KubeStellar Console handles cluster management separately — this page is the home view.
Relates to: #25 (bluespeed.local DNS), #16 (master epic), #27 (easter egg naming)