Skip to main content

fh TUI

Beta

The TUI is ready to use. Keys and layouts may still change before 1.0.

fh tui [--cluster ID] [--context NAME]

A full-screen live view of the current context's deployment, fed by the same WebSocket as the web UI. It authenticates the way the CLI does: the fh auth login token, or the configured username and password.

The web UI remains the flagship and the TUI will not carry every feature. It covers what you reach for from a terminal: cluster health, lag, connector state, a quick look at data. Tell us what else you would use.

The TUI needs Kpow 96.5 or later with the API enabled; see Requirements.

Views​

1-9 jumps to the first nine, ⇧← / ⇧→ steps through all of them, and :<name> opens any by name (:flink).

#ViewShows
1OverviewCluster health, throughput, signals summary
2SignalsHealth signals and open issues
3InspectData inspector: sample a topic
4TopicsTopics by size and write rate, config, reassignment, ACLs
5GroupsConsumer groups, lag, members, offset reset
6StreamsKafka Streams applications and topologies
7SchemaRegistries, subjects, versions
8BrokersPer-broker load, disk, config, KRaft quorum, ACLs
9ConnectConnect clusters, connectors, tasks
10FlinkFlink clusters, jobs, job topologies

Keys​

? lists the keys for the view you are on. The footer shows only ?, /, : and q.

KeyAction
enterOpen the selected row
escBack
[ / ]Previous / next tab within a view
< / >Sort by the previous / next column
IInvert the sort
pPin the selected topic or group; other views narrow to it
PClear the pin
iInspect data for the selected topic
/Filter the list
:Command line
?Keys for this view
qQuit

Lists take the arrow keys, j / k, g / G, PgUp / PgDn and ⇧↑ / ⇧↓ for half a page. Lists start sorted by their first column; the panel title shows any other sort, for example Topics [82] by size ▼.

The pinned row starts with ●, and the header shows it as Focus: topic orders on every view.

On Topics:

KeyAction
nNew topic: name, partitions, replication factor
+Add partitions to the selected topic
ctrl+dDelete the selected topic; type its name to confirm

If Kpow stages the change for approval, the footer says so and nothing changes until an approver accepts it in Kpow.

On Inspect, tab moves between the query form and the results, ← / → scroll the result columns, [ / ] switch between result sets, c fetches the next page and x stops the stream.

On Groups, enter shows members and assignments. On the Assignments tab, o or a opens the offset-reset editor; nothing changes until you confirm.

Sessions​

The TUI signs in with the token from fh auth login. When the access token expires, the TUI refreshes it and reconnects within a few seconds. If the refresh fails, the header shows SESSION EXPIRED; run fh auth login and restart fh tui.

Commands​

CommandAction
:ctx [name]Switch context (deployment) for this session; pick from a list or name one
:tSwitch tenant
:cSwitch cluster
:theme [name]Pick a colour theme or set one directly
:<view>Open a view by name
:qQuit

Themes: fh-dark (default), fh-light, catppuccin-latte, catppuccin-frappe, catppuccin-macchiato, catppuccin-mocha. The choice is saved to the config file; :ctx is not.

Debugging​

fh tui --debug

Adds two views, 11 Snapshots (the snapshot domains the client holds and their update counts) and 12 WS Log (the last WebSocket events), and writes a session log to ~/.fh/logs/tui-<timestamp>.log: every WebSocket event, every REST request with status and duration, and reconnect and refusal notices. The path is printed on exit. FH_WS_LOG=/path/to/file chooses the file instead, with or without --debug. Attach the log when reporting a problem.