1 # ---------------------------------------------------------- #
2 # Aliases and Completions for MicroK8s (https://microk8s.io) #
3 # Author: Shaun Tabone (https://github.com/xontab) #
4 # ---------------------------------------------------------- #
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
13 [[ -f $cache ]] && source $cache
16 # ---------------------------------------------------------- #
19 # ---------------------------------------------------------- #
20 _microk8s_enable_get_command_list() {
21 microk8s.enable --help | tail -n +7 | awk '{$1=$1;print}'
25 compadd -X "MicroK8s Addons" $(_microk8s_enable_get_command_list)
28 compdef _microk8s_enable microk8s.enable
29 alias me='microk8s.enable'
31 # ---------------------------------------------------------- #
34 # ---------------------------------------------------------- #
35 _microk8s_disable_get_command_list() {
36 microk8s.disable --help | tail -n +7 | awk '{$1=$1;print}'
40 compadd -X "MicroK8s Addons" $(_microk8s_disable_get_command_list)
43 compdef _microk8s_disable microk8s.disable
44 alias mdi='microk8s.disable'
46 # ---------------------------------------------------------- #
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
56 _microk8s_cache_completion 'kubectl' _microk8s_kubectl_completion
58 alias mk='microk8s.kubectl'
60 # ---------------------------------------------------------- #
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
70 _microk8s_cache_completion 'helm' _microk8s_helm_completion
72 alias mh='microk8s.helm'
74 # ---------------------------------------------------------- #
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'