Kubernetes Web View to list and view all Kubernetes resources https://kube-web-view.readthedocs.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Henning Jacobs bc52312963 Merge pull request 'add missing assigment to scope in oauth2 usage' (#136) from sybnex/kube-web-view:main into main 9 months ago
deploy use v21.2.0 for deploy 10 months ago
docs v21.2.0 10 months ago
examples pre-commit hooks and code formatting 2 years ago
kube_web add missing assigment to scope in oauth2 usage 9 months ago
tests add query param to filter logs 1 year ago
.flake8 update dependencies 2 years ago
.gitignore update to kind v0.10 and Kubernets 1.20 10 months ago
.pre-commit-config.yaml update dependencies 10 months ago
.travis.yml Travis CI config 2 years ago
Dockerfile Bring in GCC (and some other stuff) into the initial stage of the build 2 years ago
LICENSE add LICENSE 2 years ago
Makefile update to pytest-kind 21.1.1 with isolated kubeconfig 11 months ago
README.md update dependencies incl. black 1 year ago
poetry.lock update dependencies 10 months ago
pyproject.toml v21.2.0 10 months ago


Kubernetes Web View

Build Status Documentation Status Docker Pulls License CalVer

Kubernetes Web View allows to list and view all Kubernetes resources (incl. CRDs) with permalink-friendly URLs in a plain-HTML frontend. This tool was mainly developed to provide a web-version of kubectl for troubleshooting and supporting colleagues. See the Kubernetes Web View Documentation and try out the live demo.


  • handling of any API resource: both core Kubernetes and CRDs
  • permalink-friendly URL paths for giving links to colleagues (e.g. to help troubleshoot)
  • option to work with multiple clusters
  • allow listing different resource types on the same page (e.g. deployments and CRDs with same label)
  • replicate some of the common kubectl features, e.g. -l (label selector) and -L (label columns)
  • simple HTML, only add JavaScript where it adds value
  • pluggable links, e.g. to link to other tools based on resource properties like labels (monitoring, reports, ..)
  • optional: editing resources as YAML manifests (kubectl edit)


  • application management
  • reporting/visualization
  • fancy UI (JS/SPA)


This will run Kubernetes Web View locally with your existing Kubeconfig:

docker run -it -p 8080:8080 -u $(id -u) -v $HOME/.kube:/.kube hjacobs/kube-web-view

Open http://localhost:8080/ in your browser to see the UI.

Deploying into your cluster

This will deploy a single Pod with Kubernetes Web View into your cluster:

kubectl apply -f deploy/
kubectl port-forward service/kube-web-view 8080:80

Open http://localhost:8080/ in your browser to see the UI.

Running tests

This requires Python 3.8 and poetry and will run unit tests and end-to-end tests with Kind:

make test

It is also possible to run static and unit tests in docker env (make test is equal to make poetry lint test.unit docker)

docker run -it -v $PWD:/src -w /src python:3.8 /bin/bash -c "pip3 install poetry; make poetry lint test.unit"
make docker

The end-to-end (e2e) tests will bootstrap a new Kind cluster via pytest-kind, you can keep the cluster and run Kubernetes Web View for development against it:

PYTEST_ADDOPTS=--keep-cluster make test
make run.kind

Building the Docker image


Developing Locally

To start the Python web server locally with the default kubeconfig (~/.kube/config):

make run