k13d

module
v0.9.8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2026 License: MIT

README

k13d

The all-in-one Kubernetes dashboard — Terminal & Web UI with AI built in.

kubeaidashboard = k+ 13 letters + d = k13d

Download a single binary, run one command, and get a full-featured Kubernetes dashboard
with an AI assistant that actually executes commands for you.

Release Go K8s License AI

Documentation · Download · Web UI Guide · TUI Guide · 한국어


Web UI

Web UI Dashboard

TUI

TUI Dashboard


Get Started in 30 Seconds

1. Download from Releases — single binary, no dependencies.

tar xzf k13d_*.tar.gz && chmod +x k13d

macOS: if blocked, run xattr -d com.apple.quarantine ./k13d

2. Run.

TUI mode — terminal dashboard with Vim navigation + AI panel
./k13d

Opens a full-featured terminal dashboard. Use j/k to navigate, Tab to open the AI panel, : for commands.

Web UI mode — browser dashboard (local / desktop)
./k13d -web -auth-mode local
# Open http://localhost:8080 — Default login: admin / admin

-auth-mode local uses simple username/password authentication stored in memory — ideal for local development and desktop use. No Kubernetes tokens or external auth providers required. Just start and log in.

If -admin-user and -admin-password are not specified, defaults to admin / admin. You can also set credentials via environment variables: K13D_USERNAME and K13D_PASSWORD.

Web UI mode — production (Kubernetes RBAC)
./k13d -web -auth-mode token

Uses Kubernetes service account tokens validated via the TokenReview API. Best for in-cluster deployments where users authenticate with their K8s credentials.

Both modes — Web UI + TUI simultaneously
./k13d -web -auth-mode local &   # Web UI in background
./k13d                            # TUI in foreground

Run the Web UI as a background process, then launch the TUI in the foreground. Both share the same kubeconfig.

Authentication Modes
Mode Flag Use Case
Local -auth-mode local Local dev, desktop, standalone deployments
Token -auth-mode token In-cluster with K8s RBAC (default)
LDAP -auth-mode ldap Enterprise LDAP / Active Directory
OIDC -auth-mode oidc SSO via Google, Okta, Azure AD, etc.
No Auth --no-auth Development/testing only (not recommended)
Flags
Flag Description
-web Start Web UI server (default port 8080)
-tui Start TUI mode explicitly (default when -web not specified)
-mcp Start MCP server mode (stdio transport)
-port <N> Custom port for Web UI
-auth-mode <mode> Auth mode: local, token, ldap, oidc
-admin-user <name> Admin username for local auth (env: K13D_USERNAME)
-admin-password <pw> Admin password for local auth (env: K13D_PASSWORD)
--no-auth Disable auth (dev only)
--embedded-llm Use built-in LLM (no API key needed)
--download-model Download the default embedded model
-n <namespace> Start in a specific namespace
-A Start with all namespaces
--version Show version information
--completion <shell> Generate shell completion (bash, zsh, fish)
--storage-info Show storage configuration and data locations
--db-path <path> Custom SQLite database path
--no-db Disable database persistence entirely
--debug Enable debug logging

That's it. Your kubeconfig is auto-detected.


Why k13d?

k13d k9s Lens kubectl
Terminal UI Yes Yes - -
Web UI Yes - Yes -
AI Assistant Yes - - -
Single binary, zero deps Yes Yes - Yes
Free & open source Yes Yes Paid Yes

Web UI — Everything in the browser

  • Dashboard — Pods, Deployments, Services, all resources with real-time status
  • AI Assistant — Ask questions, AI executes kubectl with your approval
  • Topology — Graph & tree visualization of resource relationships
  • Reports — Cluster health, security audit, FinOps cost analysis
  • Metrics — Historical CPU/Memory/Pods/Nodes charts (SQLite-backed, 7-day retention)
  • Helm — Release management, history, rollback
  • Terminal — Full xterm.js shell into any pod
  • Logs — Real-time streaming with ANSI colors, search, download
  • RBAC Viewer — Subject-to-role relationship map with permission details
  • Network Policy Map — Ingress/egress rule visualization
  • Event Timeline — Cluster events grouped by time windows
  • Security Scanning — Trivy CVE scanner with air-gapped support
  • Resource Templates — One-click deploy (Nginx, Redis, PostgreSQL, etc.)
  • Notifications — Slack, Discord, Teams, Email (SMTP) alerts for cluster events
  • Applications View — App-centric grouping by Helm and K8s labels
  • Validate View — Cross-resource validation with severity levels
  • 5 Themes — Tokyo Night (default), Production, Staging, Development, Light

