summaryrefslogtreecommitdiff
path: root/plugins/kubectx
diff options
context:
space:
mode:
authorStanisław Szydło <st4nson@gmail.com>2021-06-13 17:23:13 +0200
committerGitHub <noreply@github.com>2021-06-13 08:23:13 -0700
commit5152d381bb828a4ed41fdbb430eb05970a8bb25c (patch)
treeab6cc49ab3ab9b7bd3b1f755dcedfe047666676b /plugins/kubectx
parentc65153739adc34b68ebf8b37dbd61dd845a55790 (diff)
downloadzsh-5152d381bb828a4ed41fdbb430eb05970a8bb25c.tar.gz
zsh-5152d381bb828a4ed41fdbb430eb05970a8bb25c.tar.bz2
zsh-5152d381bb828a4ed41fdbb430eb05970a8bb25c.zip
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>
Diffstat (limited to 'plugins/kubectx')
-rw-r--r--plugins/kubectx/README.md26
-rw-r--r--plugins/kubectx/kubectx.plugin.zsh14
-rw-r--r--plugins/kubectx/prod.pngbin0 -> 3834 bytes
-rw-r--r--plugins/kubectx/stage.pngbin0 -> 3829 bytes
4 files changed, 40 insertions, 0 deletions
diff --git a/plugins/kubectx/README.md b/plugins/kubectx/README.md
new file mode 100644
index 000000000..9a1df2617
--- /dev/null
+++ b/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/plugins/kubectx/kubectx.plugin.zsh b/plugins/kubectx/kubectx.plugin.zsh
new file mode 100644
index 000000000..56b7217f1
--- /dev/null
+++ b/plugins/kubectx/kubectx.plugin.zsh
@@ -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
+}
diff --git a/plugins/kubectx/prod.png b/plugins/kubectx/prod.png
new file mode 100644
index 000000000..0c194a66d
--- /dev/null
+++ b/plugins/kubectx/prod.png
Binary files differ
diff --git a/plugins/kubectx/stage.png b/plugins/kubectx/stage.png
new file mode 100644
index 000000000..ac15b3929
--- /dev/null
+++ b/plugins/kubectx/stage.png
Binary files differ