From 852d6021ee7195b277589d3b47afcee6b675bf95 Mon Sep 17 00:00:00 2001 From: Paolo Mainardi Date: Mon, 25 Nov 2024 16:08:05 +0100 Subject: [PATCH 1/5] feat: create NS only if needed --- scripts/src/functions.bash | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/src/functions.bash b/scripts/src/functions.bash index 8b7c8549..aaa56127 100644 --- a/scripts/src/functions.bash +++ b/scripts/src/functions.bash @@ -97,7 +97,11 @@ prepare-namespace() { exit 1 fi echo "Current KUBE_NAMESPACE=${KUBE_NAMESPACE}" - kubectl create ns "$KUBE_NAMESPACE" || true + if ! kubectl get ns "$KUBE_NAMESPACE" >/dev/null 2>&1; then + kubectl create ns "$KUBE_NAMESPACE" + else + echo "Namespace $KUBE_NAMESPACE already exists." + end } create-ns-and-developer-role-bindings() { From 331724d106c3971b21b5708558ddb71106ebecd9 Mon Sep 17 00:00:00 2001 From: Paolo Mainardi Date: Mon, 25 Nov 2024 16:16:14 +0100 Subject: [PATCH 2/5] fix: typo --- scripts/src/functions.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/src/functions.bash b/scripts/src/functions.bash index aaa56127..beb0d74d 100644 --- a/scripts/src/functions.bash +++ b/scripts/src/functions.bash @@ -101,7 +101,7 @@ prepare-namespace() { kubectl create ns "$KUBE_NAMESPACE" else echo "Namespace $KUBE_NAMESPACE already exists." - end + fi } create-ns-and-developer-role-bindings() { From 43526c0fda26d4c824b7788439423aed269667c9 Mon Sep 17 00:00:00 2001 From: Paolo Mainardi Date: Mon, 25 Nov 2024 16:18:57 +0100 Subject: [PATCH 3/5] fix: review --- scripts/src/functions.bash | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/src/functions.bash b/scripts/src/functions.bash index beb0d74d..181c0eb4 100644 --- a/scripts/src/functions.bash +++ b/scripts/src/functions.bash @@ -96,9 +96,12 @@ prepare-namespace() { echo "KUBE_NAMESPACE is missing." exit 1 fi - echo "Current KUBE_NAMESPACE=${KUBE_NAMESPACE}" + echo "Namespace \"$KUBE_NAMESPACE\" already exists." if ! kubectl get ns "$KUBE_NAMESPACE" >/dev/null 2>&1; then - kubectl create ns "$KUBE_NAMESPACE" + if ! kubectl create ns "$KUBE_NAMESPACE"; then + echo "Failed to create namespace $KUBE_NAMESPACE" + exit 1 + fi else echo "Namespace $KUBE_NAMESPACE already exists." fi From c0ac49c6c06997c8a10c72956f5522eb543f5e07 Mon Sep 17 00:00:00 2001 From: Paolo Mainardi Date: Mon, 25 Nov 2024 16:20:29 +0100 Subject: [PATCH 4/5] fix: review --- scripts/src/functions.bash | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/src/functions.bash b/scripts/src/functions.bash index 181c0eb4..693c4d29 100644 --- a/scripts/src/functions.bash +++ b/scripts/src/functions.bash @@ -96,14 +96,14 @@ prepare-namespace() { echo "KUBE_NAMESPACE is missing." exit 1 fi - echo "Namespace \"$KUBE_NAMESPACE\" already exists." + echo "Current KUBE_NAMESPACE=${KUBE_NAMESPACE}" if ! kubectl get ns "$KUBE_NAMESPACE" >/dev/null 2>&1; then if ! kubectl create ns "$KUBE_NAMESPACE"; then echo "Failed to create namespace $KUBE_NAMESPACE" exit 1 fi else - echo "Namespace $KUBE_NAMESPACE already exists." + echo "Namespace \"$KUBE_NAMESPACE\" already exists." fi } From 31bb8eb1bf72cea4883f3fac1da67e53c8cda0cf Mon Sep 17 00:00:00 2001 From: Paolo Mainardi Date: Mon, 25 Nov 2024 16:23:58 +0100 Subject: [PATCH 5/5] feat: add can-i get to raise potential auth issues --- scripts/src/functions.bash | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scripts/src/functions.bash b/scripts/src/functions.bash index 693c4d29..0b4210d2 100644 --- a/scripts/src/functions.bash +++ b/scripts/src/functions.bash @@ -92,14 +92,18 @@ ping_kube() { } prepare-namespace() { - if [ -z "${KUBE_NAMESPACE}" ]; then + if [[ -z "${KUBE_NAMESPACE}" ]]; then echo "KUBE_NAMESPACE is missing." exit 1 fi echo "Current KUBE_NAMESPACE=${KUBE_NAMESPACE}" if ! kubectl get ns "$KUBE_NAMESPACE" >/dev/null 2>&1; then + if ! kubectl auth can-i get namespace >/dev/null 2>&1; then + echo "Failed to check namespace: cluster connection or permissions issue" + exit 1 + fi if ! kubectl create ns "$KUBE_NAMESPACE"; then - echo "Failed to create namespace $KUBE_NAMESPACE" + echo "Failed to create namespace \"${KUBE_NAMESPACE}\"" exit 1 fi else