Skip to content

Terminal Dashboard

The TUI is a Bloomberg-style quad-pane dashboard running over a Unix socket. Press ? for help. Here is what each pane does.


Launching the Dashboard

The TUI runs the engine in-process (no daemon or socket). It boots instantly from the last saved snapshot (~/.cloudslash/graph.snap), scans in the background, and refreshes silently every four minutes.

# Start the daemon (production mode: live cloud APIs)
cs scan --region us-east-1 &

# Attach the terminal dashboard
cs tui

Node data loads instantly. There is no loading animation.

Workspace Layout

The TUI organizes the interface into four workspaces. Each renders a quad-pane Bloomberg grid. Navigate between workspaces via numeric key bindings.

Key Workspace Quad Panes
1 Overview Live Discovery · Context Inspector · Remediation · Engine Stats
2 Topology Cross-Cloud Links · Link Detail · Egress Calculator · Topology Actions
3 S.A.U. Blocked & Quarantined · Live Audit Ledger · Override & Revert · Saga Timeline
4 Config Cloud Integrations · Engine Settings · Notifications

Workspace 1: Overview

Live Discovery Pane (Top-Left)

The primary node list renders all discovered infrastructure resources with provider badges, cost figures, and engine-computed verdicts.

PRV  RESOURCE ID                    TYPE           COST/MO  VERDICT    [412/10,000]
AWS  i-0abc123def456789             ec2:instance      $347  DELETE
GCP  gke-prod-cluster-01            gke:cluster       $890  RISK
AZR  vm-analytics-west              compute:vm        $156  FLAG
AWS  vol-0ghi789jkl012345           ebs:volume         $24  DELETE

Features:

  • Dynamic provider badges: Each provider gets a deterministic color from its name hash: AWS, GCP, K8s, PostgreSQL, any plugin.
  • Viewport scrolling: Navigate 10,000+ nodes instantly via j/k keys.
  • Row alternation: Subtle visual striping for readability.
  • Position indicator: [412/10,000] or [12/412 filtered] when a filter is active.

Engine Stats Pane (Bottom-Right)

Renders aggregate verdict distributions using proportional bar charts and cost sparkline visualizations.

Nodes: 10,000   Waste: $48,320   Blocks: 23

▁▂▃▅▆▇█▇▅▃▂▁▂▃▅▇█▇▆▅▃▂▁▁▂▃▄▅

VERDICT DISTRIBUTION
  CRITICAL  ████████████████████░░░░░░░░░░  47
  BLOCK     ████████░░░░░░░░░░░░░░░░░░░░░░  23
  DELETE     ██████████████████████████████  127
  RISK      ████████████░░░░░░░░░░░░░░░░░░  41
  FLAG      ██████████████████░░░░░░░░░░░░  63

Context Inspector & Plugin Detail Pane (Top-Right)

Displays detailed inspection for the selected node. The TUI features a dynamic PaneRouter (pkg/tui/panerouter.go):

  • Plugin-Driven Detail Views: When a node is selected, the TUI queries the plugin registered for that resource type over gRPC via RenderDetail(ctx, req).
  • Dynamic ViewModels: The plugin supplies its own structured ViewModel (key-value form fields, data tables, metrics, and state badges). An AWS EC2 instance shows private IPs, VPC IDs, and instance types; a Kubernetes node shows pod capacities; a database shows table sizes and cache hit rates.
  • Interactive Action Menus: Plugins declare actionable mutations (e.g., Start, Stop, Reboot, Terminate), which the TUI presents as direct interactive actions for the operator.

Remediation Pane (Bottom-Left)

Shows the active Terraform plan diff for the selected node. Supports [Y] Approve, [N] Reject, [D] Full Diff, [E] Edit operations.

Search and Filtering

Press Ctrl+F to activate the inline search bar. The filter matches against all resource attributes: ID, name, type, region, verdict, and provider. Results update live on every keystroke.

🔍 ec2 instance us-east|
Key Action
Ctrl+F Open filter search bar
typing Live substring matching across all fields
Enter Lock filter results and dismiss input
Esc Clear filter and show all nodes

The status bar reflects filter state: 🔍 412/10,000 matched.

Category Workspace Filtering

Press C to cycle through registered plugin categories. This filters the entire node view to only show resources from providers in that category.

Category Example Providers
cloud AWS, GCP, Azure, Linode, DigitalOcean
database PostgreSQL, MySQL, MongoDB, Redis
infrastructure Kubernetes, bare metal, network gear
saas Slack, GitHub, Jira
iot IoT fleets, edge devices, sensors
devops CI/CD pipelines, container registries
security IAM audit, vulnerability scanning

Categories are assigned by the registry maintainer, not by the plugin author. This prevents miscategorization. Press C repeatedly to cycle: ALL → cloud → database → infrastructure → ... → ALL.

The status bar shows the active filter: [CLOUD] or [DATABASE].

Pane Navigation

Key Action
Tab Cycle focus between quadrant panes
z Zoom focused pane to fullscreen
Esc Exit zoom / close sub-view
j / k Navigate down / up in lists
Enter Select node / confirm action
q Quarantine selected node
C Cycle category workspace filter
Ctrl+C Quit