summaryrefslogtreecommitdiff
path: root/plugins/kubectl/kubectl.plugin.zsh
diff options
context:
space:
mode:
authorKozlov Alexander <badryke@gmail.com>2018-11-16 13:38:43 +0300
committerGitHub <noreply@github.com>2018-11-16 13:38:43 +0300
commit8c95c52353118643ac3dbd9b0c185a3129b84bf8 (patch)
treeee7497251b7a541480ae5c6a97b63b14381ed5ee /plugins/kubectl/kubectl.plugin.zsh
parentdd30cf104c9ca42d89d26a134382ca421869ce7e (diff)
parent3d8f2bda599c8c6d160dc448e5ab28aaf2d5e90d (diff)
downloadzsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.gz
zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.tar.bz2
zsh-8c95c52353118643ac3dbd9b0c185a3129b84bf8.zip
Merge branch 'master' into master
Diffstat (limited to 'plugins/kubectl/kubectl.plugin.zsh')
-rw-r--r--plugins/kubectl/kubectl.plugin.zsh121
1 files changed, 89 insertions, 32 deletions
diff --git a/plugins/kubectl/kubectl.plugin.zsh b/plugins/kubectl/kubectl.plugin.zsh
index 3c6e8045c..c8fd5b19f 100644
--- a/plugins/kubectl/kubectl.plugin.zsh
+++ b/plugins/kubectl/kubectl.plugin.zsh
@@ -1,51 +1,108 @@
-# Autocompletion for kubectl, the command line interface for Kubernetes
-#
-# Author: https://github.com/pstadler
+if (( $+commands[kubectl] )); then
+ __KUBECTL_COMPLETION_FILE="${ZSH_CACHE_DIR}/kubectl_completion"
-if [ $commands[kubectl] ]; then
- source <(kubectl completion zsh)
+ if [[ ! -f $__KUBECTL_COMPLETION_FILE ]]; then
+ kubectl completion zsh >! $__KUBECTL_COMPLETION_FILE
+ fi
+
+ [[ -f $__KUBECTL_COMPLETION_FILE ]] && source $__KUBECTL_COMPLETION_FILE
+
+ unset __KUBECTL_COMPLETION_FILE
fi
-# This command is used ALOT both below and in daily life
+# This command is used a LOT both below and in daily life
alias k=kubectl
+# Apply a YML file
+alias kaf='kubectl apply -f'
+
# Drop into an interactive terminal on a container
-alias keti='k exec -ti'
+alias keti='kubectl exec -ti'
# Manage configuration quickly to switch contexts between local, dev ad staging.
-alias kcuc='k config use-context'
-alias kcsc='k config set-context'
-alias kcdc='k config delete-context'
-alias kccc='k config current-context'
+alias kcuc='kubectl config use-context'
+alias kcsc='kubectl config set-context'
+alias kcdc='kubectl config delete-context'
+alias kccc='kubectl config current-context'
+
+# General aliases
+alias kdel='kubectl delete'
+alias kdelf='kubectl delete -f'
# Pod management.
-alias kgp='k get pods'
-alias klp='k logs pods'
-alias kep='k edit pods'
-alias kdp='k describe pods'
-alias kdelp='k delete pods'
+alias kgp='kubectl get pods'
+alias kgpw='kgp --watch'
+alias kgpwide='kgp -o wide'
+alias kep='kubectl edit pods'
+alias kdp='kubectl describe pods'
+alias kdelp='kubectl delete pods'
alias kgpall='k get pods --all-namespaces -o wide'
+# get pod by label: kgpl "app=myapp" -n myns
+alias kgpl='kgp -l'
+
# Service management.
-alias kgs='k get svc'
-alias kes='k edit svc'
-alias kds='k describe svc'
-alias kdels='k delete svc'
+alias kgs='kubectl get svc'
+alias kgsw='kgs --watch'
+alias kgswide='kgs -o wide'
+alias kes='kubectl edit svc'
+alias kds='kubectl describe svc'
+alias kdels='kubectl delete svc'
+
+# Ingress management
+alias kgi='kubectl get ingress'
+alias kei='kubectl edit ingress'
+alias kdi='kubectl describe ingress'
+alias kdeli='kubectl delete ingress'
+
+# Namespace management
+alias kgns='kubectl get namespaces'
+alias kens='kubectl edit namespace'
+alias kdns='kubectl describe namespace'
+alias kdelns='kubectl delete namespace'
+
+# ConfigMap management
+alias kgcm='kubectl get configmaps'
+alias kecm='kubectl edit configmap'
+alias kdcm='kubectl describe configmap'
+alias kdelcm='kubectl delete configmap'
# Secret management
-alias kgsec='k get secret'
-alias kdsec='k describe secret'
-alias kdelsec='k delete secret'
+alias kgsec='kubectl get secret'
+alias kdsec='kubectl describe secret'
+alias kdelsec='kubectl delete secret'
# Deployment management.
-alias kgd='k get deployment'
-alias ked='k edit deployment'
-alias kdd='k describe deployment'
-alias kdeld='k delete deployment'
-alias ksd='k scale deployment'
-alias krsd='k rollout status deployment'
+alias kgd='kubectl get deployment'
+alias kgdw='kgd --watch'
+alias kgdwide='kgd -o wide'
+alias ked='kubectl edit deployment'
+alias kdd='kubectl describe deployment'
+alias kdeld='kubectl delete deployment'
+alias ksd='kubectl scale deployment'
+alias krsd='kubectl rollout status deployment'
# Rollout management.
-alias kgrs='k get rs'
-alias krh='k rollout history'
-alias kru='k rollout undo'
+alias kgrs='kubectl get rs'
+alias krh='kubectl rollout history'
+alias kru='kubectl rollout undo'
+
+# Port forwarding
+alias kpf="kubectl port-forward"
+
+# Tools for accessing all information
+alias kga='kubectl get all'
+alias kgaa='kubectl get all --all-namespaces'
+
+# Logs
+alias kl='kubectl logs'
+alias klf='kubectl logs -f'
+
+# File copy
+alias kcp='kubectl cp'
+
+# Node Management
+alias kgno='kubectl get nodes'
+alias keno='kubectl edit node'
+alias kdno='kubectl describe node'
+alias kdelno='kubectl delete node'