TUI — k9s on steroids

  • Vim navigationj/k, g/G, / filter, : commands
  • AI panelTab to chat, AI executes commands for you
  • SortShift+N name, Shift+A age, Shift+T status, :sort picker
  • Autocomplete — Dropdown suggestions as you type
  • Aliases — Custom shortcuts (pp -> pods) via aliases.yaml
  • Plugins — External tool integration via plugins.yaml
  • Hotkeys — Custom keyboard shortcuts via hotkeys.yaml
  • Model switching:model to switch AI providers at runtime
  • i18n — English, Korean, Chinese, Japanese

AI Setup (Optional)

Configure in Settings > AI in the Web UI, or via environment:

# OpenAI
export OPENAI_API_KEY=sk-...
./k13d -web -auth-mode local

# Ollama (local, free, no API key)
ollama pull qwen2.5:3b && ollama serve
./k13d -web -auth-mode local
# Set Provider: "ollama" in Settings > AI

# Embedded LLM (zero dependencies, no API key)
./k13d --download-model              # One-time download
./k13d --embedded-llm -web -auth-mode local

Supported AI Providers

Provider Models Notes
OpenAI GPT-4o, GPT-4, o3-mini Best tool calling support
Anthropic Claude Opus 4, Sonnet 4, Haiku 4.5 Native Messages API, strong reasoning
Google Gemini Gemini 2.5, 2.0 Multimodal capable
Upstage Solar Solar Pro2, Solar Pro Good balance of quality/cost
Azure OpenAI GPT-4, GPT-3.5 Enterprise Azure deployments
AWS Bedrock Claude, Llama, Mistral AWS-hosted models
Ollama Qwen, Llama, Mistral Local, free, no API key
Embedded Qwen2.5-0.5B Built-in, no setup needed

The AI assistant can:

  • Diagnose pod crashes and suggest fixes
  • Execute kubectl commands with your approval
  • Scale deployments, restart rollouts
  • Analyze YAML, events, and logs in context
  • Use MCP tools for extended capabilities

MCP (Model Context Protocol)

k13d supports MCP for extending AI capabilities with external tools. Run k13d as an MCP client (connects to external MCP servers) or as an MCP server (exposes k13d tools to other AI systems).

# Run as MCP server (stdio transport)
./k13d -mcp

Configure MCP servers in ~/.config/k13d/config.yaml:

mcp:
  servers:
    - name: kubernetes
      command: npx
      args: ["-y", "@anthropic/mcp-server-kubernetes"]
    - name: thinking
      command: npx
      args: ["-y", "@modelcontextprotocol/server-sequential-thinking"]

See the MCP Guide for details.


CLI Reference

./k13d                                    # TUI mode
./k13d -web -auth-mode local             # Web UI — local auth (desktop use)
./k13d -web -auth-mode token             # Web UI — K8s RBAC auth (production)
./k13d -web -port 3000                   # Custom port
./k13d -web --no-auth                    # No auth (dev only)
./k13d -mcp                              # MCP server mode
./k13d --embedded-llm -web -auth-mode local  # With built-in LLM
./k13d -n kube-system                    # Start in specific namespace
./k13d -A                                # Start with all namespaces
./k13d --version                         # Show version
./k13d --completion bash                 # Generate shell completion
./k13d --storage-info                    # Show storage configuration

Shell Completion

# Bash
source <(./k13d --completion bash)

# Zsh
source <(./k13d --completion zsh)

# Fish
./k13d --completion fish | source

Docker

docker run -d -p 8080:8080 \
  -v ~/.kube/config:/home/k13d/.kube/config:ro \
  cloudbro/k13d:latest \
  -web -auth-mode local

With environment variables:

