Kubernetes Web View to list and view all Kubernetes resources https://kube-web-view.readthedocs.io/
 
 
 
 
 
 
Go to file
Henning Jacobs 222eb6b2a8 v23.8.0 2023-08-24 21:25:08 +02:00
deploy v23.2.0 2023-02-19 17:12:11 +01:00
docs v23.8.0 2023-08-24 21:25:08 +02:00
examples pre-commit hooks and code formatting 2020-03-28 15:57:09 +01:00
kube_web v23.8.0 2023-08-24 21:25:08 +02:00
tests update dependencies 2023-07-01 13:55:06 +02:00
.flake8 update dependencies 2020-05-30 20:18:51 +02:00
.gitignore update to kind v0.10 and Kubernets 1.20 2021-01-24 19:50:19 +01:00
.pre-commit-config.yaml update dependencies 2023-07-01 13:55:06 +02:00
.travis.yml Travis CI config 2019-07-30 20:20:43 +02:00
Dockerfile update dependencies 2023-02-19 17:10:42 +01:00
LICENSE add LICENSE 2019-07-18 22:06:18 +02:00
Makefile update dependencies 2022-11-30 18:20:50 +01:00
README.md #144 remove demo.j-serv.de (was shut down) 2022-11-30 18:07:21 +01:00
poetry.lock update dependencies 2023-07-01 13:55:06 +02:00
pyproject.toml v23.8.0 2023-08-24 21:25:08 +02:00

README.md

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 for more information.

Goals:

  • 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)

Non-goals:

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

Quickstart

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.10 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.10 /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

make

Developing Locally

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

make run