Outcall
SpecificationsS010 · Dashboard

S010 · Dashboard

Specification module 010-dashboard

S010: Dashboard

FieldValue
SpecS010
FeatureDashboard (outcall-ui)
Date2026-04-22
StatusDraft
Author@marktopper

Overview

The dashboard is a web UI served by outcalld's host API that provides a real-time view of the system's state: bridge status, networks, connected containers, active rules, rule request queue, and traffic logs. It is built as a single-page application embedded in the outcall-ui crate via rust-embed and served as static assets from the host API.

The dashboard is host-operator-only — it is served on the host socket and never exposed to agent containers.

User Scenarios

S010-US-001 [P2] As a host operator, I want a web dashboard to see the system state at a glance without memorizing CLI commands.

S010-US-002 [P2] As a host operator, I want to approve or reject agent rule requests from the dashboard.

S010-US-003 [P3] As a host operator, I want to see real-time traffic logs and blocked requests.

Requirements Summary

IDTypePriorityTitleStatus
S010-FR-001FunctionalP2Static assets via rust-embedDraft
S010-FR-002FunctionalP2Served on host socketDraft
S010-FR-003FunctionalP2System overview pageDraft
S010-FR-004FunctionalP2Network listing pageDraft
S010-FR-005FunctionalP2Container listing pageDraft
S010-FR-006FunctionalP2Active rules viewDraft
S010-FR-007FunctionalP2Rule request queue + approve/rejectDraft
S010-FR-008FunctionalP3Traffic log viewDraft
S010-FR-009FunctionalP2No agent-side exposureDraft
S010-FR-010FunctionalP3Auto-refresh / WebSocket updatesDraft
S010-AS-001AcceptanceP2Dashboard loads in browserDraft
S010-AS-002AcceptanceP2Bridge status displayedDraft
S010-AS-003AcceptanceP2Approve rule requestDraft
S010-EC-001Edge CaseP2Dashboard on non-Linux (macOS dev)Draft
S010-EC-002Edge CaseP2No containers runningDraft
S010-SC-001SuccessP2Page loads and shows live bridge stateDraft
S010-SC-002SuccessP2Rule request can be approved via UIDraft

Cross-Spec Dependencies

  • Depends on: S001 (bridge status), S002 (network listing), S003 (rule listing, rule request approval via S003-IF-008/S003-IF-009), S004 (agent status), S006 (proxy status), S007 (DNS status), S008 (container listing), S009 (dynamic rule listing)
  • Required by: None (UI-only, no other system depends on it)

Out of Scope

  • Mobile-responsive design (desktop-only for v1)
  • Authentication/authorization (relies on unix socket permissions)
  • Historical data / analytics (real-time view only)
  • Configuration editing via the dashboard (read-only + approve/reject)

On this page