MCPcopy
hub / github.com/kubewall/kubewall

github.com/kubewall/kubewall @v0.0.20 sqlite

repository ↗ · DeepWiki ↗ · release v0.0.20 ↗
917 symbols 3,373 edges 428 files 20 documented · 2%
README

kubewall

Install | Guide | Releases | Source Code

kubewall is a Open-Source, Single-Binary Kubernetes Dashboard with Multi-Cluster Management & AI Integration.

It provides a simple and rich realtime interface to manage and investigate your clusters.

Feature                    Benefit
🔗 Multi-Cluster Management Control unlimited Kubernetes clusters from one intuitive interface, saving time on tool-switching and boosting productivity for DevOps teams.
🤖 AI-Powered Leverage AI (OpenAI / Claude 4 / Gemini / DeepSeek / OpenRouter / Ollama / Qwen / LMStudio) for automated troubleshooting, config optimization, and smart recommendations - a game-changer for complex environments.
📊 Real-Time Monitoring Get live views of cluster, pods, services, and metrics, enabling quick issue detection without manual queries.
🚀 Single-Binary Deployment Install effortlessly as a lightweight binary on Mac, Windows, or Linux - no dependencies, zero config.
🔍 In-Depth Resource Views Dive into detailed manifests, logs, and configurations through an intuitive dashboard, making debugging a breeze for novices and pros alike.
🌐 Browser-Based Access Access securely via any browser with optional HTTPS setup, perfect for remote teams managing on-premises or cloud clusters.
🧭 Search & Filter Instantly locate namespaces, labels, images, nodes, and workloads with powerful search and filtering—streamlining navigation across large clusters.
🛡 Privacy by Default Maintain full control with zero cloud dependency, ensuring your cluster data stays local and secure by design.
🔌 Port Forwarding Instantly access in-cluster services on your local machine with secure, one-click port forwarding. No complex CLI commands or YAML edits required, enabling faster debugging and testing.
🔄 Live Refresh Experience seamless auto-updates for resources, eliminating manual refresh cycles and keeping your dashboard perpetually current.
📜 Aggregated Pod Logs Stream logs across pods and containers with advanced search and tail options—perfect for monitoring multi-replica applications with ease.
🖥️ Clean Resource Management Enjoy streamlined views for Deployments, Pods, Services, ConfigMaps, and more scale deployments, restart pods, perform rollout restarts, and apply manifests with a single click for unmatched efficiency.

:movie_camera: Intro

kubewall

[!Important] Please keep in mind that kubewall is still under active development.

:battery: Install

🐳 Docker

docker run -p 7080:7080 -v kubewall:/.kubewall ghcr.io/kubewall/kubewall:latest

💡 To access local kind cluster you can use "--network host" docker flag.

⛵ Helm

helm install kubewall oci://ghcr.io/kubewall/charts/kubewall -n kubewall-system --create-namespace

🛡️ With helm kubewall runs on port 8443 with self-signed certificates. View chart →

🍺 Homebrew

brew install --cask kubewall/tap/kubewall

🧃 Snap

sudo snap install kubewall

🐧 Arch Linux

yay -S kubewall-bin

🪟 Winget

winget install --id=kubewall.kubewall -e

📦 Scoop

scoop bucket add kubewall https://github.com/kubewall/scoop-bucket.git
scoop install kubewall

📁 Binary

MacOS Binary ( Multi-Architecture )

Linux (Binaries) amd64 | arm64 | i386

Windows (exe) amd64 | arm64 | i386

Manually 📂 Download the pre-compiled binaries from the Release! page and copy them to the desired location or system path.

[!TIP] After installation, you can access kubewall at http://localhost:7080

If you're running it in a Kubernetes cluster or on an on-premises server, we recommend using HTTPS. When not used over HTTP/2 SSE suffers from a limitation to the maximum number of open connections. Mozilla

You can start kubewall with HTTPS using the following command:

$ kubewall --certFile=/path/to/cert.pem --keyFile=/path/to/key.pem

:books: Guide

Flags

Since kubewall runs as binary there are few of flag you can use.

> kubewall --help

