diff --git a/deploy/expose_dashboard.sh b/deploy/expose_dashboard.sh index 60b41c7b75d4f96a22151b1d4d68ba53c75a265c..65f715cabe6d688eb01dc5ae6afe7a21261aca94 100755 --- a/deploy/expose_dashboard.sh +++ b/deploy/expose_dashboard.sh @@ -29,11 +29,13 @@ export GRAF_EXT_PORT_HTTP=${GRAF_EXT_PORT_HTTP:-"3000"} # Automated steps start here ######################################################################################################################## +MONITORING_NAMESPACE="monitoring" + function expose_dashboard() { echo "Prometheus Port Mapping" echo ">>> Expose Prometheus HTTP Mgmt GUI port (9090->${PROM_EXT_PORT_HTTP})" - PROM_PORT_HTTP=$(kubectl --namespace monitoring get service prometheus-k8s -o 'jsonpath={.spec.ports[?(@.name=="web")].port}') - PATCH='{"data": {"'${PROM_EXT_PORT_HTTP}'": "monitoring/prometheus-k8s:'${PROM_PORT_HTTP}'"}}' + PROM_PORT_HTTP=$(kubectl --namespace ${MONITORING_NAMESPACE} get service prometheus-k8s -o 'jsonpath={.spec.ports[?(@.name=="web")].port}') + PATCH='{"data": {"'${PROM_EXT_PORT_HTTP}'": "'${MONITORING_NAMESPACE}'/prometheus-k8s:'${PROM_PORT_HTTP}'"}}' kubectl patch configmap nginx-ingress-tcp-microk8s-conf --namespace ingress --patch "${PATCH}" PORT_MAP='{"containerPort": '${PROM_EXT_PORT_HTTP}', "hostPort": '${PROM_EXT_PORT_HTTP}'}' @@ -44,8 +46,8 @@ function expose_dashboard() { echo "Grafana Port Mapping" echo ">>> Expose Grafana HTTP Mgmt GUI port (3000->${GRAF_EXT_PORT_HTTP})" - GRAF_PORT_HTTP=$(kubectl --namespace monitoring get service grafana -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') - PATCH='{"data": {"'${GRAF_EXT_PORT_HTTP}'": "monitoring/grafana:'${GRAF_PORT_HTTP}'"}}' + GRAF_PORT_HTTP=$(kubectl --namespace ${MONITORING_NAMESPACE} get service grafana -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') + PATCH='{"data": {"'${GRAF_EXT_PORT_HTTP}'": "'${MONITORING_NAMESPACE}'/grafana:'${GRAF_PORT_HTTP}'"}}' kubectl patch configmap nginx-ingress-tcp-microk8s-conf --namespace ingress --patch "${PATCH}" PORT_MAP='{"containerPort": '${GRAF_EXT_PORT_HTTP}', "hostPort": '${GRAF_EXT_PORT_HTTP}'}' @@ -55,4 +57,9 @@ function expose_dashboard() { echo } -expose_dashboard +if kubectl get namespace ${MONITORING_NAMESPACE} &> /dev/null; then + echo ">>> Namespace ${MONITORING_NAMESPACE} is present, exposing dashboard..." + expose_dashboard +else + echo ">>> Namespace ${MONITORING_NAMESPACE} is NOT present, skipping expose dashboard..." +fi diff --git a/deploy/tfs.sh b/deploy/tfs.sh index e6a0c0c1053b69462a0e60c6b6cebe28a7dc59af..261996acb3a11cc582a6c3a6bb3a2253e20fdd5c 100755 --- a/deploy/tfs.sh +++ b/deploy/tfs.sh @@ -327,7 +327,12 @@ echo "Deploying extra manifests..." for EXTRA_MANIFEST in $TFS_EXTRA_MANIFESTS; do echo "Processing manifest '$EXTRA_MANIFEST'..." if [[ "$EXTRA_MANIFEST" == *"servicemonitor"* ]]; then - kubectl apply -f $EXTRA_MANIFEST + if kubectl get namespace monitoring &> /dev/null; then + echo ">>> Namespace monitoring is present, applying service monitors..." + kubectl apply -f $EXTRA_MANIFEST + else + echo ">>> Namespace monitoring is NOT present, skipping service monitors..." + fi else kubectl --namespace $TFS_K8S_NAMESPACE apply -f $EXTRA_MANIFEST fi