From 688ab9d2fb0e4af9909d86bc8a9b9a4b43b3e8ec Mon Sep 17 00:00:00 2001 From: Tyler Watson Date: Thu, 29 Jun 2023 14:07:22 +1000 Subject: [PATCH] Entrypoint: support updating credentials --- entrypoint.sh | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 79da000..38805f3 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -8,33 +8,31 @@ if [ ! -d "$HOME/.kube" ]; then mkdir -p $HOME/.kube fi -if [ ! -f "$HOME/.kube/config" ]; then - if [ ! -z "${KUBE_CONFIG}" ]; then - echo "$KUBE_CONFIG" | base64 -d > $HOME/.kube/config - - if [ ! -z "${KUBE_CONTEXT}" ]; then - kubectl config use-context $KUBE_CONTEXT - fi - elif [ ! -z "${KUBE_HOST}" ]; then - echo "$KUBE_CERTIFICATE" | base64 -d > $HOME/.kube/certificate - kubectl config set-cluster default --server=https://$KUBE_HOST --certificate-authority=$HOME/.kube/certificate > /dev/null - - if [ ! -z "${KUBE_PASSWORD}" ]; then - kubectl config set-credentials cluster-admin --username=$KUBE_USERNAME --password=$KUBE_PASSWORD > /dev/null - elif [ ! -z "${KUBE_TOKEN}" ]; then - kubectl config set-credentials cluster-admin --token="${KUBE_TOKEN}" > /dev/null - else - echo "No credentials found. Please provide KUBE_TOKEN, or KUBE_USERNAME and KUBE_PASSWORD. Exiting..." - exit 1 - fi - - kubectl config set-context default --cluster=default --namespace=default --user=cluster-admin > /dev/null - kubectl config use-context default > /dev/null - elif [[ $* == "kustomize" ]]; then :; +if [ ! -z "${KUBE_CONFIG}" ]; then + echo "$KUBE_CONFIG" | base64 -d > $HOME/.kube/config + + if [ ! -z "${KUBE_CONTEXT}" ]; then + kubectl config use-context $KUBE_CONTEXT + fi +elif [ ! -z "${KUBE_HOST}" ]; then + echo "$KUBE_CERTIFICATE" | base64 -d > $HOME/.kube/certificate + kubectl config set-cluster default --server=https://$KUBE_HOST --certificate-authority=$HOME/.kube/certificate > /dev/null + + if [ ! -z "${KUBE_PASSWORD}" ]; then + kubectl config set-credentials cluster-admin --username=$KUBE_USERNAME --password=$KUBE_PASSWORD > /dev/null + elif [ ! -z "${KUBE_TOKEN}" ]; then + kubectl config set-credentials cluster-admin --token="${KUBE_TOKEN}" > /dev/null else - echo "No authorization data found. Please provide KUBE_CONFIG or KUBE_HOST variables. Exiting..." + echo "No credentials found. Please provide KUBE_TOKEN, or KUBE_USERNAME and KUBE_PASSWORD. Exiting..." exit 1 fi + + kubectl config set-context default --cluster=default --namespace=default --user=cluster-admin > /dev/null + kubectl config use-context default > /dev/null +elif [[ $* == "kustomize" ]]; then :; +else + echo "No authorization data found. Please provide KUBE_CONFIG or KUBE_HOST variables. Exiting..." + exit 1 fi if [ -z "$dest" ]; then