🎯 Goal
Convert the kdm custom-analyzer command from static add/list/remove CLI operations into an interactive rule manager with a table view and a guided creation wizard.
📌 Current Behavior
kdm custom-analyzer registers custom shell commands or HTTP webhooks to analyze arbitrary custom resources (CRDs).
Subcommands:
| Subcommand |
Description |
kdm custom-analyzer add <name> |
Register a new analyzer (--command or --url) |
kdm custom-analyzer list |
List all registered custom analyzers |
kdm custom-analyzer remove <name> |
Delete a registered custom analyzer |
Example usage:
kdm custom-analyzer add keda --command "kubectl get scaledobjects -A -o json"
kdm custom-analyzer list
kdm custom-analyzer remove keda
🚀 Proposed Interactive Dashboard
Layout
Custom Analyzers 2 rules
──────────────────────────────────────────────────────
Name Type Command / URL
─────────────────────────────────────────────────────
> MemoryCheck Command kubectl get pods -o json
SlackAlert Webhook https://hooks.slack.com/...
──────────────────────────────────────────────────────
[A] Add Rule [DELETE] Remove [Q] Quit
Add Rule Wizard (press A)
┌─ Add Custom Analyzer ────────────────────┐
│ │
│ Step 1/3 — Rule Name: keda-check │
│ │
│ Step 2/3 — Type: │
│ > Command │
│ Webhook │
│ │
│ Step 3/3 — Command: │
│ kubectl get scaledobjects -A -o json │
│ │
│ [ENTER] Next [ESC] Cancel │
└──────────────────────────────────────────┘
User Flow
- User runs
kdm custom-analyzer → rule table loads.
- Use
↑ / ↓ to navigate rules.
- Press
a to open the Add Rule Wizard:
- Step 1: Enter rule name.
- Step 2: Select type (
Command or Webhook).
- Step 3: Enter the command string or webhook URL. Input is validated before saving.
- Press
Delete or d to remove the selected rule.
Keyboard Shortcuts
| Key |
Action |
↑ / ↓ |
Navigate rules |
a |
Add new rule (wizard) |
Delete / d |
Remove selected rule |
Enter |
Next step in wizard |
Esc |
Cancel wizard |
Q |
Quit |
Recommended Libraries
📋 Contribution Workflow
- Fork the repo and create a feature branch (e.g.,
feature/interactive-kdm-custom-analyzer).
- Implement the interactive TUI for
kdm custom-analyzer using the layout and flow described above.
- Submit a PR explicitly linked to this issue (e.g.,
Closes #143).
- 📸 Include a screenshot or recording of the implemented UI in your PR to verify the new dashboard experience.
🎯 Goal
Convert the
kdm custom-analyzercommand from static add/list/remove CLI operations into an interactive rule manager with a table view and a guided creation wizard.📌 Current Behavior
kdm custom-analyzerregisters custom shell commands or HTTP webhooks to analyze arbitrary custom resources (CRDs).Subcommands:
kdm custom-analyzer add <name>--commandor--url)kdm custom-analyzer listkdm custom-analyzer remove <name>Example usage:
kdm custom-analyzer add keda --command "kubectl get scaledobjects -A -o json" kdm custom-analyzer list kdm custom-analyzer remove keda🚀 Proposed Interactive Dashboard
Layout
Add Rule Wizard (press
A)User Flow
kdm custom-analyzer→ rule table loads.↑/↓to navigate rules.ato open the Add Rule Wizard:CommandorWebhook).Deleteordto remove the selected rule.Keyboard Shortcuts
↑/↓aDelete/dEnterEscQRecommended Libraries
ink-text-inputink-select-input<Box>with<Text>columns📋 Contribution Workflow
feature/interactive-kdm-custom-analyzer).kdm custom-analyzerusing the layout and flow described above.Closes #143).