Install and run
kubeside is one binary. It has no runtime, no installer, no agent in your
cluster, and no setup step. If kubectl works on your machine, kubeside works.
Install
brew install dynaum/tap/kubeside
Or download an archive for macOS, Linux, or Windows from the
releases page and put the binary
on your PATH.
Until the first release is tagged, build it:
git clone https://github.com/dynaum/kubeside && cd kubeside
npm --prefix web ci && npm --prefix web run build # the UI is embedded, so it goes first
go build ./cmd/kubeside
./kubeside
Run
kubeside
That starts a server on 127.0.0.1:7654 and opens your browser. The server
holds the credentials and talks to your clusters; the browser only ever talks to
127.0.0.1.
Nothing is written to disk while it runs. No database, no cache, no history file. Stop the process and nothing is left behind.
Flags
| Flag | Default | What it does |
|---|---|---|
--port |
7654 |
Port for the local UI. |
--no-open |
off | Start the server but do not open a browser. |
--print |
off | Print the app list to the terminal and exit, instead of opening the UI. |
--context |
all | Comma-separated context names to use. Everything else in the kubeconfig is ignored. |
--kubeconfig |
discovery | An explicit kubeconfig path, overriding KUBECONFIG and ~/.kube/config. |
--config |
discovery | An explicit kubeside config path. See the config file. |
--profile |
unset | Sets AWS_PROFILE for exec credential plugins. Your kubeconfig is never edited. |
--timeout |
15s |
Per-cluster connect and fetch timeout. |
--version |
Print the version and exit. |
--serve, the in-cluster team dashboard, is reserved and not implemented yet.
The terminal check
--print answers "does grouping produce apps I recognise" without opening
anything:
$ kubeside --print
kubeside v1.0.0
2 contexts from /Users/you/.kube/config
── kind-kubeside-demo [live] kind-kubeside-demo · high risk
scope: cluster-wide
NAMESPACE APP KIND READY OBJECTS GROUPED BY WHY
■ team-b search-indexer Deployment 0/2 4 recommended-labels pod search-indexer-75f4dc7c5-dlg8c is in ImagePullBackOff
● team-a checkout Deployment 4/4 12 recommended-labels
● team-b billing CronJob — 3 workload-name
9 apps
health: healthy 8, failed 1
grouped by: owner-chain 1, recommended-labels 2, workload-name 6
The grouped by tally is the diagnostic worth reading. A cluster grouping
mostly by workload-name is one where the label conventions earned nothing, and
that is a finding about the cluster, not a bug in the tool.
It is also the fastest way to see whether a cluster is reachable at all, since each context prints its own state rather than one shared success or failure.
Uninstall
Delete the binary. If you created a config file, delete
~/.config/kubeside/config.yaml. There is nothing else.