Skip to main content
Interactive TUI for creating, resolving, and managing status incidents.

Usage

dex status
The status command requires an interactive terminal (TTY). It cannot run in non-interactive environments.

Features

The status manager provides:
  • Create incidents - Define new incidents with impact level and affected components
  • Resolve incidents - Mark incidents as resolved and publish status events
  • Regenerate pages - Rebuild incident detail pages
  • Live reload - Refresh status data from disk

Status files

The status manager operates on two JSON files:
  • docs/data/status.live.json - Current live status (updated by TUI)
  • docs/data/status.fallback.json - Fallback snapshot for offline scenarios
Incident detail pages are generated in docs/status/incidents/<incident-id>/index.html.

Keybindings

KeyAction
nCreate new incident
rResolve selected incident
gRegenerate selected incident page
uReload status data from disk
Up/DownNavigate incident list
EscExit status manager

Incident editor

When creating a new incident (n key), the editor displays:

Fields

  1. ID - Optional custom identifier (auto-generated if empty)
  2. TITLE - Required headline for the incident
  3. IMPACT - Severity level: none, minor, major, critical
  4. STATE - Current state: investigating, identified, monitoring, resolved
  5. COMPONENTS - Comma-separated component IDs
  6. SUMMARY - Short public-facing summary

Editor keybindings

KeyAction
Up/DownMove between fields
EnterEdit text field (or cycle enum)
Left/RightCycle enum values
SpaceCycle enum values
S or Ctrl+SSave and create incident
EscCancel and close editor

Incident states

1

Investigating

Incident reported, root cause analysis in progress.
2

Identified

Root cause identified, implementing fix.
3

Monitoring

Fix deployed, monitoring for stability.
4

Resolved

Incident fully resolved and closed.

Impact levels

  • none - No user impact (internal issue)
  • minor - Minimal impact, degraded performance for some users
  • major - Significant impact, service partially unavailable
  • critical - Severe impact, service unavailable or data loss risk

Status events

When incidents are created or resolved, the status manager can optionally emit webhook events to notify external systems. Environment variables:
  • DEX_STATUS_EVENTS_ENV - Environment for status webhooks (test or prod)
  • DEX_EVENTS_ENV - Fallback environment if DEX_STATUS_EVENTS_ENV is not set
If status hooks are not configured, incidents are still saved locally but no external notifications are sent.

Overall status calculation

The status manager automatically updates the overall platform state based on active incidents:
  • Operational - No active incidents
  • Degraded - Active incidents with minor impact
  • Outage - Active incidents with major or critical impact

Example workflow

1

Launch status manager

dex status
2

Create incident

Press n to open the incident editor, fill in the fields, then press S to save.
3

Update status files

The manager writes to docs/data/status.live.json and generates an incident page.
4

Resolve incident

Select the incident with arrow keys, then press r to mark it resolved.
Incident creation and resolution automatically publish status events if hooks are configured. Use the TUI carefully in production environments.

Components

Components represent monitored services or subsystems. They are defined in the status JSON files and displayed in the status manager:
  • ID - Unique component identifier
  • State - Current operational state
  • Uptime - 24h, 7d, and 30d uptime percentages
  • Latency - Recent response time in milliseconds

dex deploy

Deploy site after status updates

TUI keybindings

Full TUI keyboard reference

Build docs developers (and LLMs) love