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
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.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
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
Built Distribution
File details
Details for the file kube-web-view-21.2.0.tar.gz
.
File metadata
- Download URL: kube-web-view-21.2.0.tar.gz
- Upload date:
- Size: 459.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.9.1 Linux/5.8.0-41-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 786494f2163d0aa74840b88b05b25356821ad00aa5e26efbff98cab9979a6553 |
|
MD5 | 747d87d2fd0f9f4b49857b29dbc2a5c7 |
|
BLAKE2b-256 | dace7612f9fc0430f9274a4290b18abc191ad47af14ccaca0cc1a5f1535826b3 |
File details
Details for the file kube_web_view-21.2.0-py3-none-any.whl
.
File metadata
- Download URL: kube_web_view-21.2.0-py3-none-any.whl
- Upload date:
- Size: 473.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.9.1 Linux/5.8.0-41-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ee9a05f984a1be2bac7ed770177d0f10cc63f635c85ab5e55f9685825bcb132 |
|
MD5 | 92baf08cac21ebb1fb9508d1317fb473 |
|
BLAKE2b-256 | 2fa34d8aeefdcfec90bef47a26ab50b65a6e7eb3a00340d10dd8f663524d8da2 |