Very short but useful post about how to display the current Kubernetes namespace on the bash command prompt. I got used add an -n <namespace-name> when I execute an oc command but it is still very useful to get the current namespace displayed on the command prompt especially when troubleshooting issues to not get lost in the different platform namespaces.
Create new file ~/.oc-prompt.sh in your users home folder.
#!/bin/bash __oc_ps1() { # Get current context CONTEXT=$(cat ~/.kube/config 2>/dev/null| grep -o '^current-context: [^/]*' | cut -d' ' -f2) if [ -n "$CONTEXT" ]; then echo "(ocp:${CONTEXT})" fi }
Add the following lines at the end of the ~/.bashrc and re-connect your terminal session.
NORMAL="\[\033[00m\]" BLUE="\[\033[01;34m\]" YELLOW="\[\e[1;33m\]" GREEN="\[\e[1;32m\]" export PS1="${BLUE}\W ${GREEN}\u${YELLOW}\$(__oc_ps1)${NORMAL} \$ " source ~/.oc-prompt.sh
The example bash prompt showing the current OpenShift/Kubernetes namespace:
Very useful when you need to administrate a cluster with multiple namespace.