ohmyzsh/plugins/kubectx
ImgBotApp f4614da3b6 [ImgBot] Optimize images
*Total -- 1,425.84kb -> 1,146.04kb (19.62%)

/plugins/kubectx/prod.png -- 3.74kb -> 2.29kb (38.71%)
/plugins/kubectx/stage.png -- 3.74kb -> 2.35kb (37.16%)
/plugins/zsh-navigation-tools/doc/img/n-history2.png -- 105.78kb -> 70.81kb (33.05%)
/plugins/localstack/sqs-send-result.png -- 69.00kb -> 55.75kb (19.21%)
/plugins/z/img/demo.gif -- 1,241.72kb -> 1,012.99kb (18.42%)
/plugins/z/img/zsh_4.3.11_plus.svg -- 0.93kb -> 0.93kb (0.11%)
/plugins/z/img/mit_license.svg -- 0.93kb -> 0.93kb (0.11%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
2025-01-28 20:50:19 -08:00
..
README.md fix(kubectx): fix display of k8s contexts without double quotes (#12534) 2024-08-01 10:00:58 +02:00
kubectx.plugin.zsh fix(kubectx): fix display of k8s contexts without double quotes (#12534) 2024-08-01 10:00:58 +02:00
prod.png [ImgBot] Optimize images 2025-01-28 20:50:19 -08:00
stage.png [ImgBot] Optimize images 2025-01-28 20:50:19 -08:00

README.md

kubectx - show active kubectl context

This plugins adds kubectx_prompt_info() function. It shows name of the active kubectl context (kubectl config current-context).

You can use it to customize prompt and know if You are on prod cluster ;)

To use this plugin, add kubectx to the plugins array in your zshrc file:

plugins=(... kubectx)

Usage

Add to .zshrc:

# right prompt
RPS1='$(kubectx_prompt_info)'
# left prompt
PROMPT="$PROMPT"'$(kubectx_prompt_info)'

Custom context names

You can rename the default context name for better readability or additional formatting. These values accept prompt expansion sequences such as %F{color}, %f, %K{color}, %k, %B, %b, %U, %u, %S, %s, %{...%}.

Example: add this to your .zshrc file:

kubectx_mapping[minikube]="mini"
kubectx_mapping[context_name_from_kubeconfig]="$emoji[wolf_face]"
kubectx_mapping[production_cluster]="%{$fg[yellow]%}prod!%{$reset_color%}"
# contexts with spaces
kubectx_mapping[context\ with\ spaces]="%F{red}spaces%f"
# don't use quotes as it will break the prompt
kubectx_mapping["context with spaces"]="%F{red}spaces%f" # ti

You can also define the whole mapping array at once:

typeset -A kubectx_mapping
kubectx_mapping=(
  minikube                      "mini"
  context_name_from_kubeconfig  "$emoji[wolf_face]"
  production_cluster            "%{$fg[yellow]%}prod!%{$reset_color%}"
  "context with spaces"         "%F{red}spaces%f"
)

staging production