From 7c48f4e8956f64f9cb248af537d56de3e87e2057 Mon Sep 17 00:00:00 2001 From: Kevin Grossmann Date: Fri, 10 Dec 2021 10:02:51 +0100 Subject: [PATCH 1/2] Overwrite kube config if set as env var --- entrypoint.sh | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/entrypoint.sh b/entrypoint.sh index 5f987ab..357736f 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -6,36 +6,34 @@ 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_CONFIG}" ]; then - if [ ! -z "${KUBE_CONTEXT}" ]; then - kubectl config use-context $KUBE_CONTEXT - fi + echo "$KUBE_CONFIG" | base64 -d > $HOME/.kube/config - 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_CONTEXT}" ]; then + kubectl config use-context $KUBE_CONTEXT + fi - 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 +elif [ ! -z "${KUBE_HOST}" ]; then - kubectl config set-context default --cluster=default --namespace=default --user=cluster-admin > /dev/null - kubectl config use-context default > /dev/null + 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 + +if [ ! -f "$HOME/.kube/config" ]; then + echo "No authorization data found. Please provide KUBE_CONFIG or KUBE_HOST variables. Exiting..." + exit 1 fi echo "/usr/local/bin/kubectl" >> $GITHUB_PATH From 2e4bfece09a0e30450e1390efb3aa0983e2c3707 Mon Sep 17 00:00:00 2001 From: Kevin Grossmann Date: Fri, 10 Dec 2021 11:22:21 +0100 Subject: [PATCH 2/2] Fix elif --- entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entrypoint.sh b/entrypoint.sh index 357736f..7ac0603 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -31,7 +31,7 @@ elif [ ! -z "${KUBE_HOST}" ]; then kubectl config set-context default --cluster=default --namespace=default --user=cluster-admin > /dev/null kubectl config use-context default > /dev/null -if [ ! -f "$HOME/.kube/config" ]; then +elif [ ! -f "$HOME/.kube/config" ]; then echo "No authorization data found. Please provide KUBE_CONFIG or KUBE_HOST variables. Exiting..." exit 1 fi