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 08ee7bd7c3 align numeric columns right 1 day ago
deploy note on container logs/secrets 3 weeks ago
docs link to Cognito product page 2 days ago
examples tweak example 1 week ago
kube_web align numeric columns right 1 day ago
tests test arg parsing 1 day ago
.flake8 #12 new option --object-links to link to external tools 2 weeks ago
.gitignore simple e2e test 1 month ago
.travis.yml Travis CI config 3 weeks ago
Dockerfile #61 switch to Debian base image to assess performance impact 1 week ago
LICENSE add LICENSE 1 month ago
Makefile kind v0.5.0 4 days ago
README.md using CalVer 1 week ago
poetry.lock #62 fix concurrency bug where session tokens could leak to other requests 1 week ago
pyproject.toml #62 fix concurrency bug where session tokens could leak to other requests 1 week ago

README.md

Kubernetes Web View

Build Status Documentation Status GitHub tag (latest SemVer) 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.

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.7 and poetry and will run unit tests and end-to-end tests with Kind:

make test

The end-to-end (e2e) tests will bootstrap a new Kind cluster, you can run Kubernetes Web View for development against this cluster:

make run.kind

To clean up the e2e test cluster (also needed after a machine reboot):

make clean.e2e

Building the Docker image

make

Developing Locally

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

make run