summaryrefslogtreecommitdiffstats
path: root/zsh/oh-my-zsh/plugins/kubectx
diff options
context:
space:
mode:
authorLibravatarLibravatar Biswakalyan Bhuyan <biswa@surgot.in> 2022-10-03 21:42:20 +0530
committerLibravatarLibravatar Biswakalyan Bhuyan <biswa@surgot.in> 2022-10-03 21:42:20 +0530
commitaf120ab348f2e1a5a39dec035ed9dcf84189a64e (patch)
tree2a3aadd7ce1b7b771dfe3fe7c983569726c8d7ed /zsh/oh-my-zsh/plugins/kubectx
downloaddotfiles-af120ab348f2e1a5a39dec035ed9dcf84189a64e.tar.gz
dotfiles-af120ab348f2e1a5a39dec035ed9dcf84189a64e.tar.bz2
dotfiles-af120ab348f2e1a5a39dec035ed9dcf84189a64e.zip
dotfiles
Diffstat (limited to 'zsh/oh-my-zsh/plugins/kubectx')
-rw-r--r--zsh/oh-my-zsh/plugins/kubectx/README.md26
-rw-r--r--zsh/oh-my-zsh/plugins/kubectx/kubectx.plugin.zsh13
-rw-r--r--zsh/oh-my-zsh/plugins/kubectx/prod.pngbin0 -> 3834 bytes
-rw-r--r--zsh/oh-my-zsh/plugins/kubectx/stage.pngbin0 -> 3829 bytes
4 files changed, 39 insertions, 0 deletions
diff --git a/zsh/oh-my-zsh/plugins/kubectx/README.md b/zsh/oh-my-zsh/plugins/kubectx/README.md
new file mode 100644
index 0000000..98f1cf0
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/kubectx/README.md
@@ -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)
diff --git a/zsh/oh-my-zsh/plugins/kubectx/kubectx.plugin.zsh b/zsh/oh-my-zsh/plugins/kubectx/kubectx.plugin.zsh
new file mode 100644
index 0000000..6096fee
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/kubectx/kubectx.plugin.zsh
@@ -0,0 +1,13 @@
+typeset -g -A kubectx_mapping
+
+function kubectx_prompt_info() {
+ (( $+commands[kubectl] )) || return
+
+ local current_ctx=$(kubectl config current-context 2> /dev/null)
+
+ [[ -n "$current_ctx" ]] || return
+
+ # use value in associative array if it exists
+ # otherwise fall back to the context name
+ echo "${kubectx_mapping[$current_ctx]:-${current_ctx:gs/%/%%}}"
+}
diff --git a/zsh/oh-my-zsh/plugins/kubectx/prod.png b/zsh/oh-my-zsh/plugins/kubectx/prod.png
new file mode 100644
index 0000000..0c194a6
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/kubectx/prod.png
Binary files differ
diff --git a/zsh/oh-my-zsh/plugins/kubectx/stage.png b/zsh/oh-my-zsh/plugins/kubectx/stage.png
new file mode 100644
index 0000000..ac15b39
--- /dev/null
+++ b/zsh/oh-my-zsh/plugins/kubectx/stage.png
Binary files differ