projects / k8s-web-manager
03/open source product

Kubernetes Web Manager

In DevelopmentQ1 2026

Zero-config Kubernetes cluster manager - real-time pod, service, ingress monitoring with health scoring algorithm and multi-arch support.

role
Sole developer - open source
period
Q1 2026
status
In Development
impact
15+ resource types · intelligent health scoring · multi-arch Docker
5 images1 / 5

The Problem

Kubernetes dashboards are either too heavy (Lens requires a local install and feels like an IDE), too minimal (the default dashboard is barely readable), or too opinionated for teams that just need a clear, browser-based view of what's happening in their cluster right now.

The gap: a zero-configuration, browser-native dashboard that works with any cluster, gives you a real health signal - not just green/yellow/red - and ships as a single Docker image.


The Solution

Kubernetes Web Manager is a production-ready web dashboard that you deploy in one Docker command. Mount your kubeconfig, or pass a URL and bearer token - the dashboard connects, pulls live cluster data across 15+ resource types, and scores cluster health on an intelligent 0–100 scale with per-category breakdown.

No local installation. No setup wizard. No agent to deploy inside the cluster.


Key Features

Feature Detail
Zero Configuration Mount existing kubeconfig - works immediately with no setup required
0–100 Health Score Five-dimensional scoring: node health, pod status, workload conditions, recent events, configuration quality
15+ Resource Types Real-time monitoring across pods, services, ingresses, PVCs, RBAC, storage, and more
Real-Time Monitoring Auto-refreshing live data via Next.js Server Actions
8 KPI Cards At-a-glance critical metrics on the main dashboard
Dual Auth Kubeconfig file mount and URL + bearer token - flexible for any deployment scenario
Multi-Arch Docker Image linux/amd64 + linux/arm64 - runs on both x86 servers and Graviton/Apple Silicon
Optimized Image ~200MB Alpine-based image with non-root user and read-only kubeconfig mount

Full Resource Coverage

Pods · Deployments · StatefulSets · DaemonSets · Jobs · CronJobs · ReplicaSets · Services · Ingresses · Endpoints · NetworkPolicies · ConfigMaps · Secrets · PersistentVolumes · PersistentVolumeClaims · StorageClasses · Roles · RoleBindings · ClusterRoles · ServiceAccounts · Nodes · Namespaces · Events


Technical Architecture

Stack: Next.js 16 · React 19 · @kubernetes/client-node · Tailwind CSS · shadcn/ui · Recharts · Docker (Alpine) · Kubernetes RBAC

Key Design Decisions

Official Kubernetes Client
Built on @kubernetes/client-node - the official, type-safe Kubernetes JavaScript client. This ensures correct RBAC handling, long-term API compatibility, and reliable behavior across Kubernetes versions.

Next.js Server Actions for Cluster Communication
All Kubernetes API calls happen server-side via Next.js Server Actions - no separate backend service needed. Kubeconfig credentials never reach the browser. The architecture stays lean: one container, one command.

Intelligent 0–100 Health Scoring
The score is calculated across five weighted dimensions:

Dimension What's Evaluated
Node Health Are all nodes in Ready state?
Pod Health Running vs. Failed / Pending / CrashLoopBackOff ratios
Workload Health Deployment and StatefulSet desired vs. available replicas
Recent Events Warning and Error event frequency in the last window
Configuration Quality Resource quotas, limit ranges, namespace hygiene

Each dimension has specific deduction rules. A cluster with all nodes Ready but 30% of pods in CrashLoopBackOff won't score 100 - and the breakdown tells you exactly why. This replaces vague status indicators with an actionable number.

Multi-Arch Docker Build
Built with Docker Buildx for linux/amd64 and linux/arm64 targets - meaning it runs natively on AWS Graviton instances, Apple Silicon development machines, and standard x86 servers without emulation overhead.

Security-Hardened Image
Multi-stage Alpine build keeps the image at ~200MB. Non-root user execution and read-only kubeconfig volume mount minimize the container's attack surface in production environments.


Development Process

  1. Architecture planning - Designed zero-config setup, dual auth model, and health scoring dimensions based on Kubernetes operational experience
  2. Core dashboard - Built main dashboard with 8 KPI cards and real-time data via Server Actions; implemented all 15+ resource type views
  3. Health scoring - Developed and tuned the 0–100 algorithm with per-category deduction logic; tested against clusters in various degraded states
  4. Auth & security - Implemented kubeconfig and URL/token auth paths; hardened container with non-root execution and read-only mounts
  5. Docker & publishing - Multi-stage Alpine build, Buildx for multi-arch, health checks, published to Docker Hub with quickstart documentation

Quick Start

docker run -d -p 3000:3000 \
  -v ~/.kube/config:/home/nextjs/.kube/config:ro \
  undeatharva/k8s-web-manager:latest

Open http://localhost:3000 - full cluster dashboard, no further configuration.


Impact & Takeaway

The 0–100 health score is the core differentiator. Most dashboards show you what's happening; this one tells you how healthy your cluster is - with the specificity to act on it. Combined with zero-config deployment and multi-arch support (including Graviton, which is increasingly common in cost-optimized AWS environments), the dashboard works well in exactly the environments where operational overhead should be lowest.

One Docker command. Full cluster visibility across 15+ resource types. Intelligent health scoring that tells you why.


Tags: Kubernetes dashboard · kubectl alternative · cluster management · Kubernetes monitoring · pod management · real-time dashboards · Kubernetes UI · cluster health · container orchestration