This script displays information about the kubectl current context and namespace in zsh prompt.
Clone this repository and source the kubectl.zsh from your ~/.zshrc config file, and configure your prompt.
autoload -U colors; colors
source /path/to/zsh-kubectl-prompt/kubectl.zsh
RPROMPT='%{$fg[blue]%}($ZSH_KUBECTL_PROMPT)%{$reset_color%}'Or create different style depending on user, context, namespace. The plugin creates 4 variables:
- ZSH_KUBECTL_CONTEXT
- ZSH_KUBECTL_NAMESPACE
- ZSH_KUBECTL_PROMPT
- ZSH_KUBECTL_USER
For example, make the prompt red when the username matches admin.
autoload -U colors; colors
source /path/to/zsh-kubectl-prompt/kubectl.zsh
function right_prompt() {
local color="blue"
if [[ "$ZSH_KUBECTL_USER" =~ "admin" ]]; then
color=red
fi
echo "%{$fg[$color]%}($ZSH_KUBECTL_PROMPT)%{$reset_color%}"
}
RPROMPT='$(right_prompt)'Also you can install with homebrew.
brew tap superbrothers/zsh-kubectl-prompt
brew install zsh-kubectl-promptChange the separator between context and namespace:
zstyle ':zsh-kubectl-prompt:' separator '|'Add custom character before the prompt:
zstyle ':zsh-kubectl-prompt:' preprompt '<'Add custom character after the prompt:
zstyle ':zsh-kubectl-prompt:' postprompt '>'Does not display the current namespace:
zstyle ':zsh-kubectl-prompt:' namespace falseUse another binary instead of kubectl to get the information (e.g. oc):
zstyle ':zsh-kubectl-prompt:' binary 'oc'If you use zgen, load this repository as follows:
source "${HOME}/.zgen/zgen.zsh"
# if the init script doesn't exist
if ! zgen saved; then
# specify plugins here
zgen load superbrothers/zsh-kubectl-prompt
# generate the init script from plugins above
zgen save
fi
autoload -U colors; colors
RPROMPT='%{$fg[blue]%}($ZSH_KUBECTL_PROMPT)%{$reset_color%}'If you use antigen, load this repository as follows:
source /path-to-antigen/antigen.zsh
# load this plugin
antigen bundle superbrothers/zsh-kubectl-prompt
# tell antigen that you're done.
antigen apply
autoload -U colors; colors
RPROMPT='%{$fg[blue]%}($ZSH_KUBECTL_PROMPT)%{$reset_color%}'If you use oh-my-zsh, load this repository as follows:
- Clone the repo into oh-my-zsh custom plugins folder
git clone https://github.com/superbrothers/zsh-kubectl-prompt.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-kubectl-prompt- Activate the plugin your
.zshrcby appending it to the plugin section
plugins=( [plugins...] zsh-kubectl-prompt)- Configure your prompt (or check how to customize the theme plugin you are using)
RPROMPT='%{$fg[blue]%}($ZSH_KUBECTL_PROMPT)%{$reset_color%}'Note: Remember to source the
.zshrcor restart your shell after step 2
This script is released under the MIT License.