docker run -d -p 8080:8080 \
  -v ~/.kube/config:/home/k13d/.kube/config:ro \
  -e K13D_AUTH_MODE=local \
  -e K13D_USERNAME=admin \
  -e K13D_PASSWORD=mysecurepassword \
  -e OPENAI_API_KEY=$OPENAI_API_KEY \
  cloudbro/k13d:latest \
  -web

Build from Source

git clone https://github.com/cloudbro-kube-ai/k13d.git && cd k13d
make build

Configuration

k13d uses ~/.config/k13d/config.yaml for configuration:

File Purpose
config.yaml Main config (LLM provider, language, model profiles, storage)
hotkeys.yaml Custom hotkey bindings
plugins.yaml External plugin definitions
aliases.yaml Resource command aliases
views.yaml Per-resource view settings (sort defaults)

See the Configuration Guide for full reference.


Documentation

Full documentation: https://cloudbro-kube-ai.github.io/k13d


License

MIT License - see LICENSE.

GitHub Stars

Directories

Path Synopsis
cmd
bench command
Package main provides the CLI for running AI benchmarks
Package main provides the CLI for running AI benchmarks
eval command
Package main provides the CLI for running LLM evaluation benchmarks.
Package main provides the CLI for running LLM evaluation benchmarks.
kube-ai-dashboard-cli command
TODO: This file duplicates significant logic from cmd/kubectl-k13d/main.go.
TODO: This file duplicates significant logic from cmd/kubectl-k13d/main.go.
kubectl-k13d command
kubectl-k13d is a kubectl plugin wrapper for k13d.
kubectl-k13d is a kubectl plugin wrapper for k13d.
pkg
ai
ai/agent
Package agent provides a state-machine based AI agent following kubectl-ai patterns.
Package agent provides a state-machine based AI agent following kubectl-ai patterns.
ai/safety
Package safety provides command safety analysis using shell AST parsing.
Package safety provides command safety analysis using shell AST parsing.
ai/session
Package session provides AI conversation session persistence
Package session provides AI conversation session persistence
ai/sessions
Package sessions provides the original session management system.
Package sessions provides the original session management system.
bench
Package bench provides AI benchmarking capabilities for Kubernetes tasks.
Package bench provides AI benchmarking capabilities for Kubernetes tasks.
bench/cluster
Package cluster provides cluster provisioning for benchmarks
Package cluster provides cluster provisioning for benchmarks
db
eval
Package eval provides AI agent benchmark evaluation framework dryrun.go implements cluster-free benchmark evaluation using tool call analysis
Package eval provides AI agent benchmark evaluation framework dryrun.go implements cluster-free benchmark evaluation using tool call analysis
k8s
llm/embedded
Package embedded provides an embedded LLM server using llama.cpp This is an optional component that can run a local SLLM for environments without external LLM access.
Package embedded provides an embedded LLM server using llama.cpp This is an optional component that can run a local SLLM for environments without external LLM access.
log
mcp
metrics
Package metrics provides periodic metrics collection for time-series data
Package metrics provides periodic metrics collection for time-series data
security
Package security provides security scanning and compliance checking for Kubernetes clusters
Package security provides security scanning and compliance checking for Kubernetes clusters
testutil
Package testutil provides shared testing utilities and interface contracts.
Package testutil provides shared testing utilities and interface contracts.
ui
Package ui provides the terminal user interface components.
Package ui provides the terminal user interface components.
ui/actions
Package actions provides a centralized key action system following k9s patterns.
Package actions provides a centralized key action system following k9s patterns.
ui/models
Package models provides data models for the TUI following k9s patterns.
Package models provides data models for the TUI following k9s patterns.
ui/render
Package render provides resource rendering following k9s patterns.
Package render provides resource rendering following k9s patterns.
ui/resources
Package resources provides resource view generators for the TUI dashboard.
Package resources provides resource view generators for the TUI dashboard.
ui/views
Package views provides high-level view components following k9s patterns.
Package views provides high-level view components following k9s patterns.
web
tests
mocks command
Mock OpenAI API Server for Integration Testing Simulates OpenAI API responses for testing k13d without real API calls
Mock OpenAI API Server for Integration Testing Simulates OpenAI API responses for testing k13d without real API calls

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL