microk8s.plugin.zsh
2966 bytes
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
28compdef _microk8s_enable microk8s.enable
29alias 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
43compdef _microk8s_disable microk8s.disable
44alias 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
58alias 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
72alias mh='microk8s.helm'
73
74# ---------------------------------------------------------- #
75# Other Aliases #
76# ---------------------------------------------------------- #
77alias mco='microk8s.config'
78alias mct='microk8s.ctr'
79alias mis='microk8s.istio'
80alias mst='microk8s.start'
81alias msts='microk8s.status'
82alias msp='microk8s.stop'