From c1380caa724f25d7ed69dfcdc1427cdb050dd205 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 3 Jan 2024 11:26:51 +0000 Subject: [PATCH 1/2] Deploy Scripts: - Removed wait loops while creating secrets for CockroachDB, NATS, or QuestDB - Added backward compatible condition as NATS client port changed name from "client" to "nats" --- deploy/nats.sh | 4 ++++ deploy/tfs.sh | 21 ++++----------------- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/deploy/nats.sh b/deploy/nats.sh index b730cec4a..418ef1a6f 100755 --- a/deploy/nats.sh +++ b/deploy/nats.sh @@ -81,6 +81,10 @@ function nats_deploy_single() { echo "NATS Port Mapping" echo ">>> Expose NATS Client port (4222->${NATS_EXT_PORT_CLIENT})" NATS_PORT_CLIENT=$(kubectl --namespace ${NATS_NAMESPACE} get service ${NATS_NAMESPACE} -o 'jsonpath={.spec.ports[?(@.name=="client")].port}') + if [ -z "$NATS_PORT_CLIENT" ]; then + # NATS charts updated and port name changed from "client" to "nats"; fix to support new name and enable backward compatibility + NATS_PORT_CLIENT=$(kubectl --namespace ${NATS_NAMESPACE} get service ${NATS_NAMESPACE} -o 'jsonpath={.spec.ports[?(@.name=="nats")].port}') + fi PATCH='{"data": {"'${NATS_EXT_PORT_CLIENT}'": "'${NATS_NAMESPACE}'/'${NATS_NAMESPACE}':'${NATS_PORT_CLIENT}'"}}' kubectl patch configmap nginx-ingress-tcp-microk8s-conf --namespace ingress --patch "${PATCH}" diff --git a/deploy/tfs.sh b/deploy/tfs.sh index d74097107..f6360eb20 100755 --- a/deploy/tfs.sh +++ b/deploy/tfs.sh @@ -137,11 +137,6 @@ printf "\n" echo "Create secret with CockroachDB data" CRDB_SQL_PORT=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') -while [ -z "$CRDB_SQL_PORT" ]; do - printf "%c" "." - sleep 1 - CRDB_SQL_PORT=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') -done kubectl create secret generic crdb-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \ --from-literal=CRDB_NAMESPACE=${CRDB_NAMESPACE} \ --from-literal=CRDB_SQL_PORT=${CRDB_SQL_PORT} \ @@ -153,11 +148,10 @@ printf "\n" echo "Create secret with NATS data" NATS_CLIENT_PORT=$(kubectl --namespace ${NATS_NAMESPACE} get service ${NATS_NAMESPACE} -o 'jsonpath={.spec.ports[?(@.name=="client")].port}') -while [ -z "$NATS_CLIENT_PORT" ]; do - printf "%c" "." - sleep 1 - NATS_CLIENT_PORT=$(kubectl --namespace ${NATS_NAMESPACE} get service ${NATS_NAMESPACE} -o 'jsonpath={.spec.ports[?(@.name=="client")].port}') -done +if [ -z "$NATS_CLIENT_PORT" ]; then + # NATS charts updated and port name changed from "client" to "nats"; fix to support new name and enable backward compatibility + NATS_CLIENT_PORT=$(kubectl --namespace ${NATS_NAMESPACE} get service ${NATS_NAMESPACE} -o 'jsonpath={.spec.ports[?(@.name=="nats")].port}') +fi kubectl create secret generic nats-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \ --from-literal=NATS_NAMESPACE=${NATS_NAMESPACE} \ --from-literal=NATS_CLIENT_PORT=${NATS_CLIENT_PORT} @@ -167,13 +161,6 @@ echo "Create secret with QuestDB data" QDB_HTTP_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') QDB_ILP_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="ilp")].port}') QDB_SQL_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') -while [ -z "$QDB_HTTP_PORT" ] || [ -z "$QDB_ILP_PORT" ] || [ -z "$QDB_SQL_PORT" ]; do - printf "%c" "." - sleep 1 - QDB_HTTP_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') - QDB_ILP_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="ilp")].port}') - QDB_SQL_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') -done METRICSDB_HOSTNAME="questdb-public.${QDB_NAMESPACE}.svc.cluster.local" kubectl create secret generic qdb-data --namespace ${TFS_K8S_NAMESPACE} --type='Opaque' \ --from-literal=QDB_NAMESPACE=${QDB_NAMESPACE} \ -- GitLab From 89d43657daa8a352c0a656a35f37dc46cc969bb0 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 3 Jan 2024 11:37:58 +0000 Subject: [PATCH 2/2] Deploy Scripts: - Added upgrade of NATS helm charts during (re-)deploy --- deploy/nats.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/deploy/nats.sh b/deploy/nats.sh index 418ef1a6f..004f67c44 100755 --- a/deploy/nats.sh +++ b/deploy/nats.sh @@ -47,6 +47,10 @@ function nats_deploy_single() { helm3 repo add nats https://nats-io.github.io/k8s/helm/charts/ echo + echo "Upgrade NATS Helm Chart" + helm3 repo update nats + echo + echo "Install NATS (single-node)" echo ">>> Checking if NATS is deployed..." if kubectl get --namespace ${NATS_NAMESPACE} statefulset/${NATS_NAMESPACE} &> /dev/null; then -- GitLab