Skip to content

A single binary kubernetes dashboard to manage your multiple clusters.

License

Notifications You must be signed in to change notification settings

kubewall/kubewall

Repository files navigation

kubewall

Install | Guide | Releases | Source Code

A single binary to manage your multiple kubernetes clusters.

kubewall provides a simple and rich real time interface to manage and investigate your clusters.

Key features of KubeWall include:

  • Single binary deployment: KubeWall can be easily deployed as a single binary, eliminating the need for complex configurations.
  • Browser-based access: KubeWall can be accessed directly from your favorite web browser, providing a seamless user experience.
  • Real-time cluster monitoring: KubeWall offers a rich, real-time interface that displays the current state of your Kubernetes clusters, allowing you to quickly identify and address issues.
  • Cluster management: KubeWall enables you to manage multiple Kubernetes clusters from a single pane of glass, reducing the overhead of switching between different tools and interfaces.
  • Detailed cluster insights: KubeWall provides comprehensive insights into your Kubernetes clusters, manifest info of your pods, services, config and others.

🎥 Intro

kubewall

Important

Please keep in mind that kubewall is still under active development.

🔋 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. see charts

Homebrew

brew install 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

FreeBSD (Binaries) 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. Mozzila

You can start kubewall with HTTPS using the following command:

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

📚 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 50)
      --k8s-client-qps int     maximum QPS to the master from client (default 50)
      --keyFile string         absolute path to key file
      --no-open-browser        Do not open the default browser
  -p, --port string            port to listen on (default ":7080")

Use "kubewall [command] --help" for more information about a command.

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 Port

You can run kubewall on any port you like. by using -p or --port flag

kubewall -p 7080

👨‍💻 Developers

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