Stop! Who would cross the Bridge of Death must answer me these questions three, ere the other side he see.
kubekeeper
asks for context confirmation before running yolo kubectl
commands on prod clusters. Just like sudo
,
confirmation is required only if the command is run for the first time in a while.
brew install badouralix/tap/kubekeeper
Please install the following tools before using kubekeeper
:
kubekeeper
comes with a default configuration that fits all normal usages of kubectl
. It can be installed by just
creating a kubekeeper
file into your path:
# Download the latest version of kubekeeper
git clone https://github.com/badouralix/kubekeeper.git
# Build kubekeeper
cd kubekeeper/
cargo build --release --bin kubekeeper
# Install kubekeeper
sudo install target/release/kubekeeper /usr/local/bin/kubekeeper
You may add the following lines to your .zshrc
to use kubekeeper
with all your existing aliases:
# kubekeeper completion must be added after kubectl completion
alias kubectl=kubekeeper
compdef kubekeeper=kubectl
Autocompletion is also available in other shells with:
# kubekeeper completion must be added after kubectl completion
complete -o default -F __start_kubectl kubekeeper
kubekeeper
is an invisible wrapper on top of kubectl
, and must therefore be used just like the latter.
kubekeeper
itself can be configured with the following environment variables:
Environment Variable | Description | Default |
---|---|---|
KUBEKEEPER_CHECK_INTERVAL |
Number of seconds without execution before asking for confirmation again | 900 |
KUBEKEEPER_DEBUG |
If set, runs in debug mode | unset |
KUBEKEEPER_PIDFILE |
Pidfile name | kubekeeper.pid |
Note that the pidfile is always located in the user temp folder (usually /tmp
on Linux, and
/var/folders/xx/xxx..xxx/T
on macOS).
Completion with kubectl-fzf
shows files and dirs
kubekeeper
integrates well with kubectl-fzf
. Make sure to define
completion in the right order:
source <(kubectl completion $SHELL)
source $GOPATH/src/github.com/bonnefoa/kubectl-fzf/kubectl_fzf.sh
complete -o default -F __start_kubectl kubekeeper
Unless expressly stated otherwise, all contents licensed under the MIT License.