Loupe 0.1.6
Problems, cluster-wide search, signed Linux downloads, and EKS, GKE and AKS contexts that connect when opened from the Dock.
Released 25 September 2026 — on GitHub
Added
-
Search the whole cluster from ⌘K. Type part of a name and the palette finds matching objects of every kind — custom resources included — rather than only the rows a listing has loaded. Results are grouped by kind with their namespace and status; Enter opens one here, ⌘-Enter in a new tab. The index is built in the background from the API server's own listings, holds names and not contents (Secrets by name only), skips what RBAC does not allow and says how much that was, and is thrown away when you switch cluster. See Search.
-
Problems. One view of everything currently broken across the cluster, so "is anything wrong?" has a one-glance answer after connecting. Crash loops with their exit codes, images that cannot be pulled, pods the scheduler cannot place and why, OOM kills, workloads short of replicas, failed Jobs and CronJobs, unready or pressured nodes, taints blocking pending pods, unbound claims, and the last hour's warning events — forty identical ones as one row with a count. Kept current by watches rather than polling, counted in the status bar, and honest about RBAC: a category you may not list says so instead of looking healthy. Grace period and restart threshold are in
settings.json. See Problems.
Fixed
-
EKS, GKE and AKS contexts failed to connect when Loupe was opened from the Dock or Finder, with "auth error: unable to run auth exec: No such file or directory" — while kubectl worked. Those kubeconfigs authenticate by running a plugin such as
awsorgke-gcloud-auth-plugin, and an app launched by macOS gets only/usr/bin:/bin:/usr/sbin:/sbin, not your shell's PATH. Loupe now reads your login shell's environment at startup, so it finds the same plugin kubectl does, and picks upKUBECONFIG,AWS_PROFILEand friends when they are set there. -
Listing a kind with no objects could fail with "invalid type: null, expected a sequence". The API server sends
rows: nullrather than an empty list for an empty kind — seen onLimitRangeandCSIStorageCapacityon a fresh cluster. -
Signed Linux downloads. The
.AppImage,.deband.rpmeach carry a detached GPG signature, so a download can be checked withgpg --verifyagainst a published key rather than trusted because of where it came from. See verifying a download.
Security
- rustls 0.23.45, for RUSTSEC-2026-0285 (medium). rustls carries every connection Loupe makes to a cluster and to the update server.