🎯 Goal
Convert the kdm logs command from a simple log dump into an interactive log viewer with a fuzzy resource selector, pausable streaming, and in-log search with color-coded severity levels.
📌 Current Behavior
kdm logs <name> retrieves logs from a workload. KDM attempts a Docker container prefix match first, falling back to Kubernetes pods if no matching container is found.
Parameters:
| Param |
Description |
<name> |
Container name/ID prefix or Kubernetes pod name |
Example usage:
🚀 Proposed Interactive Dashboard
Stage 1 — Fuzzy Resource Selector (when no <name> is provided)
Select a resource to view logs:
🔍 Search: ng
> nginx-123 (k8s pod)
nginx-proxy (docker)
backend-api (k8s pod)
↑↓:Navigate ENTER:Select Q:Quit
Stage 2 — Interactive Log Viewer
nginx-123 — Logs [STREAMING]
──────────────────────────────────────────────────────
2026-06-08 12:01:02 INFO Server started on port 8080
2026-06-08 12:01:03 INFO Database connected
2026-06-08 12:02:15 ERROR Redis connection timeout
2026-06-08 12:02:16 WARN Retrying in 5s...
2026-06-08 12:02:21 INFO Redis reconnected
──────────────────────────────────────────────────────
SPACE:Pause /:Search T:Timestamps Q:Quit
User Flow
- Run
kdm logs (no argument) → fuzzy selector opens. Type to filter, press Enter to select.
- Run
kdm logs nginx → directly opens log stream.
- Logs stream in real time with color-coded severity:
ERROR → 🔴 Red
WARN → 🟡 Yellow
INFO → 🟢 Green
DEBUG → 🔵 Blue
- Press
Space to pause/resume streaming (status toggles between [STREAMING] and [PAUSED]).
- Press
/ to search within logs — matches highlight. Use n (next) / N (previous) to jump between matches.
- Press
t to toggle timestamp prefixes on/off.
Keyboard Shortcuts
| Key |
Action |
↑ / ↓ |
Navigate selector / scroll logs |
Enter |
Select resource |
Space |
Pause / resume streaming |
/ |
Search within logs |
n / N |
Next / previous search match |
t |
Toggle timestamps |
Q |
Quit |
Recommended Libraries
📋 Contribution Workflow
- Fork the repo and create a feature branch (e.g.,
feature/interactive-kdm-logs).
- Implement the interactive TUI for
kdm logs using the layout and flow described above.
- Submit a PR explicitly linked to this issue (e.g.,
Closes #138).
- 📸 Include a screenshot or recording of the implemented UI in your PR to verify the new dashboard experience.
🎯 Goal
Convert the
kdm logscommand from a simple log dump into an interactive log viewer with a fuzzy resource selector, pausable streaming, and in-log search with color-coded severity levels.📌 Current Behavior
kdm logs <name>retrieves logs from a workload. KDM attempts a Docker container prefix match first, falling back to Kubernetes pods if no matching container is found.Parameters:
<name>Example usage:
🚀 Proposed Interactive Dashboard
Stage 1 — Fuzzy Resource Selector (when no
<name>is provided)Stage 2 — Interactive Log Viewer
User Flow
kdm logs(no argument) → fuzzy selector opens. Type to filter, pressEnterto select.kdm logs nginx→ directly opens log stream.ERROR→ 🔴 RedWARN→ 🟡 YellowINFO→ 🟢 GreenDEBUG→ 🔵 BlueSpaceto pause/resume streaming (status toggles between[STREAMING]and[PAUSED])./to search within logs — matches highlight. Usen(next) /N(previous) to jump between matches.tto toggle timestamp prefixes on/off.Keyboard Shortcuts
↑/↓EnterSpace/n/NtQRecommended Libraries
ink-select-inputink-text-inputchalk📋 Contribution Workflow
feature/interactive-kdm-logs).kdm logsusing the layout and flow described above.Closes #138).