Analysis updated 2026-05-18
Open an isolated shell pinned to a production Kubernetes context without risking other terminals switching along with it.
Run a single kubectl command against a specific cluster from a script or CI job without an interactive shell.
Check all discovered kubeconfig files for missing clusters, users, or broken references.
| spechtlabs/kush | anomalroil/1key | anshuman852/dasan-router-cli | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Go | Go | Go |
| Last pushed | — | 2019-05-17 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | easy | moderate | moderate |
| Complexity | 2/5 | 3/5 | 3/5 |
| Audience | ops devops | ops devops | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Unix-only in this version, no Windows or PowerShell support.
kush is a command line tool for people who work with Kubernetes, the system many companies use to run containerized applications across clusters of servers. Normally, switching which cluster or environment kubectl points to means editing a single shared configuration file, and that change affects every terminal window, script, and background tool reading that same file. It is easy to end up accidentally running a command against production because another terminal changed the active context a few minutes earlier. kush solves this by never touching that shared file. Running kush with a context name, such as prod, opens a normal subshell that is pinned to that one context through its own private, temporary configuration file. Any kubectl, helm, or similar tool run inside that shell only sees the pinned context. When you exit the shell, the temporary configuration is deleted automatically, so nothing persists and your main setup is untouched. You can have a prod shell open in one terminal and a dev shell in another at the same time, with no risk of one leaking into the other. Because kush copies the authentication details from your existing configuration exactly as they are, it keeps working with whatever login method you already use, including cloud provider logins and OpenShift. It ships as a single Go binary with no other dependencies, and can be installed through Homebrew, the kubectl plugin manager Krew, Nix, or by building from source. It is unix-only for now, so it does not support Windows. Beyond the basic enter and exit workflow, kush includes commands for re-pinning just the namespace inside an existing shell, running a single command against a context without opening an interactive shell, checking configuration files for common problems, and splitting a shared configuration into separate files per context. Configuration is optional, with sensible defaults, and can include hooks that run commands automatically when entering or leaving a context. This is aimed at developers and operations engineers who regularly switch between multiple Kubernetes clusters and want to avoid running commands against the wrong one by mistake.
A command-line tool that gives each terminal shell its own isolated, temporary Kubernetes context, so switching clusters in one window can't affect another.
Mainly Go. The stack also includes Go, Kubernetes, kubectl.
Free to use, modify, and distribute for any purpose, including commercial use, as long as you keep the copyright and license notices.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.