Skip to content

feat: add interactive TUI for Loki flows#22

Merged
noexecstack merged 1 commit intomainfrom
feat/loki-watch-mode
Mar 29, 2026
Merged

feat: add interactive TUI for Loki flows#22
noexecstack merged 1 commit intomainfrom
feat/loki-watch-mode

Conversation

@noexecstack
Copy link
Copy Markdown
Owner

Summary

  • Adds --watch --from loki mode that fetches historical flows from Loki and presents them in the same interactive curses TUI as live watch mode
  • Users can scroll, enter selection mode (s), toggle workload flows (Space), and generate CiliumNetworkPolicy from selected flows (Enter)
  • Includes a Loki-specific TUI header showing URL, query, time range, and flow count
  • Bumps version to 0.9.0 (syncs pyproject.toml and version which were out of sync)

Test plan

  • Run hubble-audit2policy --from loki --loki-url <url> --since 2h --watch against a Loki instance
  • Verify TUI renders with Loki header, flow table, and keybinding hints
  • Verify selection mode (s, Space toggle, Enter to generate policies)
  • Verify scrolling (j/k, d/u, g/G)
  • Verify pytest tests/ -x passes (134 tests)

When --watch is combined with --from loki, flows are fetched from the
Loki instance and presented in the same curses TUI as live watch mode.
Users can scroll, enter selection mode, toggle individual workload
flows, and generate CiliumNetworkPolicy from the selection.

Also bumps version to 0.9.0 (syncs pyproject.toml and __version__).
@noexecstack noexecstack merged commit 35fe8bd into main Mar 29, 2026
4 of 5 checks passed
@noexecstack noexecstack deleted the feat/loki-watch-mode branch March 29, 2026 15:58
noexecstack added a commit that referenced this pull request Mar 29, 2026
When --watch is combined with --from loki, flows are fetched from the
Loki instance and presented in the same curses TUI as live watch mode.
Users can scroll, enter selection mode, toggle individual workload
flows, and generate CiliumNetworkPolicy from the selection.

Also bumps version to 0.9.0 (syncs pyproject.toml and __version__).
noexecstack added a commit that referenced this pull request Mar 29, 2026
noexecstack added a commit that referenced this pull request Mar 29, 2026
noexecstack added a commit that referenced this pull request Mar 29, 2026
When --watch is combined with --from loki, flows are fetched from the
Loki instance and presented in the same curses TUI as live watch mode.
Users can scroll, enter selection mode, toggle individual workload
flows, and generate CiliumNetworkPolicy from the selection.

Also bumps version to 0.9.0 (syncs pyproject.toml and __version__).
noexecstack added a commit that referenced this pull request Mar 29, 2026
* feat: add interactive TUI for Loki flows with workload selection (#22)

When --watch is combined with --from loki, flows are fetched from the
Loki instance and presented in the same curses TUI as live watch mode.
Users can scroll, enter selection mode, toggle individual workload
flows, and generate CiliumNetworkPolicy from the selection.

Also bumps version to 0.9.0 (syncs pyproject.toml and __version__).

* style: fix ruff format for implicit string concat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant