LaserData Cloud
CLI

TUI Dashboard

Full-screen Ratatui dashboard - close to the web Console, in your terminal

laser tui (alias laser ui) launches a full-screen Ratatui dashboard with mouse and keyboard support, a command palette, and persistent history. It runs against the same backend as every headless verb and ships in the same binary, so there is no extra install, separate authentication step, or separate config.

Launch

laser tui

Or run any verb inside the TUI to render its output in the dashboard:

laser deployment list --interactive
laser tenant get --interactive

The --interactive flag seeds the TUI with the resolved verb and shows the result alongside the navigation panes.

Layout

The dashboard mirrors the organization hierarchy:

  • Welcome / Dashboard - account, active context, environment overview, starter shortcut.
  • Tenant - members, roles, invitations, API keys, cloud accounts, billing.
  • Division - environments under a division.
  • Environment - deployments under an environment.
  • Deployment - tabbed detail view: overview, credentials, configs, heartbeats, metrics, logs, access-rules, snapshots, activity, connectors.
  • Resource tables - paginated list views with breadcrumb-aware filters.

A status bar along the bottom shows the active context, polling state, and the current screen. The Welcome screen lists detected env overrides (LD_API_KEY, LD_CONTEXT).

Key Bindings

The TUI keeps direct key bindings to a minimum so they never collide with shell or terminal conventions. Everything else routes through the command palette (start typing on any screen, or press : to make it explicit).

KeyAction
/ Move up / down in lists, scroll panes
/ Back / forward, or pane focus on the dashboard
EnterDrill into the selected resource, or execute the typed command
EscBack one screen; on the Logs tab also clears the filter
TabNext deployment tab; on the dashboard toggles tree / detail focus
Shift+TabPrevious deployment tab
1...9 / 0Jump directly to deployment tab N (0 maps to tab 10)
Ctrl+C / Ctrl+DQuit

Function and Modifier Keys

KeyAction
F5Force-refresh the active screen (works regardless of auto-poll)
F4Cycle the runtime filter (iggy / connectors / warden) on the deployment view
Ctrl+PToggle background auto-poll on / off
PageUp / PageDownPage-scroll the active pane
Ctrl+B / Ctrl+FPage-scroll up / down (vim-style alternative)
< / >Page-scroll up / down (modifier-free alternative)

Command Palette

The bottom of the screen is always an input. Type any character on a navigable screen and the palette opens automatically; press : to start the line with the prefix explicitly. Two kinds of input are accepted:

  • TUI verbs prefixed with : (e.g. :create, :upgrade, :refresh) operate on the current screen.
  • CLI commands without a prefix (e.g. deployment list, tenant get) are parsed by clap and executed inside the TUI.
Key (palette open)Action
EnterExecute the line (or accept the highlighted suggestion)
TabAccept / cycle the next candidate
/ Cycle command history (up = older)
EscReset the input; second press exits

TUI verbs

VerbEffect
:auth / :loginOpen the auth wizard
:logoutSign out of the active context
:purgeDelete every context and keyring entry (confirmation required)
:whoamiShow the active context and tenant
:nav / :browseOpen the navigator from the welcome screen
:dashboard / :overviewJump to the dashboard
:welcome / :home / :helloReturn to the welcome screen
:help / :?Show the help panel
:use <context>Switch the active context
:contexts / :ctxsList all contexts
:showShow details for the selected resource
:format <table|json|yaml|name>Change the output format used by inline command results
:new / :createOpen the create wizard for the current scope
:editEdit the selected resource
:delete / :rmDelete the selected resource (with confirmation)
:upgradeOpen the upgrade wizard for the current deployment
:managed / :byoc / :starterOpen the matching deployment provisioning wizard
:revealReveal masked deployment credentials
:activateActivate the selected config version
:downloadGenerate a download URL for the selected snapshot
:filterFocus the filter input on logs / metrics tabs
:copy / :selectToggle terminal mouse-capture so you can drag-select text
:saveSave the current command output to a file
:rawShow the raw response payload for the last command
:clearClear the message log
:refresh / :reloadForce-refresh the active screen (same as F5)
:pollToggle auto-poll (same as Ctrl+P)
:exit / :quit / :qExit the TUI

History is persisted at $XDG_DATA_HOME/laser/history (1000-entry cap, atomic writes).

Wizards

Create, upgrade, and delete flows surface as wizards with inline form validation:

  • Managed deployment wizard - cloud, region, tier, cluster mode, storage type and size, availability mode, encryption, retention, spend limit. Available regions, tiers, and storage types are pulled live from laser cloud tiers and laser cloud storages.
  • BYOC deployment wizard - the same fields as managed, plus the AWS account ID, role ARN, external ID, and VPC details (or the GCP project, service account, and VPC for GCP deployments).
  • Starter deployment wizard - a one-screen Free-tier provisioner that defaults to us-east-1 on AWS or us-central1 on GCP.
  • Upgrade wizard - tier and storage deltas with valid targets pulled from the API.
  • Delete confirmation - destructive operations require typed confirmation, and protected resources additionally require a one-time code.

Mouse

Mouse events are wired through crossterm:

  • Left click to select rows, switch tabs, and toggle focus.
  • Wheel up and down to scroll lists and detail panes.

Mouse support can be disabled by your terminal. Every action has a keyboard equivalent.

Polling

The TUI polls the backend every five seconds. Toggle auto-poll with Ctrl+P (or :poll); force an immediate refresh with F5 (or :refresh). The status bar reflects the current polling state.

Theming

The dashboard ships with a monochrome high-contrast palette. Color output is suppressed when NO_COLOR is set or --no-color is passed. The TUI runs in the terminal's alt-screen mode, so your scrollback is left untouched on exit.

When to Use the TUI vs Headless Verbs

Use the TUI whenUse headless verbs when
Exploring a new tenantScripting, CI, or cron jobs
Creating deployments interactivelyComposing pipelines
Tailing live logs or metricsReturning JSON to another tool
Triaging an incidentEmbedding in agents

Both modes share the same authentication, context, and backend, so you can swap freely.

On this page