mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-19 20:29:45 +01:00
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:
parent
c65153739a
commit
5152d381bb
5 changed files with 41 additions and 0 deletions
|
@ -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
26
plugins/kubectx/README.md
Normal 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)
|
14
plugins/kubectx/kubectx.plugin.zsh
Normal file
14
plugins/kubectx/kubectx.plugin.zsh
Normal 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
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
BIN
plugins/kubectx/stage.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
Loading…
Reference in a new issue