K8Lens
—  HOW IT WORKS

A Next.js UI that talks
to your API server.

No Go server. No agents to deploy. No WebSocket multiplexer. K8Lens is a Next.js app written in JavaScript that uses the Kubernetes JavaScript client to pull data straight from your API server.

YOUR BROWSER
Next.js UIReact · JavaScript
@kubernetes/client-nodeJS client
HTTP pollinglist + get
HTTPS
KUBERNETES CLUSTER
CONTROL PLANE
kube-apiserver
STATE
etcd
WORKER NODES · YOUR WORKLOADS
—  TWO WAYS TO RUN IT

Pick the mode that fits.

MODE A · DOCKER

Docker image

Pull and run the K8Lens Docker image locally. Connect to any cluster in seconds — no volume mounts needed.

$ docker run --rm -p 3000:3000 \
$ ghcr.io/codescapes-dev/k8lens:latest
Zero install just Docker
Mounts your existing kubeconfig
No cluster modifications
COMING SOON
MODE B · HELM · COMING SOON

Helm chart

Deploy K8Lens inside your cluster via Helm. It uses the in-cluster service account automatically best for teams sharing one dashboard.

$ # Coming soon
$ helm install k8lens k8lens/k8lens \
$ --namespace k8lens-system
Single Helm install
RBAC-scoped ServiceAccount
Ingress-ready
—  ANATOMY OF A REQUEST

From browser to API server.

01
Browser
Next.js + React

You open K8Lens in a browser. The entire UI is a Next.js app written in JavaScript no desktop client, no native binary.

02
Kubernetes JS client
@kubernetes/client-node

The app uses the official Kubernetes JavaScript client to talk to your cluster's API server directly.

03
kubeconfig / token
Your credentials

K8Lens reads your kubeconfig or in-cluster service account token. It never stores or forwards them.

04
Kubernetes API
kube-apiserver

List and get requests go straight to the API server. No middleman, no agent, no sidecar in your cluster.

05
Etcd
Source of truth

K8Lens never touches etcd directly only via the API server, like every other Kubernetes client.