Skip to main content

The basics

Yes. KubeStacks is free and open source under the Apache 2.0 license, on your desktop and in your cluster. There are no accounts and no telemetry. It’s made in spare time; if it saves you time, you can sponsor its development.
It’s the same app either way, so pick what fits:Plenty of teams use both. See Install the desktop app and Run it in your cluster.
No. KubeStacks talks to the API server itself. It still shows the equivalent kubectl command for every change, so you can learn it, copy it or script it. Helm is needed only to change Helm releases; looking at them needs nothing.
Kubernetes 1.25 or later. From 1.27, KubeStacks also explains fields from the cluster’s own OpenAPI schema. When it runs in your cluster, signing in with a token needs 1.28 or later.
Yes. KubeStacks reads your kubeconfig the way kubectl does, with client certificates, tokens and exec credential plugins like gke-gcloud-auth-plugin, aws eks get-token and kubelogin. If kubectl can reach a cluster with your kubeconfig, KubeStacks can too. See Connecting clusters.
KubeStacks is built around one question: is this cluster healthy, and if not, where should I look first? So it shows problems before everything else, sets usage against capacity, and keeps the details one click away. It’s neither a terminal nor a wall of tables.When you change something, it’s careful: it asks the cluster what you’re allowed to do, shows the kubectl command, checks edits with a dry run, and offers undo. And it’s the same app on your desktop and in your cluster, so a team can share it without installing anything.

Your data and your clusters

No. It reads your kubeconfig and never writes to it. Managing kubeconfig files, like adding contexts or signing in to cloud providers, is deliberately left to the tools made for it.
No. There’s no telemetry and no account. The desktop app talks to your clusters, and to a few other places only when you use what needs them, like update checks and chart search. See Privacy and security for the full list.
KubeStacks needs to reach your clusters, and nothing else. Without the internet, everything works except looking for new versions, searching Artifact Hub, and fetching charts from public repositories.
It’s built not to. Changes are always explicit: an action, a dialog that names the cluster and shows the command, and a confirmation. Destructive dialogs start on Cancel, and risky deletes, or anything in a cluster named like production, ask you to type the name first. For a cluster you only want to look at, turn on read-only mode. See Changing things safely.
Only what you want to do. KubeStacks acts with your own credentials and RBAC, so a read-only view role is enough to look around. It asks the cluster what you may do before offering an action, and says why when you can’t. See Permissions.

Using it

Yes. The desktop app lists every context in your kubeconfig on its start screen, with whether each one answers. Switch between them from the cluster menu at the top of the sidebar, or with ⌘K. Each cluster remembers its own namespace, read-only setting and usage history source.KubeStacks in your cluster shows the one cluster it runs in.
Yes. Lists load in chunks of 500 and are paginated and virtualized, so thousands of pods stay smooth. They stop at 5,000 objects by default, with a note saying so; a label selector narrows a list on the server. Busy lists refresh less often.
Yes, every kind the cluster serves, found through API discovery. They get the columns kubectl get prints and a status read from their conditions. Views for popular projects (cert-manager, Argo CD, Flux, Karpenter and more) add better columns, links and actions, and you can write your own. See Custom resources.
From a Prometheus or VictoriaMetrics in the cluster, which KubeStacks finds by itself and reaches through the API server with your own credentials. Live usage comes from metrics-server. See Usage history.
Yes. KubeStacks follows your system, or you can pick light or dark from the theme button at the bottom of the sidebar, or with ⌘K.

The project

KubeStacks was started by Peter Kota, first as a tool for work: an app to open a cluster and know in a second whether it’s healthy. It’s developed in the open with its contributors on GitHub.
  • Report what’s wrong, or what’s missing, in an issue.
  • Contribute. Pull requests are welcome; for anything bigger than a small fix, open an issue first. A view for a popular project is an easy and welcome start. See Build from source.
  • Sponsor its development on GitHub Sponsors. The desktop app has a link in Help → Sponsor KubeStacks… too.
  • Star it on GitHub, so others find it.
Privately, please, through a GitHub security advisory. See Reporting a vulnerability.