Skip to main content

Kubernetes Web View allows to list and view all Kubernetes resources (incl. CRDs) with permalink-friendly URLs in a plain-HTML frontend

Project description

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kube-web-view-19.12.0.tar.gz (458.3 kB view details)

Uploaded Source

Built Distribution

kube_web_view-19.12.0-py3-none-any.whl (471.5 kB view details)

Uploaded Python 3

File details

Details for the file kube-web-view-19.12.0.tar.gz.

File metadata

  • Download URL: kube-web-view-19.12.0.tar.gz
  • Upload date:
  • Size: 458.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.7.4 Linux/4.15.0-72-generic

File hashes

Hashes for kube-web-view-19.12.0.tar.gz
Algorithm Hash digest
SHA256 03e0e9debacee918f83abf434285a7af044d99254349e07f34c2fda84450c320
MD5 3f783e274586ed36cd53e4397f454eb3
BLAKE2b-256 6d9295f310df81a1a125b664f6e3a988dbaa64f9a8c2737dec70527b7f7e4b59

See more details on using hashes here.

File details

Details for the file kube_web_view-19.12.0-py3-none-any.whl.

File metadata

  • Download URL: kube_web_view-19.12.0-py3-none-any.whl
  • Upload date:
  • Size: 471.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.0 CPython/3.7.4 Linux/4.15.0-72-generic

File hashes

Hashes for kube_web_view-19.12.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aeb14d7c0a81c0161e3dd10730a22f12694abae4dfcade53a31fbf2cb9fa2c8e
MD5 40cc815dd944210229ce67584ec2943c
BLAKE2b-256 27f48bb11e1837e5b42675760be4df986b2e798430df0e30584c94c30696ca77

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page