Skip to content

Instantly share code, notes, and snippets.

@nicolaballotta
Last active February 14, 2023 23:46
Show Gist options
  • Save nicolaballotta/cab3e389e5fb541222677e5b4ec90c7f to your computer and use it in GitHub Desktop.
Save nicolaballotta/cab3e389e5fb541222677e5b4ec90c7f to your computer and use it in GitHub Desktop.
Add Kubernetes context to your zsh prompt (for Agnoster theme, but can easily be adapted to different themes)
# INSTALLATION
# - Add the following function to your .oh-my-zsh/themes/agnoster.zsh-theme
# - Call prompt_kubecontext from build_prompt() as showed in the example below
#
#
# build_prompt() {
# prompt_kubecontext
# }
prompt_kubecontext() {
if [[ $(kubectl config current-context) == *"testing"* ]]; then
prompt_segment green black "(`kubectl config current-context`)"
elif [[ $(kubectl config current-context) == *"staging"* ]]; then
prompt_segment yellow black "(`kubectl config current-context`)"
elif [[ $(kubectl config current-context) == *"production"* ]]; then
prompt_segment red yellow "(`kubectl config current-context`)"
fi
}
@kushalgangan
Copy link

kushalgangan commented Jul 3, 2020

but if you have to modify the prompt kube-ps1 is not useful, you can use below :

prompt_kubecontext() {
CTX=$(kubectx -c)
CNS=$(kubens -c)
  if [[ $CTX == *"tooling"* ]]; then
        prompt_segment green black "${CTX}:${CNS}"
  elif [[ $CTX == *"nonprod"* ]]; then
        prompt_segment yellow black "${CTX}:${CNS}"
  elif [[ $CTX == *"prod"* ]]; then
        prompt_segment red yellow "${CTX}:${CNS}"
  fi
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment