Hyprland Observability
Vision
Full observability of the Hyprland workstation — host metrics, GPU thermals, and compositor state — feeding into the existing Prometheus/Grafana stack on the pal-e cluster. The workstation should be as visible as any cluster node or CI agent.
Additionally, this board tracks the Pal-E World gaming platform — cloud game streaming via GOW containers and Sunshine/Moonlight, with the Hyprland workstation as both the host and the dogfooding client.
User Stories
| Key | Story Note | Role | Success Metric |
|---|---|---|---|
| host-health | TBD | Platform operator | CPU, memory, disk, network metrics visible in Grafana with 30s resolution |
| gpu-thermals | TBD | Gamer / developer | GPU temp, utilization, VRAM, clock speeds in Grafana; alert on thermal throttle |
| wm-state | TBD | Power user | Active windows, workspace usage, focused app tracked over time |
| dora-verified | TBD | Platform operator | DORA dashboard populated with real data from Forgejo + Woodpecker |
| gaming-stability | TBD | Gamer | Steam/Palworld runs stable without overlay crashes or VRAM exhaustion |
| pal-e-world | <code>project-pal-e-world</code> | Gamer / platform operator | Palworld playable via Moonlight streaming from GOW containers on k8s; session switching automated via Salt |
Architecture
Three layers of metrics collection on the Arch workstation, all scraped by in-cluster Prometheus via Tailscale:
- node-exporter — standard host metrics (CPU, memory, disk, network). Same pattern as the Mac build agent.
- nvidia-gpu-exporter — GPU-specific metrics via nvidia-smi (temp, utilization, VRAM, clocks).
- hyprland-exporter (custom) — compositor metrics via hyprctl (window count, workspace usage, focused app).
All three expose /metrics on distinct ports, scraped via
additionalScrapeConfigs in the kube-prometheus-stack Helm values (pal-e-platform monitoring module).DORA metrics are already deployed — dora-exporter runs in-cluster scraping Forgejo and Woodpecker. Needs verification only.
Board
See
board-hyprland-observabilityStatus
Project created 2026-05-29. DORA exporter deployed but unverified. Pal-E World sprint started 2026-06-27 — 7 tickets in backlog/todo.
Milestones
Palworld 1.0: July 10, 2026 — server must be updated to REST API before this date.
Repos
| Repo | Platform | Role | Status |
|---|---|---|---|
| ~/.config/hypr | Forgejo | Hyprland config + client-side Moonlight docs | Active |
| ~/pal-e-platform | Forgejo | Salt states (nvidia, sunshine, gaming-session), monitoring module | Active |
| ldraney/palworld-server | Forgejo | OpenTofu IaC for GOW pod + dedicated server | Archived (unarchive: #468) |
| TBD: hyprland-exporter | Forgejo | Custom Prometheus exporter for Hyprland compositor metrics | Not started |