Usage:
  kubewall [flags]
  kubewall [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  version     Print the version of kubewall

Flags:
      --certFile string        absolute path to certificate file
  -h, --help                   help for kubewall
      --k8s-client-burst int   Maximum burst for throttle (default 200)
      --k8s-client-qps int     maximum QPS to the master from client (default 100)
      --keyFile string         absolute path to key file
  -l, --listen string          IP and port to listen on (e.g., 127.0.0.1:7080 or :7080) (default "127.0.0.1:7080")
      --no-open-browser        Do not open the default browser

🔐 Setting up HTTPS locally

You can use your own certificates or create new local trusted certificates using mkcert⤴.

[!Important] You'll need to install mkcert⤴ separately.

  1. Install mkcert on your computer.
  2. Run the following command in your terminal or command prompt:

mkcert kubewall.test localhost 127.0.0.1 ::1

  1. This command will generate two files: a certificate file and a key file (the key file will have -key.pem at the end of its name).
  2. To use these files with kubewall, use --certFile= and --keyFile= flags.
kubewall --certFile=kubewall.test+3.pem --keyFile=kubewall.test+3-key.pem

When using Docker

When using Docker, you can attach volumes and provide certificates by using specific flags.

In the following example, we mount the current directory from your host to the /.certs directory inside the Docker container:

docker run -p 7080:7080 \
    -v kubewall:/.kubewall \
    -v $(pwd):/.certs \
    ghcr.io/kubewall/kubewall:latest \
    --certFile=/.certs/kubewall.test+3.pem \
    --keyFile=/.certs/kubewall.test+3-key.pem

🛰️ Custom Address/Port Configuration

You can run kubewall on any IP and port combination using the --listen flag. This flag controls which interface and port the application binds to.

🔓 Bind to all interfaces

kubewall --listen :7080

🌐 Bind to a specific network interface

kubewall --listen 192.168.1.10:8080

Useful when exposing kubewall to a known private subnet or container network.

:man_technologist: Developers

  <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/Abhimanyu-Light.png" width="49%">












  <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/Kshitij-Light.png" width="49%">

     <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/Github-Light.png" width="49%">

     <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/Github-Light.png" width="49%">

     <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/Twitter-Light.png" width="49%">

     <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/Twitter-Light.png" width="49%">

     <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/LinkedIn-Light.png" width="49%">

     <img src="https://github.com/kubewall/kubewall/raw/v0.0.20/media/LinkedIn-Light.png" width="49%">

🤝 Contribution

This project welcomes your PR and issues. For example, refactoring, adding features, correcting English, etc.

If you need any help, you can contact us from the above Developers sections.

Thanks to all the people who already contributed and using the project.

⚖️ License

kubewall is licensed under Apache License, Version 2.0

Extension points exported contracts — how you extend this code

Container (Interface)
Container represents interface for accessing the data which sharing in overall application. [1 implementers]
backend/container/container.go
RawRequestError (Interface)
(no doc) [1 implementers]
client/src/data/kwFetch.ts
Forwarder (Interface)
(no doc)
backend/portfoward/portforward.go
Resource (Interface)
(no doc)
backend/handlers/base/informers.go
ChatMessage (Interface)
(no doc)
client/src/types/kwAI/addConfiguration.d.ts
Window (Interface)
(no doc)
client/src/components/app/Table/data-table.tsx
DataTableColumnHeaderProps (Interface)
(no doc)
client/src/components/app/Table/TableHeaders/default-header.tsx
DataTableViewOptionsProps (Interface)
(no doc)
client/src/components/app/Table/TableViewOptions/index.tsx

Core symbols most depended-on inside this repo

defaultOrValue
called by 415
client/src/utils/MiscUtils.ts
cn
called by 157
client/src/lib/utils.ts
GetName
called by 48
backend/handlers/base/informers.go
ClientSet
called by 36
backend/container/container.go
GetNamespace
called by 36
backend/handlers/base/informers.go
getTableConfig
called by 33
client/src/utils/ListType/ListDefinations.ts
GetList
called by 32
backend/handlers/base/base.go
WaitForSync
called by 32
backend/handlers/base/informers.go

Shape

Function 637
Struct 132
Method 120
Interface 24
Class 2
TypeAlias 2

Languages

Go59%
TypeScript41%

Modules by API surface

client/src/utils/ListType/ListDefinations.ts34 symbols
backend/container/container.go33 symbols
client/src/utils/DetailType/DetailDefinations.ts32 symbols
client/src/utils/MiscUtils.ts17 symbols
backend/config/kube.go16 symbols
backend/config/config.go16 symbols
client/src/components/app/kwAI/Configuration/icons.tsx15 symbols
backend/handlers/app/config.go14 symbols
backend/portfoward/portforward.go12 symbols
backend/handlers/base/informers.go12 symbols
client/src/components/app/kwAI/Chat/index.tsx11 symbols
client/src/components/app/MiscDetailsContainer/Logs/SocketLogs/index.tsx11 symbols

Dependencies from manifests, versioned

github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/bahlo/generic-list-gov0.2.0 · 1×
github.com/charmbracelet/colorprofilev0.4.3 · 1×
github.com/charmbracelet/lipglossv1.1.0 · 1×
github.com/charmbracelet/x/ansiv0.11.7 · 1×
github.com/charmbracelet/x/cellbufv0.0.15 · 1×
github.com/charmbracelet/x/termv0.2.2 · 1×
github.com/clipperhouse/displaywidthv0.11.0 · 1×
github.com/clipperhouse/uax29/v2v2.7.0 · 1×
github.com/davecgh/go-spewv1.1.1 · 1×

For agents

$ claude mcp add kubewall \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact