2021-11-12 09:24:56 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
function kubernetes_configs(){
|
|
|
|
# set KUBECONFIG to default kubeconfig and all *.yaml files in .kube
|
|
|
|
local KUBE_CONFIG_DEFAULT="$HOME/.kube/config"
|
|
|
|
local KUBE_CONFIG_DIR="$HOME/.kube"
|
|
|
|
local KUBE_CONFIG_EXTENTION="*.yaml"
|
|
|
|
if [[ -f "${KUBE_CONFIG_DEFAULT}" ]];then
|
|
|
|
export KUBECONFIG="$KUBE_CONFIG_DEFAULT"
|
|
|
|
fi
|
|
|
|
[[ -d "${KUBE_CONFIG_DIR}" ]] || mkdir -p "${KUBE_CONFIG_DIR}"
|
|
|
|
# shellcheck disable=SC2044
|
|
|
|
for file in $(find "${KUBE_CONFIG_DIR}" -type f -name "$KUBE_CONFIG_EXTENTION"); do
|
|
|
|
export KUBECONFIG="$file:$KUBECONFIG"
|
|
|
|
done
|
2021-11-12 12:00:12 +00:00
|
|
|
if [[ $(command -v kubectl) ]];then
|
|
|
|
complete -W "$(kubectl config get-contexts -o name)" kuc
|
|
|
|
fi
|
2021-11-12 09:24:56 +00:00
|
|
|
}
|
|
|
|
kubernetes_configs
|
2021-11-12 10:36:09 +00:00
|
|
|
|
|
|
|
function kc(){
|
|
|
|
# print all kubernetes contexts
|
|
|
|
kubectl config get-contexts
|
|
|
|
}
|
|
|
|
|
|
|
|
function kuc(){
|
|
|
|
# use kubernetes context <param>
|
|
|
|
kubectl config use-context "$1"
|
|
|
|
}
|
2021-11-12 12:34:58 +00:00
|
|
|
|
|
|
|
function k(){
|
|
|
|
kubectl "$@"
|
|
|
|
}
|
|
|
|
[[ $(type -t __start_kubectl) == function ]] && complete -o default -F __start_kubectl k
|