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>
This commit is contained in:
Stanisław Szydło 2021-06-13 17:23:13 +02:00 committed by GitHub
parent c65153739a
commit 5152d381bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 0 deletions

View File

@ -19,6 +19,7 @@ function chruby_prompt_info \
virtualenv_prompt_info \
jenv_prompt_info \
tf_prompt_info \
kubectx_prompt_info \
{
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