Skip to content

feat: add the live dashboard for services and pack-sentinel - #2

Merged
autoantohaki merged 1 commit into
feat/sourcesfrom
feat/views
Oct 22, 2026
Merged

autoantohaki merged 1 commit into
feat/sourcesfrom
feat/views

Conversation

@autoantohaki

Copy link
Copy Markdown
Member

Requested by mau

Before: the clients from #1 could poll everything, but relay-dash itself still showed an empty frame.

After: relay-dash opens a live dashboard. The top half lists every impossibleG service with a ready / not ready / unreachable mark, the reason it is not ready, queue depth (highlighted when anything is waiting), active requests, and loaded models. The bottom half shows pack-sentinel's totals, which collectors are running, active incidents sorted by severity (with a "N not shown" note when they don't fit), and the latest signals. It polls every intervalSeconds, r polls now, q quits. --snapshot polls once and prints one frame.

▌ Relay Dash · updated 0s ago
SERVICES 1/2 ready
  name       state               queue  active models
● inference  ready               3      2      qwen3-8b
× ocr        connection refused  –      –

PACK-SENTINEL
● 1284 signals · 17 incidents · collecting ssh-guard

Incidents 4 active
CRIT open den       SSH brute force from 203.0.113.9                    2m
HIGH open den       Secret committed to relay-chat: AWS key            14m
MED  ack  den       Honeyfile opened: payroll.xlsx                      3h

Incident titles and signal text come from logs, so everything drawn from a watched system goes through clean(), which strips escape sequences and control characters (SECURITY.md now says so).

How: usePoll runs pollOnce without overlapping a slow poll and aborts requests on unmount. DashboardView is a pure view of one poll's results, which --snapshot and the view tests render directly. The frame is still the local stand-in; it moves to Relay Shell once that is published. Stacked on #1.

@autoantohaki
autoantohaki merged commit 4702a83 into feat/sources Oct 22, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant