]> src.twobees.de Git - dotfiles.git/blob - stow/oh-my-zsh/.oh-my-zsh/plugins/microk8s/microk8s.plugin.zsh
048a9ab835bc8483c7fb4da5b0989e3d6237a078
[dotfiles.git] / stow / oh-my-zsh / .oh-my-zsh / plugins / microk8s / microk8s.plugin.zsh
1 # ---------------------------------------------------------- #
2 # Aliases and Completions for MicroK8s (https://microk8s.io) #
3 # Author: Shaun Tabone (https://github.com/xontab)           #
4 # ---------------------------------------------------------- #
5
6 # Helper function to cache and load completions
7 _microk8s_cache_completion() {
8   local cache="${ZSH_CACHE_DIR}/microk8s_$(echo $1)_completion"
9   if [[ ! -f $cache ]]; then
10     $2 $cache
11   fi
12
13   [[ -f $cache ]] && source $cache
14 }
15
16 # ---------------------------------------------------------- #
17 # microk8s.enable                                            #
18 # ALIAS: me                                                  #
19 # ---------------------------------------------------------- #
20 _microk8s_enable_get_command_list() {
21   microk8s.enable --help | tail -n +7 | awk '{$1=$1;print}'
22 }
23
24 _microk8s_enable() {
25    compadd -X "MicroK8s Addons" $(_microk8s_enable_get_command_list)
26 }
27
28 compdef _microk8s_enable microk8s.enable
29 alias me='microk8s.enable'
30
31 # ---------------------------------------------------------- #
32 # microk8s.disable                                           #
33 # ALIAS: mdi                                                 #
34 # ---------------------------------------------------------- #
35 _microk8s_disable_get_command_list() {
36   microk8s.disable --help | tail -n +7 | awk '{$1=$1;print}'
37 }
38
39 _microk8s_disable() {
40   compadd -X "MicroK8s Addons" $(_microk8s_disable_get_command_list)
41 }
42
43 compdef _microk8s_disable microk8s.disable
44 alias mdi='microk8s.disable'
45
46 # ---------------------------------------------------------- #
47 # microk8s.kubectl                                           #
48 # ALIAS: mk                                                  #
49 # ---------------------------------------------------------- #
50 _microk8s_kubectl_completion() {
51   if [ $commands[microk8s.kubectl] ]; then
52     microk8s.kubectl 2>/dev/null >/dev/null && microk8s.kubectl completion zsh | sed 's/__start_kubectl kubectl/__start_kubectl microk8s.kubectl/g' >$1
53   fi
54 }
55
56 _microk8s_cache_completion 'kubectl' _microk8s_kubectl_completion
57
58 alias mk='microk8s.kubectl'
59
60 # ---------------------------------------------------------- #
61 # microk8s.helm                                              #
62 # ALIAS: mh                                                  #
63 # ---------------------------------------------------------- #
64 _microk8s_helm_completion() {
65   if [ $commands[microk8s.helm] ]; then
66     microk8s.helm completion zsh | sed 's/__start_helm helm/__start_helm microk8s.helm/g' >$1
67   fi
68 }
69
70 _microk8s_cache_completion 'helm' _microk8s_helm_completion
71
72 alias mh='microk8s.helm'
73
74 # ---------------------------------------------------------- #
75 # Other Aliases                                              #
76 # ---------------------------------------------------------- #
77 alias mco='microk8s.config'
78 alias mct='microk8s.ctr'
79 alias mis='microk8s.istio'
80 alias mst='microk8s.start'
81 alias msts='microk8s.status'
82 alias msp='microk8s.stop'