feat(kubectx): adding a new plugin for 'kubectx' (#6114)

Co-authored-by: Marc Cornellà <marc.cornella@live.com>
Co-authored-by: Robby Russell <robby@planetargon.com>
master
Stanisław Szydło 5 years ago committed by GitHub
parent c65153739a
commit 5152d381bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      lib/prompt_info_functions.zsh
  2. 26
      plugins/kubectx/README.md
  3. 14
      plugins/kubectx/kubectx.plugin.zsh
  4. BIN
      plugins/kubectx/prod.png
  5. BIN
      plugins/kubectx/stage.png

@ -19,6 +19,7 @@ function chruby_prompt_info \
virtualenv_prompt_info \
jenv_prompt_info \
tf_prompt_info \
kubectx_prompt_info \
{
return 1
}

@ -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)

@ -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
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Loading…
Cancel
Save