diff --git a/bash/sources/17_kcontext b/bash/sources/17_kcontext index a104fa5..e1e9eaa 100644 --- a/bash/sources/17_kcontext +++ b/bash/sources/17_kcontext @@ -124,12 +124,17 @@ function _kcontext-k8s { KUBECONFIG="$_TMP_CONF" kubectl config view --minify --flatten \ | kstore update "kcontext" - "k8s.$_NAME" + else + KUBECONFIG="$_TMP_CONF" kubectl config view --minify --flatten \ + | kstore add "kcontext" - "k8s.$_NAME" + fi + + if [ $? -eq 0 ]; then + _kcontext-k8s use "$_NAME" return $? fi - KUBECONFIG="$_TMP_CONF" kubectl config view --minify --flatten \ - | kstore add "kcontext" - "k8s.$_NAME" - return $? + return 1 ;; use) _NAME=$2 @@ -147,19 +152,23 @@ function _kcontext-k8s { chmod 600 "$_CONF" - echo $KUBECONFIG | grep "$_CONF" -q - case $OSTYPE in cygwin) - _CONF=$( cygpath -w "$_CONF" ) + _CONF=$(cygpath -w "$_CONF") ;; esac - if [ $? -eq 0 ]; then - export KUBECONFIG="$_CONF" - else - export KUBECONFIG="$_CONF:$KUBECONFIG" - fi + case ":$KUBECONFIG:" in + *":$_CONF:"*) + export KUBECONFIG="$_CONF" + ;; + "::") + export KUBECONFIG="$_CONF" + ;; + *) + export KUBECONFIG="$_CONF:$KUBECONFIG" + ;; + esac ;; del) _NAME=$2