2021-06-13 17:23:13 +02:00
|
|
|
# kubectx - show active kubectl context
|
|
|
|
|
2024-08-01 10:00:58 +02:00
|
|
|
This plugins adds `kubectx_prompt_info()` function. It shows name of the active
|
|
|
|
kubectl context (`kubectl config current-context`).
|
2021-06-13 17:23:13 +02:00
|
|
|
|
|
|
|
You can use it to customize prompt and know if You are on prod cluster ;)
|
|
|
|
|
2024-08-01 10:00:58 +02:00
|
|
|
To use this plugin, add `kubectx` to the plugins array in your zshrc file:
|
2021-06-13 17:23:13 +02:00
|
|
|
|
2024-08-01 10:00:58 +02:00
|
|
|
```zsh
|
|
|
|
plugins=(... kubectx)
|
2021-06-13 17:23:13 +02:00
|
|
|
```
|
2024-08-01 10:00:58 +02:00
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
|
|
|
Add to **.zshrc**:
|
|
|
|
|
|
|
|
```zsh
|
|
|
|
# right prompt
|
2021-06-13 17:23:13 +02:00
|
|
|
RPS1='$(kubectx_prompt_info)'
|
2024-08-01 10:00:58 +02:00
|
|
|
# left prompt
|
|
|
|
PROMPT="$PROMPT"'$(kubectx_prompt_info)'
|
2021-06-13 17:23:13 +02:00
|
|
|
```
|
|
|
|
|
2024-08-01 10:00:58 +02:00
|
|
|
### Custom context names
|
2021-06-13 17:23:13 +02:00
|
|
|
|
2024-08-01 10:00:58 +02:00
|
|
|
You can rename the default context name for better readability or additional formatting.
|
|
|
|
These values accept [prompt expansion sequences](http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html)
|
|
|
|
such as `%F{color}`, `%f`, `%K{color}`, `%k`, `%B`, `%b`, `%U`, `%u`, `%S`, `%s`, `%{...%}`.
|
2021-06-13 17:23:13 +02:00
|
|
|
|
2024-08-01 10:00:58 +02:00
|
|
|
**Example**: add this to your .zshrc file:
|
|
|
|
|
|
|
|
```zsh
|
|
|
|
kubectx_mapping[minikube]="mini"
|
|
|
|
kubectx_mapping[context_name_from_kubeconfig]="$emoji[wolf_face]"
|
|
|
|
kubectx_mapping[production_cluster]="%{$fg[yellow]%}prod!%{$reset_color%}"
|
|
|
|
# contexts with spaces
|
|
|
|
kubectx_mapping[context\ with\ spaces]="%F{red}spaces%f"
|
|
|
|
# don't use quotes as it will break the prompt
|
|
|
|
kubectx_mapping["context with spaces"]="%F{red}spaces%f" # ti
|
2021-06-13 17:23:13 +02:00
|
|
|
```
|
2024-08-01 10:00:58 +02:00
|
|
|
|
|
|
|
You can also define the whole mapping array at once:
|
|
|
|
|
|
|
|
```zsh
|
|
|
|
typeset -A kubectx_mapping
|
|
|
|
kubectx_mapping=(
|
|
|
|
minikube "mini"
|
|
|
|
context_name_from_kubeconfig "$emoji[wolf_face]"
|
|
|
|
production_cluster "%{$fg[yellow]%}prod!%{$reset_color%}"
|
|
|
|
"context with spaces" "%F{red}spaces%f"
|
|
|
|
)
|
2021-06-13 17:23:13 +02:00
|
|
|
```
|
|
|
|
|
|
|
|
![staging](stage.png)
|
|
|
|
![production](prod.png)
|