Releases: akash-cloudtech/k8s-rizz
Release list
v1.0.6
K8s Rizz Check v1.0.6
K8s Rizz Check now speaks EKS, AKS, and plain kubeconfig, not just GKE - and finding your clusters across all of them is a single zero-config step.
Multi-cloud support: EKS, AKS, and Kubernetes (kubeconfig)
Added first-class support for AWS EKS, Azure AKS, and a generic Kubernetes provider that reads whatever's already in your ~/.kube/config - kind, minikube, k3s, Rancher, on-prem, anything with a working context. All four providers (GKE, EKS, AKS, Kubernetes) now share the same zero-config bootstrap: run the app with no config.yaml, and it scans every cloud CLI you're logged into plus your local kubeconfig, then writes out a ready-to-use config.
Provider drawer redesign
The provider list is down to exactly the four real providers - GKE, EKS, AKS, Kubernetes - each with its own icon and an accurate "connected" status pulled straight from live cluster discovery, not a guess. The old K3s and Personal Clusters stub entries are gone; those cluster types already show up under Kubernetes automatically, since it just reads your kubeconfig.
EKS cluster discovery bug fix
EKS auto-discovery was silently finding zero clusters on some accounts due to a wrong field name when parsing AWS's API response. Fixed, and confirmed against a real EKS cluster.
Cluster list and per-cluster settings in config.yaml
config.yaml now lists every discovered cluster under its environment (name + location), written once at first-run bootstrap. Any setting - refresh interval, warning/critical thresholds, namespace blocklist, discovery interval - can now be overridden per cluster or per environment, with cluster-level overrides winning over environment-level ones, which win over the global defaults.
No action needed for existing config.yaml files - everything above is additive.
v1.0.5
K8s Rizz Check v1.0.5
Namespace and cluster switching is noticeably faster - and this time backed by real numbers, not a guess.
Faster namespace switching
When listing all resources in a namespace, the app fetches every known resource kind via chunked, parallel kubectl get calls. The chunking was previously fixed at 25 kinds per chunk, which meant a typical cluster (30-50 namespaced kinds) only ever produced 2 chunks - leaving most of the worker pool sitting idle, since kubectl queries each type in a chunk sequentially against the API server internally. Chunking now scales with the worker pool instead of a fixed size, so all available workers get used. Measured on a real multi-cluster environment: namespace-switch time dropped from 2.7-3.8s down to roughly 1.0-1.1s, about a 3x improvement.
Opt-in timing diagnostics
Set KRC_TIMING=1 before launching to print timing breakdowns for credential setup (including cache hit/miss), cluster and node metrics fetches, and namespace resource-tree fetches. Off by default, zero overhead when unset - useful if switching ever feels slow again and you want to see exactly where the time goes.
No configuration changes needed. Existing config.yaml files keep working as-is.
v1.0.4
K8s Rizz Check v1.0.4
Two areas of improvement: broader resource status coverage, and a few UI polish fixes.
Resource status
Beyond the specific fixes in v1.0.3, the resource tree now has a generic fallback for any resource kind that isn't specifically recognized. It checks for a plain phase/state field or a standard conditions array and infers health from it, so unfamiliar CRDs show something meaningful more often instead of always falling back to "Unknown". This is a best-effort inference, not a verified read, so it errs toward flagging things for a look rather than assuming they're fine.
UI fixes
- Namespace rows (both the main table and the sidebar list shown after selecting a namespace) now show a hover highlight, making it clear they're clickable.
- The namespace sidebar list no longer scrolls the whole page when it has more entries than fit on screen — it scrolls independently, same as the resource tree list.
No configuration changes needed. Existing config.yaml files keep working as-is.
v1.0.3
K8s Rizz Check v1.0.3
Bug fix release. Real-world testing surfaced a batch of resource kinds showing status "Unknown" in the resource tree even when they were completely healthy, and in some cases dragging their parent's status down to a false "warn" along with them.
What was wrong
A handful of built-in Kubernetes kinds don't report health through status.conditions the way Deployment does. They either use their own condition types, plain replica counts, or a different field entirely. The dashboard only knew how to read the Deployment-style conditions, so anything else fell back to a generic "Unknown".
Fixed
- ReplicaSet, StatefulSet, DaemonSet: now correctly show "Available" when fully ready (was cascading a false warn onto otherwise-healthy Deployments)
- CronJob: now shows a healthy baseline instead of "Unknown" (real failures still surface through its Jobs/Pods, same as before)
- Ingress: reflects whether a load balancer has actually been provisioned
- HorizontalPodAutoscaler: reads its actual scaling-active condition instead of falling through
- PodDisruptionBudget: reads its disruption-allowed condition (or healthy pod counts on older clusters)
- PersistentVolumeClaim: now shows its real Bound/Pending/Lost phase
- Service: no longer shows "Unknown" for ordinary ClusterIP/NodePort services; LoadBalancer-type services reflect actual provisioning status
No configuration changes needed. Existing config.yaml files keep working as-is.
v1.0.2
K8s Rizz Check v1.0.2
Performance release. Testing against a real multi-project, multi-cluster GCP environment surfaced two slow spots: switching namespaces (10+ seconds on clusters with a lot of installed CRDs) and switching between clusters/projects. Both are fixed.
What's faster
- Namespace switching: the app was fetching each resource type in a namespace one at a time, waiting for each to finish before starting the next. It now fetches them all at once. Confirmed faster in real testing on a CRD-heavy cluster.
- Cluster/project switching: the app was checking your Google Cloud credentials twice per switch, and fetching the full pod list for the cluster twice, by accident. Both are now done once.
- The one-time scan of what resource types exist on a cluster (only happens once per cluster, cached afterward) is also faster now for the same reason.
Under the hood
- Google Cloud credential setup is now remembered for a few minutes per cluster instead of being redone on every single switch.
- Independent data fetches (pods, storage, metrics) now run in parallel instead of one after another.
No configuration changes needed. Existing config.yaml files keep working as-is.
v1.0.1
K8s Rizz Check v1.0.1
A local Kubernetes cluster observability dashboard. Connects to your GKE clusters and surfaces problems fast, entirely from your own machine.
What it does
- Node observability: cluster-wide summary (total/ready/conditions/CPU/memory/pods) plus an expandable per-node table. Click any node for a detail panel (Status / YAML / Cook Book).
- Live resource tree: every namespaced Kind that actually exists in the cluster (core resources + CRDs) shown automatically, with ownership chains resolved so a crash-looping Pod turns its parent Deployment red too. Problems surface at a glance, not just where they occur.
- Events tab: real namespace Events, newest first.
- Resource detail panel: Status fields, full YAML, and container Logs (with a picker for multi-container Pods).
- URL state restoration: refreshing the page puts you back exactly where you were instead of dropping you back to the landing screen.
- Color-coded severity: one 3-tier good/warn/bad model (
rizzing ✓/mid ▲/no rizz ✗/cooked 💀) throughout, so you can scan a cluster's health at a glance.
GKE, connected automatically
Authenticates via your existing gcloud login, no separate credentials to manage. Discovers clusters via Fleet or direct listing, and connects through whichever path actually works (Connect Gateway, public endpoint, or internal IP).
Zero-config first run
No config file to write by hand. On first launch it detects your active gcloud login, finds every GCP project you can access, checks each one for GKE clusters, works out how to reach them, and generates a ready-to-use config automatically.
Runs anywhere, nothing to install
Download a single binary for macOS, Windows, or Linux and run it. No Python, no dependencies. Opens straight in your browser.
Configurable to your environment
- Adjustable refresh and re-discovery intervals (in minutes)
- Memory/CPU alert thresholds (warn at 75%, critical at 85%)
- Namespace blocklist to hide system/infra namespaces you don't care about