Spawns an isolated sub-shell with a minimal kubeconfig containing only
the specified context. Inside the shell, all operations (switch,
rename, delete, unset, list, current, and interactive modes) are blocked
via the KUBECTX_ISOLATED_SHELL env var. Only help and version remain
allowed. Nested scoped shells are also prevented.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* fix(release): customize goreleaser config file, by adding json schema and fixing configuration version
* fix(go): rename invalid comment format
* fix(ci): made release workflow work again
replace goreleaser --rm-dist flag by --clean
increment go version for release pipeline
fetch previous tags use by goreleaser
give release workflow content write permissions to publish release
* feat(kubens): added force flag to switch namespaces even if it doesn't exist
* Merged lines
* fixed README.md and flags.go
* updated flags.go, flags_test.go
* stop using XDG_CACHE_HOME as home directory
XDG_CACHE_HOME is not a substitute for $HOME, see [1].
[1]: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
* fix bats testing setup/teardown
since cmdutil.Homedir() would treat $XDG_CACHE_HOME as $HOME, deleting
$XDG_CACHE_HOME would wipe out previous kubens state. now that we're not
doing that, we need to make a real synthetic $HOME and clear it out so
that $HOME/.kube/kubens doesn't persist between runs.
* Add Homebrew install for Linux
Is there a reason why `brew` install instructions isn't included for Linux? Because it's bash I'm able to install it just fine with brew on Ubuntu.
* Rearange Linux install sections
Not tagging a release for now. This only causes linux/ppc64le binaries to be
created for now.
Closes#252.
Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>