k13d Feature Gap Analysis¶
Overview¶
This document compares k13d with three major Kubernetes dashboard/AI projects to identify missing features.
Analyzed Projects: - kubernetes-dashboard - Official Kubernetes Dashboard - headlamp - Cloud-native Kubernetes UI with plugin system - kubectl-ai - AI-powered kubectl assistant
Last Updated: 2026-01-22
Current k13d Features (Baseline)¶
CLI/TUI Features¶
- Resource listing: Pods, Deployments, Services, Nodes, Namespaces, Events, ConfigMaps, Secrets, DaemonSets, StatefulSets, Jobs, CronJobs, Ingresses
- Namespace switching
- Context switching
- Real-time table filtering with highlight
- Command autocomplete with hints
- AI chat integration (streaming)
- YAML view for resources
- Pod logs viewer
- Delete with confirmation
- Port forwarding
- Shell exec (spawns external terminal)
- Health check command
- i18n support (en, ko, ja, zh)
Web UI Features (index.html)¶
- Login page with username/password
- Dark theme (Tokyo Night style)
- Sidebar navigation with resource groups
- Resource table with status colors
- Namespace selector dropdown
- AI chat panel with streaming responses
- Resizable panels (drag handle)
- Settings modal (language, LLM config)
- Audit log viewer
- Reports viewer
- Refresh button per resource
- User badge and logout
- Tab system (Table/YAML/Logs)
- Message history in AI panel
- Tool execution visualization with Show More button
Web Server/API Features¶
- REST API for resources (pods, deployments, services, namespaces, nodes, events)
- AI chat endpoint (SSE streaming with agentic mode)
- JWT authentication with session management
- LDAP authentication support
- Audit logging (SQLite)
- Report generation API
- Settings API (GET/PUT)
- LLM settings API
- Health check endpoint
- CORS middleware
- Static file serving (embedded)
- Tool approval flow for write/dangerous commands
- Command classification (read-only, write, dangerous)
Backend Features¶
- Multi-provider LLM support (OpenAI-compatible, Ollama, Anthropic)
- Kubernetes client with metrics API
- Dynamic client for CRDs
- Context switching support
- MCP (Model Context Protocol) integration
- Tool registry with MCP tool support
Recently Implemented Features (2026-01)¶
AI Safety & Validation ✅¶
Status: Implemented - [x] Command classification (read-only, write, dangerous) - [x] Tool approval flow for destructive operations - [x] Auto-approve read-only commands - [x] User confirmation required for write/dangerous commands - [x] Timeout handling for approval requests
In-Browser Terminal ✅¶
Status: Implemented - [x] WebSocket-based terminal (pkg/web/terminal.go) - [x] Bidirectional stdin/stdout streaming - [x] Terminal resize support - [x] Container selection support
Deployment Operations ✅¶
Status: Implemented (pkg/web/operations.go) - [x] Scale deployments - [x] Rollout restart - [x] Pause/resume deployment - [x] Rollback to previous revision - [x] View revision history
StatefulSet/DaemonSet Operations ✅¶
Status: Implemented - [x] Scale StatefulSets - [x] Restart StatefulSets - [x] Restart DaemonSets
CronJob Operations ✅¶
Status: Implemented - [x] Trigger CronJob manually (create Job) - [x] Suspend/resume CronJob
Node Operations ✅¶
Status: Implemented - [x] Node cordon/uncordon - [x] Node drain with eviction - [x] List pods on node
Helm Integration ✅¶
Status: Implemented (pkg/helm/client.go) - [x] List Helm releases - [x] Get release details - [x] View release history - [x] Get release values - [x] Get release manifest - [x] Install releases - [x] Upgrade releases - [x] Uninstall releases - [x] Rollback releases - [x] Repository management (add, remove, update) - [x] Search charts
MCP Support ✅¶
Status: Implemented - [x] MCP client mode (use external tools) - [x] Tool registration system - [x] MCP server connection management - [x] Dynamic tool discovery
Priority 1: Critical Missing Features¶
1.1 Multi-Provider LLM Support (from kubectl-ai)¶
Status: ✅ Implemented (2026-01-22) - [x] OpenAI-compatible provider (with tool calling) - [x] Ollama (local) provider - [x] Model profile management - [x] Google Gemini provider - [x] AWS Bedrock provider (Claude) - with tool calling - [x] Azure OpenAI provider - with tool calling - [ ] Llama.cpp provider (low priority) - [ ] Grok provider (low priority)
1.2 Plugin System (from headlamp)¶
Status: Not Implemented Required: - [ ] Plugin registry system - [ ] Dynamic plugin loading from URL - [ ] Plugin configuration management - [ ] Extension points: - Custom sidebar items - Custom routes - Custom resource detail views - Custom table columns - Custom themes
Files to create:
pkg/plugins/
├── registry.go # Plugin registry
├── loader.go # Dynamic plugin loading
├── config.go # Plugin configuration
└── types.go # Plugin interfaces
Priority 2: Important Missing Features¶
2.1 Session Persistence (from kubectl-ai)¶
Status: ✅ Implemented (2026-01-22) Location: pkg/ai/session/session.go - [x] Session storage interface (Store) - [x] Filesystem backend (JSON files in XDG data directory) - [x] Session metadata (ID, timestamps, model, provider) - [x] Resume/load previous sessions (Get, GetContextMessages) - [x] Clear conversation command (Clear, Delete) - [x] List sessions with pagination (List, GetRecentSessions) - [x] Export/Import sessions - [x] Tool call recording in messages
2.2 Resource Graph Visualization (from headlamp)¶
Status: Not Implemented Required: - [ ] Pod-to-Service-to-Deployment graph - [ ] Resource relationship mapping - [ ] Interactive graph navigation - [ ] Namespace grouping
Implementation: Use xyflow/react or similar for web UI
2.3 Metrics Visualization (from kubernetes-dashboard)¶
Status: API Available, UI Not Implemented Required: - [ ] CPU/Memory sparklines in table - [ ] Resource usage charts - [ ] Historical metrics storage - [ ] Metrics aggregation
Priority 3: Enhancement Features¶
3.1 OIDC/OAuth2 Authentication (from headlamp)¶
Status: Not Implemented Required: - [ ] OIDC provider integration - [ ] PKCE flow support - [ ] Token refresh automation - [ ] JMESPath claim extraction - [ ] Multiple auth method support
3.2 Multi-Cluster Support (from headlamp)¶
Status: Not Implemented Required: - [ ] Cluster switcher UI - [ ] Per-cluster authentication - [ ] Kubeconfig file watcher - [ ] Dynamic cluster addition
3.3 Advanced Search (from headlamp)¶
Status: Not Implemented Required: - [ ] Global search across clusters - [ ] Label selector filtering - [ ] Field selector filtering - [ ] Recent searches tracking - [ ] Full-text search with fuse.js
3.4 Custom Resource Definition Support (from kubernetes-dashboard, headlamp)¶
Status: Partial (API exists) Required: - [ ] List all CRDs in UI - [ ] Browse CRD instances - [ ] Create/edit custom resources - [ ] CRD schema validation - [ ] OpenAPI documentation display
3.5 Retry Logic with Backoff (from kubectl-ai)¶
Status: ✅ Implemented Location: pkg/ai/providers/factory.go - [x] Exponential backoff - [x] Jitter support - [x] Retryable error detection (429, 5xx, timeout, connection errors) - [x] Max attempts configuration - [x] Configurable via RetryConfig
3.6 YAML Editor with Validation (from headlamp)¶
Status: Not Implemented Required: - [ ] Monaco editor integration - [ ] Syntax highlighting - [ ] Schema validation - [ ] Auto-completion - [ ] Inline documentation
Priority 4: UI/UX Improvements¶
4.1 From kubernetes-dashboard¶
- Deployment creation wizard (form-based)
- Image reference validation
- Protocol validation for services
- Log download as file
- Multi-container log selection
- Sparkline metrics in list views
- CSRF protection for API
4.2 From headlamp¶
- Dark/Light theme toggle
- Custom theme support
- Responsive mobile layout
- Breadcrumb navigation
- Action confirmation dialogs
- Empty state handling
- Loading animations
- Error boundary UI
- Internationalization (12 languages)
4.3 From kubectl-ai¶
- Streaming log UI for AI responses
- Meta-commands (clear, model, tools, sessions)
- Tool call visualization
- Audit/journal logging with structured output
API Feature Gaps (Backend)¶
From kubernetes-dashboard API¶
| Endpoint | Description | k13d Status |
|---|---|---|
POST /appdeployment | Deploy application | Missing |
POST /appdeployment/validate/* | Validation endpoints | Missing |
PUT /deployment/rollback | Rollback deployment | ✅ Implemented |
PUT /deployment/pause | Pause deployment | ✅ Implemented |
PUT /deployment/resume | Resume deployment | ✅ Implemented |
PUT /deployment/restart | Restart deployment | ✅ Implemented |
POST /cronjob/trigger | Trigger CronJob | ✅ Implemented |
POST /node/drain | Drain node | ✅ Implemented |
GET /metrics/* | Metrics endpoints | ✅ Implemented |
GET /_raw/* | Raw resource access | Missing |
GET /csrftoken/* | CSRF tokens | Missing |
WS /shell/* | WebSocket terminal | ✅ Implemented |
GET /log/file/* | Download logs | Missing |
From headlamp API¶
| Feature | Description | k13d Status |
|---|---|---|
/plugins/* | Plugin management | Missing |
/helm/* | Helm operations | ✅ Implemented |
WS /exec | Pod exec WebSocket | ✅ Implemented |
/portforward/* | Port forward management | ✅ Implemented |
/cluster/* | Multi-cluster management | Missing |
Summary¶
| Category | kubernetes-dashboard | headlamp | kubectl-ai | k13d Status |
|---|---|---|---|---|
| LLM Providers | N/A | N/A | 7+ providers | ✅ 5 providers (OpenAI, Ollama, Gemini, Bedrock, Azure) |
| AI Safety | N/A | N/A | Full | ✅ Implemented |
| Terminal | WebSocket | WebSocket | N/A | ✅ Implemented |
| Plugins | No | Yes (full) | No | Not Implemented |
| Helm | No | Yes | No | ✅ Implemented |
| Multi-cluster | No | Yes | No | Not Implemented |
| Metrics Viz | Yes (sparkline) | Yes | No | API only |
| Resource Graph | No | Yes | No | Not Implemented |
| Session Persist | N/A | No | Yes | ✅ Implemented |
| Retry/Backoff | N/A | N/A | Yes | ✅ Implemented |
| OIDC Auth | Yes | Yes (full) | No | Not Implemented |
| CRD Management | Yes | Yes | No | Partial |
| Node Operations | Yes | Yes | No | ✅ Implemented |
| Deployment Ops | Yes (full) | Partial | No | ✅ Implemented |
| MCP Support | N/A | N/A | Yes | ✅ Implemented |
Implemented Features: ~30 major features Remaining Features: ~15 major features
Implementation Progress¶
Completed (Phase 1-2)¶
- ✅ AI safety validation with tool approval flow
- ✅ In-browser terminal (WebSocket)
- ✅ Deployment operations (scale, restart, pause, resume, rollback, history)
- ✅ StatefulSet/DaemonSet operations
- ✅ CronJob operations (trigger, suspend)
- ✅ Node operations (cordon, drain, pods)
- ✅ Helm integration (releases, repos, search)
- ✅ MCP support
- ✅ Tool execution visualization
Recently Completed (2026-01-22)¶
- Google Gemini provider
- AWS Bedrock provider (Claude) with tool calling
- Azure OpenAI provider with tool calling
- Session persistence for AI conversations
- Retry logic with exponential backoff
Upcoming (Phase 3-5)¶
- Metrics visualization (sparklines, charts)
- Resource graph visualization
- Plugin system
- Multi-cluster support
- OIDC authentication
- Advanced search
- YAML editor with Monaco
- Web UI integration for session management