Add 'kubectx' plugin.

This commit is contained in:
Stanislaw Szydlo 2017-05-28 12:13:56 +02:00
parent 291e96dcd0
commit c96b477692
5 changed files with 41 additions and 1 deletions

View File

@ -12,7 +12,7 @@
# Real implementations will be used when the respective plugins are loaded # Real implementations will be used when the respective plugins are loaded
function chruby_prompt_info hg_prompt_info pyenv_prompt_info \ function chruby_prompt_info hg_prompt_info pyenv_prompt_info \
rbenv_prompt_info svn_prompt_info vi_mode_prompt_info \ rbenv_prompt_info svn_prompt_info vi_mode_prompt_info \
virtualenv_prompt_info { virtualenv_prompt_info kubectx_prompt_info {
return 1 return 1
} }

26
plugins/kubectx/README.md Normal file
View File

@ -0,0 +1,26 @@
# 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 ;)
_Example_. Add to **.zshrc**:
```
RPS1='$(kubectx_prompt_info)'
```
### custom ctx names
One can rename default context name for better readability.
_Example_. Add to **.zshrc**:
```
kubectx_mapping[minikube] = "mini"
kubectx_mapping[context_name_from_kubeconfig]="$emoji[wolf_face]"
kubectx_mapping[production_cluster]="%{$fg[yellow]%}prod!%{$reset_color%}"
```
![staging](stage.png)
![production](prod.png)

View File

@ -0,0 +1,14 @@
typeset -A kubectx_mapping
function kubectx_prompt_info() {
if [ $commands[kubectl] ]; then
local current_ctx=`kubectl config current-context`
#if associative array declared
if [[ -n $kubectx_mapping ]]; then
echo "${kubectx_mapping[$current_ctx]}"
else
echo $current_ctx
fi
fi
}

BIN
plugins/kubectx/prod.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
plugins/kubectx/stage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB