#!/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 } kubernetes_configs function kc(){ # print all kubernetes contexts kubectl config get-contexts } function kuc(){ # use kubernetes context kubectl config use-context "$1" } #bash completion for function kuc if [[ $(command -v kubectl) ]];then complete -W "$(kubectl config get-contexts -o name)" kuc fi