LaserData Cloud
CLI

TUI Dashboard

Use the interactive laser dashboard with the keyboard, mouse, command palette, and forms

Run laser tui, or its alias laser ui, to open the interactive Ratatui dashboard. It supports keyboard and mouse input, a command palette, and saved history. TUI means terminal user interface. It shares the CLI binary, authentication, configuration, and backend.

Launch

laser tui

To display a command's result inside the dashboard, use interactive mode:

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

--interactive runs the selected command and displays its result beside the navigation panes.

Layout

The dashboard follows the organization hierarchy:

  • Welcome / Dashboard shows the account, active context, environment overview, and starter shortcut.
  • Tenant shows members, roles, invitations, API keys, cloud accounts, and billing.
  • Division lists its environments.
  • Environment lists its deployments.
  • Deployment provides tabs for overview, credentials, configuration, heartbeats, metrics, logs, access rules, snapshots, activity, and connectors.
  • Resource tables provide paginated lists with filters based on the current location.

The status bar shows the active context, polling state, and screen. Welcome also lists detected environment overrides, including LD_API_KEY and LD_CONTEXT.

Key Bindings

Direct bindings cover common navigation without conflicting with terminal conventions. Other actions use the command palette. Type on a navigation screen to open it, or press :.

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 input appears at the bottom of the screen. Commands with a : prefix act on the current screen, such as :create, :upgrade, and :refresh. Commands without the prefix, such as deployment list and tenant get, use the CLI parser and run inside the dashboard.

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)
:permissions / :permsShow the active API key's role and scopes
:settings / :configShow the tenant settings
:types <list>Filter an audit or activity table by event types. No argument clears the filter
:streamOpen the stream screen of the current deployment, see below
:stream-whoamiShow the connected Iggy user's effective grants
:exit / :quit / :qExit the TUI

History is stored at $XDG_DATA_HOME/laser/history. It keeps at most 1000 entries and uses atomic writes to prevent partial updates.

Stream Screen

From a deployment screen, :stream opens the deployment's own data: Iggy streams and the managed data plane. Each :stream-<tab> verb opens the same screen on a tab. Tab, Shift+Tab, and the digit keys move between tabs, Enter drills into a row, and F5 refetches.

TabVerbShows
streams:streamStreams, then topics, partitions, and messages
kv store:stream-kvKV namespaces, then keys and values
memory:stream-memoryThe same KV data as agent memory, by conversation
schemas:stream-schemasRegistered writer schemas
forks:stream-forksForks of the materialized state
projections:stream-projectionsProjections and their bindings
graphs:stream-graphsRegistered graphs
destinations:stream-destinationsMaterialization destinations and their status
filters:stream-filtersSaved consumer filters, then one filter with its revisions and bound groups
query:stream-queryA query form for a materialized index, in DSL or SQL mode
runs:stream-runsAgent runs
agents:stream-agentsThe agent registry
users:stream-usersIggy users with their permissions and governance roles
governance:stream-governanceGovernance roles and the users bound to them
capabilities:stream-capabilitiesThe AGDX capabilities of the deployment

On the stream screen, s hides or shows system-managed rows, v cycles a payload view between auto, JSON, text, and hex, [ and ] page through messages, and g jumps to an offset.

Wizards

Forms guide creation, upgrades, and deletion, with errors shown beside invalid fields:

  • The Managed deployment form asks for cloud, region, tier, cluster mode, storage, availability, encryption, retention, and spend limit. It retrieves choices from laser cloud tiers and laser cloud storages.
  • The BYOC form adds AWS account ID, role ARN, external ID, and VPC details. For GCP, it asks for project, service account, and VPC details.
  • The Starter form creates a Free deployment on one screen. Its region defaults are us-east-1 for AWS and us-central1 for GCP.
  • The Upgrade form retrieves valid tier and storage changes from the API.
  • Destructive actions require typed approval. Protected resources also require a one-time code.

Mouse

Mouse input uses crossterm. Left-click rows, tabs, or panes to select them and move focus. Use the wheel to scroll lists and details. If the terminal disables mouse support, use the keyboard equivalents.

Polling

The dashboard refreshes from the backend every five seconds. Toggle automatic polling with Ctrl+P or :poll. Refresh immediately with F5 or :refresh. The status bar shows whether polling is active.

Theming

The dashboard uses a monochrome, high-contrast palette. NO_COLOR or --no-color disables color output. Alternate-screen mode preserves terminal scrollback when you 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 use the same authentication, context, and backend. Choose either mode for each task.

On this page