mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-21 21:30:09 +00: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 \
|
virtualenv_prompt_info \
|
||||||
jenv_prompt_info \
|
jenv_prompt_info \
|
||||||
tf_prompt_info \
|
tf_prompt_info \
|
||||||
|
kubectx_prompt_info \
|
||||||
{
|
{
|
||||||
return 1
|
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