viya4-monitoring-kubernetes icon indicating copy to clipboard operation
viya4-monitoring-kubernetes copied to clipboard

Alertendpoint

Open gsmith-sas opened this issue 1 year ago • 2 comments
trafficstars

gsmith-sas avatar Feb 21 '24 17:02 gsmith-sas

sh-checker report

To get the full details, please check in the job output.

shellcheck errors

'shellcheck -e SC1004' returned error 1 finding the following syntactical issues:

----------

In monitoring/bin/deploy_monitoring_cluster.sh line 6:
cd "$(dirname $BASH_SOURCE)/../.."
              ^----------^ SC2128 (warning): Expanding an array without an index only gives the first element.
              ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
cd "$(dirname "$BASH_SOURCE")/../.."


In monitoring/bin/deploy_monitoring_cluster.sh line 7:
source monitoring/bin/common.sh
       ^----------------------^ SC1091 (info): Not following: monitoring/bin/common.sh was not specified as input (see shellcheck -x).


In monitoring/bin/deploy_monitoring_cluster.sh line 8:
source bin/service-url-include.sh
       ^------------------------^ SC1091 (info): Not following: bin/service-url-include.sh was not specified as input (see shellcheck -x).


In monitoring/bin/deploy_monitoring_cluster.sh line 18:
source bin/tls-include.sh
       ^----------------^ SC1091 (info): Not following: bin/tls-include.sh was not specified as input (see shellcheck -x).


In monitoring/bin/deploy_monitoring_cluster.sh line 19:
if verify_cert_generator $MON_NS prometheus alertmanager grafana; then
                         ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if verify_cert_generator "$MON_NS" prometheus alertmanager grafana; then


In monitoring/bin/deploy_monitoring_cluster.sh line 20:
  log_debug "cert generator check OK [$cert_generator_ok]"
                                      ^----------------^ SC2154 (warning): cert_generator_ok is referenced but not assigned.


In monitoring/bin/deploy_monitoring_cluster.sh line 22:
  log_error "One or more required TLS certs do not exist and the expected certificate generator mechanism [$cert_generator] is not available to create the missing certs"
                                                                                                           ^-------------^ SC2154 (warning): cert_generator is referenced but not assigned.


In monitoring/bin/deploy_monitoring_cluster.sh line 26:
helm2ReleaseCheck v4m-$MON_NS
                      ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
helm2ReleaseCheck v4m-"$MON_NS"


In monitoring/bin/deploy_monitoring_cluster.sh line 27:
helm2ReleaseCheck prometheus-$MON_NS
                             ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
helm2ReleaseCheck prometheus-"$MON_NS"


In monitoring/bin/deploy_monitoring_cluster.sh line 43:
if [ -z "$(kubectl get ns $MON_NS -o name 2>/dev/null)" ]; then
                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if [ -z "$(kubectl get ns "$MON_NS" -o name 2>/dev/null)" ]; then


In monitoring/bin/deploy_monitoring_cluster.sh line 44:
  kubectl create ns $MON_NS
                    ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl create ns "$MON_NS"


In monitoring/bin/deploy_monitoring_cluster.sh line 47:
  disable_sa_token_automount $MON_NS default
                             ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  disable_sa_token_automount "$MON_NS" default


In monitoring/bin/deploy_monitoring_cluster.sh line 52:
generateImageKeysFile "$ALERTMANAGER_FULL_IMAGE"    "$imageKeysFile"  "ALERTMANAGER_"
                                                     ^------------^ SC2154 (warning): imageKeysFile is referenced but not assigned.


In monitoring/bin/deploy_monitoring_cluster.sh line 100:
    if kubectl get crd $crd.monitoring.coreos.com 1>/dev/null 2>&1; then
                       ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    if kubectl get crd "$crd".monitoring.coreos.com 1>/dev/null 2>&1; then


In monitoring/bin/deploy_monitoring_cluster.sh line 101:
      kubectl replace -f $crdURL
                         ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
      kubectl replace -f "$crdURL"


In monitoring/bin/deploy_monitoring_cluster.sh line 103:
      kubectl create -f $crdURL
                        ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
      kubectl create -f "$crdURL"


In monitoring/bin/deploy_monitoring_cluster.sh line 111:
kubectl delete daemonset -n $MON_NS -l app=prometheus-node-exporter --ignore-not-found
                            ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl delete daemonset -n "$MON_NS" -l app=prometheus-node-exporter --ignore-not-found


In monitoring/bin/deploy_monitoring_cluster.sh line 129:
  create_tls_certs $MON_NS monitoring ${apps[@]}
                   ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                      ^--------^ SC2068 (error): Double quote array expansions to avoid re-splitting elements.

Did you mean: 
  create_tls_certs "$MON_NS" monitoring ${apps[@]}


In monitoring/bin/deploy_monitoring_cluster.sh line 139:
  kubectl delete cm -n $MON_NS --ignore-not-found grafana-datasource-prom-https
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl delete cm -n "$MON_NS" --ignore-not-found grafana-datasource-prom-https


In monitoring/bin/deploy_monitoring_cluster.sh line 140:
  kubectl create cm -n $MON_NS grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl create cm -n "$MON_NS" grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS


In monitoring/bin/deploy_monitoring_cluster.sh line 141:
  kubectl label cm -n $MON_NS grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring
                      ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl label cm -n "$MON_NS" grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring


In monitoring/bin/deploy_monitoring_cluster.sh line 145:
  kubectl delete cm -n $MON_NS node-exporter-tls-web-config --ignore-not-found
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl delete cm -n "$MON_NS" node-exporter-tls-web-config --ignore-not-found


In monitoring/bin/deploy_monitoring_cluster.sh line 147:
  kubectl create cm -n $MON_NS node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl create cm -n "$MON_NS" node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 148:
  kubectl label cm -n $MON_NS node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring
                      ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl label cm -n "$MON_NS" node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring


In monitoring/bin/deploy_monitoring_cluster.sh line 160:
if helm3ReleaseExists prometheus-operator $MON_NS; then
                                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if helm3ReleaseExists prometheus-operator "$MON_NS"; then


In monitoring/bin/deploy_monitoring_cluster.sh line 169:
if helm3ReleaseExists $promRelease $MON_NS; then
                                   ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if helm3ReleaseExists $promRelease "$MON_NS"; then


In monitoring/bin/deploy_monitoring_cluster.sh line 183:
  kubectl delete -n $MON_NS --ignore-not-found \
                    ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl delete -n "$MON_NS" --ignore-not-found \


In monitoring/bin/deploy_monitoring_cluster.sh line 202:
chart2install="$(get_helmchart_reference $KUBE_PROM_STACK_CHART_REPO $KUBE_PROM_STACK_CHART_NAME $KUBE_PROM_STACK_CHART_VERSION)"
                                         ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                     ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                                                 ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
chart2install="$(get_helmchart_reference "$KUBE_PROM_STACK_CHART_REPO" "$KUBE_PROM_STACK_CHART_NAME" "$KUBE_PROM_STACK_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 203:
versionstring="$(get_helm_versionstring  $KUBE_PROM_STACK_CHART_VERSION)"
                                         ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
versionstring="$(get_helm_versionstring  "$KUBE_PROM_STACK_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 206:
helm $helmDebug upgrade --install $promRelease \
     ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
helm "$helmDebug" upgrade --install $promRelease \


In monitoring/bin/deploy_monitoring_cluster.sh line 207:
  --namespace $MON_NS \
              ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  --namespace "$MON_NS" \


In monitoring/bin/deploy_monitoring_cluster.sh line 208:
  -f $imageKeysFile \
     ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$imageKeysFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 210:
  -f $istioValuesFile \
     ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$istioValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 211:
  -f $tlsValuesFile \
     ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$tlsValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 212:
  -f $tlsPromAlertingEndpointFile \
     ^--------------------------^ SC2154 (warning): tlsPromAlertingEndpointFile is referenced but not assigned.
     ^--------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$tlsPromAlertingEndpointFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 213:
  -f $nodePortValuesFile \
     ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$nodePortValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 214:
  -f $wnpValuesFile \
     ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$wnpValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 215:
  -f $PROM_OPER_USER_YAML \
     ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$PROM_OPER_USER_YAML" \


In monitoring/bin/deploy_monitoring_cluster.sh line 216:
  -f $tempoDSFile \
     ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$tempoDSFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 227:
  $versionstring \
  ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  "$versionstring" \


In monitoring/bin/deploy_monitoring_cluster.sh line 228:
  $chart2install
  ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  "$chart2install"


In monitoring/bin/deploy_monitoring_cluster.sh line 233:
disable_sa_token_automount $MON_NS v4m-grafana
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-grafana


In monitoring/bin/deploy_monitoring_cluster.sh line 234:
disable_sa_token_automount $MON_NS sas-ops-acct      #Used w/Prometheus
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" sas-ops-acct      #Used w/Prometheus


In monitoring/bin/deploy_monitoring_cluster.sh line 235:
disable_sa_token_automount $MON_NS v4m-node-exporter
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-node-exporter


In monitoring/bin/deploy_monitoring_cluster.sh line 236:
disable_sa_token_automount $MON_NS v4m-alertmanager
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-alertmanager


In monitoring/bin/deploy_monitoring_cluster.sh line 239:
disable_sa_token_automount $MON_NS v4m-kube-state-metrics
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-kube-state-metrics


In monitoring/bin/deploy_monitoring_cluster.sh line 240:
enable_pod_token_automount $MON_NS deployment v4m-kube-state-metrics
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
enable_pod_token_automount "$MON_NS" deployment v4m-kube-state-metrics


In monitoring/bin/deploy_monitoring_cluster.sh line 241:
disable_sa_token_automount $MON_NS v4m-operator
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-operator


In monitoring/bin/deploy_monitoring_cluster.sh line 242:
enable_pod_token_automount $MON_NS deployment v4m-operator
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
enable_pod_token_automount "$MON_NS" deployment v4m-operator


In monitoring/bin/deploy_monitoring_cluster.sh line 259:
  chart2install="$(get_helmchart_reference $TEMPO_CHART_REPO $TEMPO_CHART_NAME $TEMPO_CHART_VERSION)"
                                           ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                             ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                               ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  chart2install="$(get_helmchart_reference "$TEMPO_CHART_REPO" "$TEMPO_CHART_NAME" "$TEMPO_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 260:
  versionstring="$(get_helm_versionstring  $TEMPO_CHART_VERSION)"
                                           ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  versionstring="$(get_helm_versionstring  "$TEMPO_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 266:
    -f $imageKeysFile \
       ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -f "$imageKeysFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 269:
    $versionstring \
    ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "$versionstring" \


In monitoring/bin/deploy_monitoring_cluster.sh line 270:
    $chart2install
    ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "$chart2install"


In monitoring/bin/deploy_monitoring_cluster.sh line 275:
kubectl get ns $NGINX_NS 2>/dev/null
               ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl get ns "$NGINX_NS" 2>/dev/null


In monitoring/bin/deploy_monitoring_cluster.sh line 276:
if [ $? == 0 ]; then
     ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In monitoring/bin/deploy_monitoring_cluster.sh line 283:
  kubectl apply -n $NGINX_NS -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null
                   ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl apply -n "$NGINX_NS" -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null


In monitoring/bin/deploy_monitoring_cluster.sh line 287:
kubectl apply -n $MON_NS -f monitoring/monitors/kube/podMonitor-eventrouter.yaml 2>/dev/null
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/kube/podMonitor-eventrouter.yaml 2>/dev/null


In monitoring/bin/deploy_monitoring_cluster.sh line 290:
kubectl apply -n $MON_NS -f monitoring/monitors/logging/serviceMonitor-elasticsearch.yaml
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/logging/serviceMonitor-elasticsearch.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 293:
kubectl apply -n $MON_NS -f monitoring/monitors/logging/serviceMonitor-fluent-bit.yaml
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/logging/serviceMonitor-fluent-bit.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 294:
kubectl apply -n $MON_NS -f monitoring/monitors/logging/serviceMonitor-fluent-bit-v2.yaml
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/logging/serviceMonitor-fluent-bit-v2.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 299:
  kubectl apply -n $MON_NS -f $f
                   ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl apply -n "$MON_NS" -f "$f"


In monitoring/bin/deploy_monitoring_cluster.sh line 328:
gf_url=$(get_service_url $MON_NS v4m-grafana  "$TLS_ENABLE")
                         ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
gf_url=$(get_service_url "$MON_NS" v4m-grafana  "$TLS_ENABLE")


In monitoring/bin/deploy_monitoring_cluster.sh line 334:
if helm3ReleaseExists v4m $MON_NS; then
                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if helm3ReleaseExists v4m "$MON_NS"; then


In monitoring/bin/deploy_monitoring_cluster.sh line 346:
if [ ! -z "$gf_url" ]; then
     ^-- SC2236 (style): Use -n instead of ! -z.

For more information:
  https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ...
  https://www.shellcheck.net/wiki/SC2128 -- Expanding an array without an ind...
  https://www.shellcheck.net/wiki/SC2154 -- cert_generator is referenced but ...
----------

You can address the above issues in one of three ways:
1. Manually correct the issue in the offending shell script;
2. Disable specific issues by adding the comment:
  # shellcheck disable=NNNN
above the line that contains the issue, where NNNN is the error code;
3. Add '-e NNNN' to the SHELLCHECK_OPTS setting in your .yml action file.



shfmt errors

'shfmt -s' returned error 1 finding the following formatting issues:

----------
--- monitoring/bin/deploy_monitoring_cluster.sh.orig
+++ monitoring/bin/deploy_monitoring_cluster.sh
@@ -8,19 +8,19 @@
 source bin/service-url-include.sh
 
 if [ "$OPENSHIFT_CLUSTER" == "true" ]; then
-  if [ "${CHECK_OPENSHIFT_CLUSTER:-true}" == "true" ]; then
-    log_error "This script should not be run on OpenShift clusters"
-    log_error "Run monitoring/bin/deploy_monitoring_openshift.sh instead"
-    exit 1
-  fi
+	if [ "${CHECK_OPENSHIFT_CLUSTER:-true}" == "true" ]; then
+		log_error "This script should not be run on OpenShift clusters"
+		log_error "Run monitoring/bin/deploy_monitoring_openshift.sh instead"
+		exit 1
+	fi
 fi
 
 source bin/tls-include.sh
 if verify_cert_generator $MON_NS prometheus alertmanager grafana; then
-  log_debug "cert generator check OK [$cert_generator_ok]"
+	log_debug "cert generator check OK [$cert_generator_ok]"
 else
-  log_error "One or more required TLS certs do not exist and the expected certificate generator mechanism [$cert_generator] is not available to create the missing certs"
-  exit 1
+	log_error "One or more required TLS certs do not exist and the expected certificate generator mechanism [$cert_generator] is not available to create the missing certs"
+	exit 1
 fi
 
 helm2ReleaseCheck v4m-$MON_NS
@@ -32,33 +32,32 @@
 
 PROM_OPER_USER_YAML="${PROM_OPER_USER_YAML:-$USER_DIR/monitoring/user-values-prom-operator.yaml}"
 if [ ! -f "$PROM_OPER_USER_YAML" ]; then
-  log_debug "[$PROM_OPER_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
-  PROM_OPER_USER_YAML=$TMP_DIR/empty.yaml
+	log_debug "[$PROM_OPER_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
+	PROM_OPER_USER_YAML=$TMP_DIR/empty.yaml
 fi
 
 if [ "$HELM_DEBUG" == "true" ]; then
-  helmDebug="--debug"
+	helmDebug="--debug"
 fi
 
 if [ -z "$(kubectl get ns $MON_NS -o name 2>/dev/null)" ]; then
-  kubectl create ns $MON_NS
+	kubectl create ns $MON_NS
 
-  #Container Security: Disable serviceAccount Token Automounting
-  disable_sa_token_automount $MON_NS default
+	#Container Security: Disable serviceAccount Token Automounting
+	disable_sa_token_automount $MON_NS default
 fi
 
 #Generate yaml file with all container-related keys
-generateImageKeysFile "$PROMOP_FULL_IMAGE"          "monitoring/prom-operator_container_image.template"
-generateImageKeysFile "$ALERTMANAGER_FULL_IMAGE"    "$imageKeysFile"  "ALERTMANAGER_"
-generateImageKeysFile "$ADMWEBHOOK_FULL_IMAGE"      "$imageKeysFile"  "ADMWEBHOOK_"
-generateImageKeysFile "$KSM_FULL_IMAGE"             "$imageKeysFile"  "KSM_"
-generateImageKeysFile "$NODEXPORT_FULL_IMAGE"       "$imageKeysFile"  "NODEXPORT_"
-generateImageKeysFile "$PROMETHEUS_FULL_IMAGE"      "$imageKeysFile"  "PROMETHEUS_"
-generateImageKeysFile "$CONFIGRELOAD_FULL_IMAGE"    "$imageKeysFile"  "CONFIGRELOAD_"
-generateImageKeysFile "$GRAFANA_FULL_IMAGE"         "$imageKeysFile"  "GRAFANA_"
-generateImageKeysFile "$GRAFANA_SIDECAR_FULL_IMAGE" "$imageKeysFile"  "SIDECAR_"
+generateImageKeysFile "$PROMOP_FULL_IMAGE" "monitoring/prom-operator_container_image.template"
+generateImageKeysFile "$ALERTMANAGER_FULL_IMAGE" "$imageKeysFile" "ALERTMANAGER_"
+generateImageKeysFile "$ADMWEBHOOK_FULL_IMAGE" "$imageKeysFile" "ADMWEBHOOK_"
+generateImageKeysFile "$KSM_FULL_IMAGE" "$imageKeysFile" "KSM_"
+generateImageKeysFile "$NODEXPORT_FULL_IMAGE" "$imageKeysFile" "NODEXPORT_"
+generateImageKeysFile "$PROMETHEUS_FULL_IMAGE" "$imageKeysFile" "PROMETHEUS_"
+generateImageKeysFile "$CONFIGRELOAD_FULL_IMAGE" "$imageKeysFile" "CONFIGRELOAD_"
+generateImageKeysFile "$GRAFANA_FULL_IMAGE" "$imageKeysFile" "GRAFANA_"
+generateImageKeysFile "$GRAFANA_SIDECAR_FULL_IMAGE" "$imageKeysFile" "SIDECAR_"
 
-
 set -e
 log_notice "Deploying monitoring to the [$MON_NS] namespace..."
 
@@ -68,43 +67,43 @@
 istioValuesFile=$TMP_DIR/empty.yaml
 # Istio - Federate data from Istio's Prometheus instance
 if [ "$ISTIO_ENABLED" == "true" ]; then
-  log_verbose "Including Istio metric federation"
-  istioValuesFile=$TMP_DIR/values-prom-operator-tmp.yaml
+	log_verbose "Including Istio metric federation"
+	istioValuesFile=$TMP_DIR/values-prom-operator-tmp.yaml
 else
-  log_debug "ISTIO_ENABLED flag not set"
-  log_debug "Skipping deployment of federated scrape of Istio Prometheus instance"
+	log_debug "ISTIO_ENABLED flag not set"
+	log_debug "Skipping deployment of federated scrape of Istio Prometheus instance"
 fi
 
 # Check if Prometheus Operator CRDs are already installed
 PROM_OPERATOR_CRD_UPDATE=${PROM_OPERATOR_CRD_UPDATE:-true}
 if [ "$PROM_OPERATOR_CRD_UPDATE" == "true" ]; then
-  log_verbose "Updating Prometheus Operator custom resource definitions"
-  crds=( alertmanagerconfigs alertmanagers prometheuses prometheusrules podmonitors servicemonitors thanosrulers probes )
-  for crd in "${crds[@]}"; do
-    
-    ## Determine CRD URL - if in an airgap environment, look for them in USER_DIR.
-    if [ "$AIRGAP_DEPLOYMENT" == "true" ]; then
-      crdURL=$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION/monitoring.coreos.com_$crd.yaml
+	log_verbose "Updating Prometheus Operator custom resource definitions"
+	crds=(alertmanagerconfigs alertmanagers prometheuses prometheusrules podmonitors servicemonitors thanosrulers probes)
+	for crd in "${crds[@]}"; do
 
-      ## Fail if the CRDs could not be located.
-      if [ ! -f "$crdURL" ]; then
-        log_error "Unable to locate file: [monitoring.coreos.com_$crd.yaml] in"
-        log_error "[$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION] directory"
-        log_error "Please make sure to provide all Prometheus Operator CRDs before running the deployment"
-        exit 1
-      fi
-    else
-      crdURL="https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/$PROM_OPERATOR_CRD_VERSION/example/prometheus-operator-crd/monitoring.coreos.com_$crd.yaml"
-    fi 
+		## Determine CRD URL - if in an airgap environment, look for them in USER_DIR.
+		if [ "$AIRGAP_DEPLOYMENT" == "true" ]; then
+			crdURL=$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION/monitoring.coreos.com_$crd.yaml
 
-    if kubectl get crd $crd.monitoring.coreos.com 1>/dev/null 2>&1; then
-      kubectl replace -f $crdURL
-    else
-      kubectl create -f $crdURL
-    fi
-  done
+			## Fail if the CRDs could not be located.
+			if [ ! -f "$crdURL" ]; then
+				log_error "Unable to locate file: [monitoring.coreos.com_$crd.yaml] in"
+				log_error "[$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION] directory"
+				log_error "Please make sure to provide all Prometheus Operator CRDs before running the deployment"
+				exit 1
+			fi
+		else
+			crdURL="https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/$PROM_OPERATOR_CRD_VERSION/example/prometheus-operator-crd/monitoring.coreos.com_$crd.yaml"
+		fi
+
+		if kubectl get crd $crd.monitoring.coreos.com 1>/dev/null 2>&1; then
+			kubectl replace -f $crdURL
+		else
+			kubectl create -f $crdURL
+		fi
+	done
 else
-  log_debug "Prometheus Operator CRD update disabled"
+	log_debug "Prometheus Operator CRD update disabled"
 fi
 
 # Remove existing DaemonSets in case of an upgrade-in-place
@@ -113,11 +112,11 @@
 # Optional workload node placement support
 MON_NODE_PLACEMENT_ENABLE=${MON_NODE_PLACEMENT_ENABLE:-${NODE_PLACEMENT_ENABLE:-false}}
 if [ "$MON_NODE_PLACEMENT_ENABLE" == "true" ]; then
-  log_verbose "Enabling monitoring components for workload node placement"
-  wnpValuesFile="monitoring/node-placement/values-prom-operator-wnp.yaml"
+	log_verbose "Enabling monitoring components for workload node placement"
+	wnpValuesFile="monitoring/node-placement/values-prom-operator-wnp.yaml"
 else
-  log_debug "Workload node placement support is disabled"
-  wnpValuesFile="$TMP_DIR/empty.yaml"
+	log_debug "Workload node placement support is disabled"
+	wnpValuesFile="$TMP_DIR/empty.yaml"
 fi
 
 # Optional TLS Support
@@ -125,113 +124,113 @@
 serviceMonitorEndpointScheme="http"
 
 if [ "$TLS_ENABLE" == "true" ]; then
-  apps=( prometheus alertmanager grafana )
-  create_tls_certs $MON_NS monitoring ${apps[@]}
+	apps=(prometheus alertmanager grafana)
+	create_tls_certs $MON_NS monitoring ${apps[@]}
 
-  tlsValuesFile=monitoring/tls/values-prom-operator-tls.yaml
-  log_debug "Including TLS response file $tlsValuesFile"
+	tlsValuesFile=monitoring/tls/values-prom-operator-tls.yaml
+	log_debug "Including TLS response file $tlsValuesFile"
 
-  log_verbose "Provisioning TLS-enabled Prometheus datasource for Grafana"
-  grafanaDS=grafana-datasource-prom-https.yaml
-  if [ "$MON_TLS_PATH_INGRESS" == "true" ]; then
-    grafanaDS=grafana-datasource-prom-https-path.yaml
-  fi
-  kubectl delete cm -n $MON_NS --ignore-not-found grafana-datasource-prom-https
-  kubectl create cm -n $MON_NS grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS
-  kubectl label cm -n $MON_NS grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring
+	log_verbose "Provisioning TLS-enabled Prometheus datasource for Grafana"
+	grafanaDS=grafana-datasource-prom-https.yaml
+	if [ "$MON_TLS_PATH_INGRESS" == "true" ]; then
+		grafanaDS=grafana-datasource-prom-https-path.yaml
+	fi
+	kubectl delete cm -n $MON_NS --ignore-not-found grafana-datasource-prom-https
+	kubectl create cm -n $MON_NS grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS
+	kubectl label cm -n $MON_NS grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring
 
-  # node-exporter TLS
-  log_verbose "Enabling Prometheus node-exporter for TLS"
-  kubectl delete cm -n $MON_NS node-exporter-tls-web-config --ignore-not-found
-  sleep 1
-  kubectl create cm -n $MON_NS node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml
-  kubectl label cm -n $MON_NS node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring
+	# node-exporter TLS
+	log_verbose "Enabling Prometheus node-exporter for TLS"
+	kubectl delete cm -n $MON_NS node-exporter-tls-web-config --ignore-not-found
+	sleep 1
+	kubectl create cm -n $MON_NS node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml
+	kubectl label cm -n $MON_NS node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring
 
-  serviceMonitorEndpointScheme="https"
+	serviceMonitorEndpointScheme="https"
 fi
 
 nodePortValuesFile=$TMP_DIR/empty.yaml
 PROM_NODEPORT_ENABLE=${PROM_NODEPORT_ENABLE:-false}
 if [ "$PROM_NODEPORT_ENABLE" == "true" ]; then
-  log_debug "Enabling NodePort access for Prometheus and Alertmanager"
-  nodePortValuesFile=monitoring/values-prom-nodeport.yaml
+	log_debug "Enabling NodePort access for Prometheus and Alertmanager"
+	nodePortValuesFile=monitoring/values-prom-nodeport.yaml
 fi
 
 if helm3ReleaseExists prometheus-operator $MON_NS; then
-  promRelease=prometheus-operator
-  promName=prometheus-operator
+	promRelease=prometheus-operator
+	promName=prometheus-operator
 else
-  promRelease=v4m-prometheus-operator
-  promName=v4m
+	promRelease=v4m-prometheus-operator
+	promName=v4m
 fi
 log_verbose "User response file: [$PROM_OPER_USER_YAML]"
 log_info "Deploying the kube-prometheus stack. This may take a few minutes ..."
 if helm3ReleaseExists $promRelease $MON_NS; then
-  log_verbose "Upgrading via Helm ($(date) - timeout 20m)"
+	log_verbose "Upgrading via Helm ($(date) - timeout 20m)"
 else
-  grafanaPwd="$GRAFANA_ADMIN_PASSWORD"
-  if [ "$grafanaPwd" == "" ]; then
-    log_debug "Generating random Grafana admin password"
-    showPass="true"
-    grafanaPwd="$(randomPassword)"
-  fi
-  log_verbose "Installing via Helm ($(date) - timeout 20m)"
+	grafanaPwd="$GRAFANA_ADMIN_PASSWORD"
+	if [ "$grafanaPwd" == "" ]; then
+		log_debug "Generating random Grafana admin password"
+		showPass="true"
+		grafanaPwd="$(randomPassword)"
+	fi
+	log_verbose "Installing via Helm ($(date) - timeout 20m)"
 fi
 
 # See https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#from-21x-to-22x
-if [ "$V4M_CURRENT_VERSION_MAJOR" == "1" ] && [[ "$V4M_CURRENT_VERSION_MINOR" =~ [0-5] ]]; then
-  kubectl delete -n $MON_NS --ignore-not-found \
-    deployments.apps \
-    -l app.kubernetes.io/instance=v4m-prometheus-operator,app.kubernetes.io/name=kube-state-metrics
+if [ "$V4M_CURRENT_VERSION_MAJOR" == "1" ] && [[ $V4M_CURRENT_VERSION_MINOR =~ [0-5] ]]; then
+	kubectl delete -n $MON_NS --ignore-not-found \
+		deployments.apps \
+		-l app.kubernetes.io/instance=v4m-prometheus-operator,app.kubernetes.io/name=kube-state-metrics
 fi
 
 TRACING_ENABLE="${TRACING_ENABLE:-false}"
 if [ "$TRACING_ENABLE" == "false" ]; then
-  tempoDSFile=$TMP_DIR/empty.yaml
+	tempoDSFile=$TMP_DIR/empty.yaml
 else
-  TEMPO_USER_YAML="${TEMPO_USER_YAML:-$USER_DIR/monitoring/user-values-tempo.yaml}"
-  if [ ! -f "$TEMPO_USER_YAML" ]; then
-    log_debug "[$TEMPO_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
-    TEMPO_USER_YAML=$TMP_DIR/empty.yaml
-  fi
-  tempoDSFile="monitoring/grafana-datasource-tempo.yaml"
-fi 
+	TEMPO_USER_YAML="${TEMPO_USER_YAML:-$USER_DIR/monitoring/user-values-tempo.yaml}"
+	if [ ! -f "$TEMPO_USER_YAML" ]; then
+		log_debug "[$TEMPO_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
+		TEMPO_USER_YAML=$TMP_DIR/empty.yaml
+	fi
+	tempoDSFile="monitoring/grafana-datasource-tempo.yaml"
+fi
 
 # Get Helm Chart Name
 log_debug "Kube-Prometheus Stack Helm Chart: repo [$KUBE_PROM_STACK_CHART_REPO] name [$KUBE_PROM_STACK_CHART_NAME] version [$KUBE_PROM_STACK_CHART_VERSION]"
 chart2install="$(get_helmchart_reference $KUBE_PROM_STACK_CHART_REPO $KUBE_PROM_STACK_CHART_NAME $KUBE_PROM_STACK_CHART_VERSION)"
-versionstring="$(get_helm_versionstring  $KUBE_PROM_STACK_CHART_VERSION)"
+versionstring="$(get_helm_versionstring $KUBE_PROM_STACK_CHART_VERSION)"
 log_debug "Installing Helm chart from artifact [$chart2install]"
 
 helm $helmDebug upgrade --install $promRelease \
-  --namespace $MON_NS \
-  -f $imageKeysFile \
-  -f monitoring/values-prom-operator.yaml \
-  -f $istioValuesFile \
-  -f $tlsValuesFile \
-  -f $tlsPromAlertingEndpointFile \
-  -f $nodePortValuesFile \
-  -f $wnpValuesFile \
-  -f $PROM_OPER_USER_YAML \
-  -f $tempoDSFile \
-  --atomic \
-  --timeout 20m \
-  --set nameOverride=$promName \
-  --set fullnameOverride=$promName \
-  --set prometheus-node-exporter.fullnameOverride=$promName-node-exporter \
-  --set kube-state-metrics.fullnameOverride=$promName-kube-state-metrics \
-  --set grafana.fullnameOverride=$promName-grafana \
-  --set grafana.adminPassword="$grafanaPwd" \
-  --set grafana.serviceMonitor.scheme="$serviceMonitorEndpointScheme" \
-  --set prometheus.prometheusSpec.alertingEndpoints[0].namespace="$MON_NS" \
-  $versionstring \
-  $chart2install
+	--namespace $MON_NS \
+	-f $imageKeysFile \
+	-f monitoring/values-prom-operator.yaml \
+	-f $istioValuesFile \
+	-f $tlsValuesFile \
+	-f $tlsPromAlertingEndpointFile \
+	-f $nodePortValuesFile \
+	-f $wnpValuesFile \
+	-f $PROM_OPER_USER_YAML \
+	-f $tempoDSFile \
+	--atomic \
+	--timeout 20m \
+	--set nameOverride=$promName \
+	--set fullnameOverride=$promName \
+	--set prometheus-node-exporter.fullnameOverride=$promName-node-exporter \
+	--set kube-state-metrics.fullnameOverride=$promName-kube-state-metrics \
+	--set grafana.fullnameOverride=$promName-grafana \
+	--set grafana.adminPassword="$grafanaPwd" \
+	--set grafana.serviceMonitor.scheme="$serviceMonitorEndpointScheme" \
+	--set prometheus.prometheusSpec.alertingEndpoints[0].namespace="$MON_NS" \
+	$versionstring \
+	$chart2install
 
 sleep 2
 
 #Container Security: Disable serviceAccount Token Automounting
 disable_sa_token_automount $MON_NS v4m-grafana
-disable_sa_token_automount $MON_NS sas-ops-acct      #Used w/Prometheus
+disable_sa_token_automount $MON_NS sas-ops-acct #Used w/Prometheus
 disable_sa_token_automount $MON_NS v4m-node-exporter
 disable_sa_token_automount $MON_NS v4m-alertmanager
 
@@ -245,42 +244,42 @@
 log_verbose "Deploying cluster ServiceMonitors"
 
 if [ "$TRACING_ENABLE" == "true" ]; then
-  log_info "Tracing enabled..."
+	log_info "Tracing enabled..."
 
-  #Generate yaml file with all container-related keys
-  generateImageKeysFile "$TEMPO_FULL_IMAGE" "monitoring/tempo_container_image.template"
+	#Generate yaml file with all container-related keys
+	generateImageKeysFile "$TEMPO_FULL_IMAGE" "monitoring/tempo_container_image.template"
 
-  # Add the grafana helm chart repo
-  helmRepoAdd grafana https://grafana.github.io/helm-charts
-  helm repo update
+	# Add the grafana helm chart repo
+	helmRepoAdd grafana https://grafana.github.io/helm-charts
+	helm repo update
 
-  # Get Helm Chart Name
-  log_debug "Tempo Helm Chart: repo [$TEMPO_CHART_REPO] name [$TEMPO_CHART_NAME] version [$TEMPO_CHART_VERSION]"
-  chart2install="$(get_helmchart_reference $TEMPO_CHART_REPO $TEMPO_CHART_NAME $TEMPO_CHART_VERSION)"
-  versionstring="$(get_helm_versionstring  $TEMPO_CHART_VERSION)"
-  log_debug "Installing Helm chart from artifact [$chart2install]"
+	# Get Helm Chart Name
+	log_debug "Tempo Helm Chart: repo [$TEMPO_CHART_REPO] name [$TEMPO_CHART_NAME] version [$TEMPO_CHART_VERSION]"
+	chart2install="$(get_helmchart_reference $TEMPO_CHART_REPO $TEMPO_CHART_NAME $TEMPO_CHART_VERSION)"
+	versionstring="$(get_helm_versionstring $TEMPO_CHART_VERSION)"
+	log_debug "Installing Helm chart from artifact [$chart2install]"
 
-  log_info "Installing tempo"
-  helm upgrade --install v4m-tempo \
-    -n "$MON_NS" \
-    -f $imageKeysFile \
-    -f monitoring/values-tempo.yaml \
-    -f "$TEMPO_USER_YAML" \
-    $versionstring \
-    $chart2install
+	log_info "Installing tempo"
+	helm upgrade --install v4m-tempo \
+		-n "$MON_NS" \
+		-f $imageKeysFile \
+		-f monitoring/values-tempo.yaml \
+		-f "$TEMPO_USER_YAML" \
+		$versionstring \
+		$chart2install
 fi
 
 # NGINX
 set +e
 kubectl get ns $NGINX_NS 2>/dev/null
 if [ $? == 0 ]; then
-  nginxFound=true
+	nginxFound=true
 fi
 set -e
 
 if [ "$nginxFound" == "true" ]; then
-  log_verbose "NGINX found. Deploying podMonitor to [$NGINX_NS] namespace"
-  kubectl apply -n $NGINX_NS -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null
+	log_verbose "NGINX found. Deploying podMonitor to [$NGINX_NS] namespace"
+	kubectl apply -n $NGINX_NS -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null
 fi
 
 # Eventrouter ServiceMonitor
@@ -296,25 +295,25 @@
 # Rules
 log_verbose "Adding Prometheus recording rules"
 for f in monitoring/rules/viya/rules-*.yaml; do
-  kubectl apply -n $MON_NS -f $f
+	kubectl apply -n $MON_NS -f $f
 done
 
 # Elasticsearch Datasource for Grafana
 LOGGING_DATASOURCE="${LOGGING_DATASOURCE:-false}"
 if [ "$LOGGING_DATASOURCE" == "true" ]; then
-  set +e
-  log_debug "Creating the logging data source using the create_logging_datasource script"
-  monitoring/bin/create_logging_datasource.sh
+	set +e
+	log_debug "Creating the logging data source using the create_logging_datasource script"
+	monitoring/bin/create_logging_datasource.sh
 
-  if (( $? == 1 )); then
-    log_warn "Unable to configure the logging data source at this time."
-    log_warn "Please address the errors and re-run the follow command to create the data source at a later time:"
-    log_warn "monitoring/bin/create_logging_datasource.sh"
-  fi
-  set -e
+	if (($? == 1)); then
+		log_warn "Unable to configure the logging data source at this time."
+		log_warn "Please address the errors and re-run the follow command to create the data source at a later time:"
+		log_warn "monitoring/bin/create_logging_datasource.sh"
+	fi
+	set -e
 else
-  log_debug "LOGGING_DATASOURCE not set"
-  log_debug "Skipping creation of logging data source for Grafana"
+	log_debug "LOGGING_DATASOURCE not set"
+	log_debug "Skipping creation of logging data source for Grafana"
 fi
 
 echo ""
@@ -325,32 +324,32 @@
 get_ingress_ports
 
 # get URLs for Grafana, Prometheus and AlertManager
-gf_url=$(get_service_url $MON_NS v4m-grafana  "$TLS_ENABLE")
+gf_url=$(get_service_url $MON_NS v4m-grafana "$TLS_ENABLE")
 # pr_url=$(get_url $MON_NS v4m-prometheus  "$TLS_ENABLE")
 # am_url=$(get_url $MON_NS v4m-alertmanager  "$TLS_ENABLE")
 set -e
 
 # If a deployment with the old name exists, remove it first
 if helm3ReleaseExists v4m $MON_NS; then
-  log_verbose "Removing outdated SAS Viya Monitoring Helm chart release from [$MON_NS] namespace"
-  helm uninstall -n "$MON_NS" "v4m"
+	log_verbose "Removing outdated SAS Viya Monitoring Helm chart release from [$MON_NS] namespace"
+	helm uninstall -n "$MON_NS" "v4m"
 fi
 
 if ! deployV4MInfo "$MON_NS" "v4m-metrics"; then
-  log_warn "Unable to update SAS Viya Monitoring Helm chart release"
+	log_warn "Unable to update SAS Viya Monitoring Helm chart release"
 fi
 
 # Print URL to access web apps
 log_notice ""
 log_notice "GRAFANA: "
 if [ ! -z "$gf_url" ]; then
-   log_notice "  $gf_url"
+	log_notice "  $gf_url"
 else
-   log_notice " It was not possible to determine the URL needed to access Grafana. Note  "
-   log_notice " that this is not necessarily a sign of a problem; it may only reflect an "
-   log_notice " ingress or network access configuration that this script does not handle."
+	log_notice " It was not possible to determine the URL needed to access Grafana. Note  "
+	log_notice " that this is not necessarily a sign of a problem; it may only reflect an "
+	log_notice " ingress or network access configuration that this script does not handle."
 fi
-   log_notice ""
+log_notice ""
 
 #log_notice ""
 #log_notice "================================================================================"
@@ -373,14 +372,12 @@
 #log_notice ""
 
 if [ "$showPass" == "true" ]; then
-  # Find the grafana pod
- 
-  log_notice " Generated Grafana admin password is: $grafanaPwd"
-  log_notice " To change the password, run the following script (replace myNewPassword with an updated password):"
-  log_notice " monitoring/bin/change_grafana_admin_password.sh -p myNewPassword"
+	# Find the grafana pod
+
+	log_notice " Generated Grafana admin password is: $grafanaPwd"
+	log_notice " To change the password, run the following script (replace myNewPassword with an updated password):"
+	log_notice " monitoring/bin/change_grafana_admin_password.sh -p myNewPassword"
 fi
 
 log_message ""
 log_notice " Successfully deployed components to the [$MON_NS] namespace"
-
-
----------

You can reformat the above files to meet shfmt's requirements by typing:

  shfmt -s -w filename


github-actions[bot] avatar Apr 09 '24 19:04 github-actions[bot]

sh-checker report

To get the full details, please check in the job output.

shellcheck errors

'shellcheck -e SC1004' returned error 1 finding the following syntactical issues:

----------

In monitoring/bin/deploy_monitoring_cluster.sh line 6:
cd "$(dirname $BASH_SOURCE)/../.."
              ^----------^ SC2128 (warning): Expanding an array without an index only gives the first element.
              ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
cd "$(dirname "$BASH_SOURCE")/../.."


In monitoring/bin/deploy_monitoring_cluster.sh line 7:
source monitoring/bin/common.sh
       ^----------------------^ SC1091 (info): Not following: monitoring/bin/common.sh was not specified as input (see shellcheck -x).


In monitoring/bin/deploy_monitoring_cluster.sh line 8:
source bin/service-url-include.sh
       ^------------------------^ SC1091 (info): Not following: bin/service-url-include.sh was not specified as input (see shellcheck -x).


In monitoring/bin/deploy_monitoring_cluster.sh line 18:
source bin/tls-include.sh
       ^----------------^ SC1091 (info): Not following: bin/tls-include.sh was not specified as input (see shellcheck -x).


In monitoring/bin/deploy_monitoring_cluster.sh line 19:
if verify_cert_generator $MON_NS prometheus alertmanager grafana; then
                         ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if verify_cert_generator "$MON_NS" prometheus alertmanager grafana; then


In monitoring/bin/deploy_monitoring_cluster.sh line 20:
  log_debug "cert generator check OK [$cert_generator_ok]"
                                      ^----------------^ SC2154 (warning): cert_generator_ok is referenced but not assigned.


In monitoring/bin/deploy_monitoring_cluster.sh line 22:
  log_error "One or more required TLS certs do not exist and the expected certificate generator mechanism [$cert_generator] is not available to create the missing certs"
                                                                                                           ^-------------^ SC2154 (warning): cert_generator is referenced but not assigned.


In monitoring/bin/deploy_monitoring_cluster.sh line 26:
helm2ReleaseCheck v4m-$MON_NS
                      ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
helm2ReleaseCheck v4m-"$MON_NS"


In monitoring/bin/deploy_monitoring_cluster.sh line 27:
helm2ReleaseCheck prometheus-$MON_NS
                             ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
helm2ReleaseCheck prometheus-"$MON_NS"


In monitoring/bin/deploy_monitoring_cluster.sh line 43:
if [ -z "$(kubectl get ns $MON_NS -o name 2>/dev/null)" ]; then
                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if [ -z "$(kubectl get ns "$MON_NS" -o name 2>/dev/null)" ]; then


In monitoring/bin/deploy_monitoring_cluster.sh line 44:
  kubectl create ns $MON_NS
                    ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl create ns "$MON_NS"


In monitoring/bin/deploy_monitoring_cluster.sh line 47:
  disable_sa_token_automount $MON_NS default
                             ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  disable_sa_token_automount "$MON_NS" default


In monitoring/bin/deploy_monitoring_cluster.sh line 52:
generateImageKeysFile "$ALERTMANAGER_FULL_IMAGE"    "$imageKeysFile"  "ALERTMANAGER_"
                                                     ^------------^ SC2154 (warning): imageKeysFile is referenced but not assigned.


In monitoring/bin/deploy_monitoring_cluster.sh line 100:
    if kubectl get crd $crd.monitoring.coreos.com 1>/dev/null 2>&1; then
                       ^--^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    if kubectl get crd "$crd".monitoring.coreos.com 1>/dev/null 2>&1; then


In monitoring/bin/deploy_monitoring_cluster.sh line 101:
      kubectl replace -f $crdURL
                         ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
      kubectl replace -f "$crdURL"


In monitoring/bin/deploy_monitoring_cluster.sh line 103:
      kubectl create -f $crdURL
                        ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
      kubectl create -f "$crdURL"


In monitoring/bin/deploy_monitoring_cluster.sh line 111:
kubectl delete daemonset -n $MON_NS -l app=prometheus-node-exporter --ignore-not-found
                            ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl delete daemonset -n "$MON_NS" -l app=prometheus-node-exporter --ignore-not-found


In monitoring/bin/deploy_monitoring_cluster.sh line 129:
  create_tls_certs $MON_NS monitoring ${apps[@]}
                   ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                      ^--------^ SC2068 (error): Double quote array expansions to avoid re-splitting elements.

Did you mean: 
  create_tls_certs "$MON_NS" monitoring ${apps[@]}


In monitoring/bin/deploy_monitoring_cluster.sh line 139:
  kubectl delete cm -n $MON_NS --ignore-not-found grafana-datasource-prom-https
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl delete cm -n "$MON_NS" --ignore-not-found grafana-datasource-prom-https


In monitoring/bin/deploy_monitoring_cluster.sh line 140:
  kubectl create cm -n $MON_NS grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl create cm -n "$MON_NS" grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS


In monitoring/bin/deploy_monitoring_cluster.sh line 141:
  kubectl label cm -n $MON_NS grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring
                      ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl label cm -n "$MON_NS" grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring


In monitoring/bin/deploy_monitoring_cluster.sh line 145:
  kubectl delete cm -n $MON_NS node-exporter-tls-web-config --ignore-not-found
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl delete cm -n "$MON_NS" node-exporter-tls-web-config --ignore-not-found


In monitoring/bin/deploy_monitoring_cluster.sh line 147:
  kubectl create cm -n $MON_NS node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml
                       ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl create cm -n "$MON_NS" node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 148:
  kubectl label cm -n $MON_NS node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring
                      ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl label cm -n "$MON_NS" node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring


In monitoring/bin/deploy_monitoring_cluster.sh line 160:
if helm3ReleaseExists prometheus-operator $MON_NS; then
                                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if helm3ReleaseExists prometheus-operator "$MON_NS"; then


In monitoring/bin/deploy_monitoring_cluster.sh line 169:
if helm3ReleaseExists $promRelease $MON_NS; then
                                   ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if helm3ReleaseExists $promRelease "$MON_NS"; then


In monitoring/bin/deploy_monitoring_cluster.sh line 183:
  kubectl delete -n $MON_NS --ignore-not-found \
                    ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl delete -n "$MON_NS" --ignore-not-found \


In monitoring/bin/deploy_monitoring_cluster.sh line 202:
chart2install="$(get_helmchart_reference $KUBE_PROM_STACK_CHART_REPO $KUBE_PROM_STACK_CHART_NAME $KUBE_PROM_STACK_CHART_VERSION)"
                                         ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                     ^-------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                                                 ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
chart2install="$(get_helmchart_reference "$KUBE_PROM_STACK_CHART_REPO" "$KUBE_PROM_STACK_CHART_NAME" "$KUBE_PROM_STACK_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 203:
versionstring="$(get_helm_versionstring  $KUBE_PROM_STACK_CHART_VERSION)"
                                         ^----------------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
versionstring="$(get_helm_versionstring  "$KUBE_PROM_STACK_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 206:
helm $helmDebug upgrade --install $promRelease \
     ^--------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
helm "$helmDebug" upgrade --install $promRelease \


In monitoring/bin/deploy_monitoring_cluster.sh line 207:
  --namespace $MON_NS \
              ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  --namespace "$MON_NS" \


In monitoring/bin/deploy_monitoring_cluster.sh line 208:
  -f $imageKeysFile \
     ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$imageKeysFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 210:
  -f $istioValuesFile \
     ^--------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$istioValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 211:
  -f $tlsValuesFile \
     ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$tlsValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 212:
  -f $nodePortValuesFile \
     ^-----------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$nodePortValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 213:
  -f $wnpValuesFile \
     ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$wnpValuesFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 214:
  -f $PROM_OPER_USER_YAML \
     ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$PROM_OPER_USER_YAML" \


In monitoring/bin/deploy_monitoring_cluster.sh line 215:
  -f $tempoDSFile \
     ^----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  -f "$tempoDSFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 226:
  $versionstring \
  ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  "$versionstring" \


In monitoring/bin/deploy_monitoring_cluster.sh line 227:
  $chart2install
  ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  "$chart2install"


In monitoring/bin/deploy_monitoring_cluster.sh line 232:
disable_sa_token_automount $MON_NS v4m-grafana
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-grafana


In monitoring/bin/deploy_monitoring_cluster.sh line 233:
disable_sa_token_automount $MON_NS sas-ops-acct      #Used w/Prometheus
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" sas-ops-acct      #Used w/Prometheus


In monitoring/bin/deploy_monitoring_cluster.sh line 234:
disable_sa_token_automount $MON_NS v4m-node-exporter
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-node-exporter


In monitoring/bin/deploy_monitoring_cluster.sh line 235:
disable_sa_token_automount $MON_NS v4m-alertmanager
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-alertmanager


In monitoring/bin/deploy_monitoring_cluster.sh line 238:
disable_sa_token_automount $MON_NS v4m-kube-state-metrics
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-kube-state-metrics


In monitoring/bin/deploy_monitoring_cluster.sh line 239:
enable_pod_token_automount $MON_NS deployment v4m-kube-state-metrics
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
enable_pod_token_automount "$MON_NS" deployment v4m-kube-state-metrics


In monitoring/bin/deploy_monitoring_cluster.sh line 240:
disable_sa_token_automount $MON_NS v4m-operator
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
disable_sa_token_automount "$MON_NS" v4m-operator


In monitoring/bin/deploy_monitoring_cluster.sh line 241:
enable_pod_token_automount $MON_NS deployment v4m-operator
                           ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
enable_pod_token_automount "$MON_NS" deployment v4m-operator


In monitoring/bin/deploy_monitoring_cluster.sh line 258:
  chart2install="$(get_helmchart_reference $TEMPO_CHART_REPO $TEMPO_CHART_NAME $TEMPO_CHART_VERSION)"
                                           ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                             ^---------------^ SC2086 (info): Double quote to prevent globbing and word splitting.
                                                                               ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  chart2install="$(get_helmchart_reference "$TEMPO_CHART_REPO" "$TEMPO_CHART_NAME" "$TEMPO_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 259:
  versionstring="$(get_helm_versionstring  $TEMPO_CHART_VERSION)"
                                           ^------------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  versionstring="$(get_helm_versionstring  "$TEMPO_CHART_VERSION")"


In monitoring/bin/deploy_monitoring_cluster.sh line 265:
    -f $imageKeysFile \
       ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    -f "$imageKeysFile" \


In monitoring/bin/deploy_monitoring_cluster.sh line 268:
    $versionstring \
    ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "$versionstring" \


In monitoring/bin/deploy_monitoring_cluster.sh line 269:
    $chart2install
    ^------------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
    "$chart2install"


In monitoring/bin/deploy_monitoring_cluster.sh line 274:
kubectl get ns $NGINX_NS 2>/dev/null
               ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl get ns "$NGINX_NS" 2>/dev/null


In monitoring/bin/deploy_monitoring_cluster.sh line 275:
if [ $? == 0 ]; then
     ^-- SC2181 (style): Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.


In monitoring/bin/deploy_monitoring_cluster.sh line 282:
  kubectl apply -n $NGINX_NS -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null
                   ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl apply -n "$NGINX_NS" -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null


In monitoring/bin/deploy_monitoring_cluster.sh line 286:
kubectl apply -n $MON_NS -f monitoring/monitors/kube/podMonitor-eventrouter.yaml 2>/dev/null
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/kube/podMonitor-eventrouter.yaml 2>/dev/null


In monitoring/bin/deploy_monitoring_cluster.sh line 289:
kubectl apply -n $MON_NS -f monitoring/monitors/logging/serviceMonitor-elasticsearch.yaml
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/logging/serviceMonitor-elasticsearch.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 292:
kubectl apply -n $MON_NS -f monitoring/monitors/logging/serviceMonitor-fluent-bit.yaml
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/logging/serviceMonitor-fluent-bit.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 293:
kubectl apply -n $MON_NS -f monitoring/monitors/logging/serviceMonitor-fluent-bit-v2.yaml
                 ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
kubectl apply -n "$MON_NS" -f monitoring/monitors/logging/serviceMonitor-fluent-bit-v2.yaml


In monitoring/bin/deploy_monitoring_cluster.sh line 298:
  kubectl apply -n $MON_NS -f $f
                   ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.
                              ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
  kubectl apply -n "$MON_NS" -f "$f"


In monitoring/bin/deploy_monitoring_cluster.sh line 327:
gf_url=$(get_service_url $MON_NS v4m-grafana  "$TLS_ENABLE")
                         ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
gf_url=$(get_service_url "$MON_NS" v4m-grafana  "$TLS_ENABLE")


In monitoring/bin/deploy_monitoring_cluster.sh line 333:
if helm3ReleaseExists v4m $MON_NS; then
                          ^-----^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
if helm3ReleaseExists v4m "$MON_NS"; then


In monitoring/bin/deploy_monitoring_cluster.sh line 345:
if [ ! -z "$gf_url" ]; then
     ^-- SC2236 (style): Use -n instead of ! -z.

For more information:
  https://www.shellcheck.net/wiki/SC2068 -- Double quote array expansions to ...
  https://www.shellcheck.net/wiki/SC2128 -- Expanding an array without an ind...
  https://www.shellcheck.net/wiki/SC2154 -- cert_generator is referenced but ...
----------

You can address the above issues in one of three ways:
1. Manually correct the issue in the offending shell script;
2. Disable specific issues by adding the comment:
  # shellcheck disable=NNNN
above the line that contains the issue, where NNNN is the error code;
3. Add '-e NNNN' to the SHELLCHECK_OPTS setting in your .yml action file.



shfmt errors

'shfmt -s' returned error 1 finding the following formatting issues:

----------
--- monitoring/bin/deploy_monitoring_cluster.sh.orig
+++ monitoring/bin/deploy_monitoring_cluster.sh
@@ -8,19 +8,19 @@
 source bin/service-url-include.sh
 
 if [ "$OPENSHIFT_CLUSTER" == "true" ]; then
-  if [ "${CHECK_OPENSHIFT_CLUSTER:-true}" == "true" ]; then
-    log_error "This script should not be run on OpenShift clusters"
-    log_error "Run monitoring/bin/deploy_monitoring_openshift.sh instead"
-    exit 1
-  fi
+	if [ "${CHECK_OPENSHIFT_CLUSTER:-true}" == "true" ]; then
+		log_error "This script should not be run on OpenShift clusters"
+		log_error "Run monitoring/bin/deploy_monitoring_openshift.sh instead"
+		exit 1
+	fi
 fi
 
 source bin/tls-include.sh
 if verify_cert_generator $MON_NS prometheus alertmanager grafana; then
-  log_debug "cert generator check OK [$cert_generator_ok]"
+	log_debug "cert generator check OK [$cert_generator_ok]"
 else
-  log_error "One or more required TLS certs do not exist and the expected certificate generator mechanism [$cert_generator] is not available to create the missing certs"
-  exit 1
+	log_error "One or more required TLS certs do not exist and the expected certificate generator mechanism [$cert_generator] is not available to create the missing certs"
+	exit 1
 fi
 
 helm2ReleaseCheck v4m-$MON_NS
@@ -32,33 +32,32 @@
 
 PROM_OPER_USER_YAML="${PROM_OPER_USER_YAML:-$USER_DIR/monitoring/user-values-prom-operator.yaml}"
 if [ ! -f "$PROM_OPER_USER_YAML" ]; then
-  log_debug "[$PROM_OPER_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
-  PROM_OPER_USER_YAML=$TMP_DIR/empty.yaml
+	log_debug "[$PROM_OPER_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
+	PROM_OPER_USER_YAML=$TMP_DIR/empty.yaml
 fi
 
 if [ "$HELM_DEBUG" == "true" ]; then
-  helmDebug="--debug"
+	helmDebug="--debug"
 fi
 
 if [ -z "$(kubectl get ns $MON_NS -o name 2>/dev/null)" ]; then
-  kubectl create ns $MON_NS
+	kubectl create ns $MON_NS
 
-  #Container Security: Disable serviceAccount Token Automounting
-  disable_sa_token_automount $MON_NS default
+	#Container Security: Disable serviceAccount Token Automounting
+	disable_sa_token_automount $MON_NS default
 fi
 
 #Generate yaml file with all container-related keys
-generateImageKeysFile "$PROMOP_FULL_IMAGE"          "monitoring/prom-operator_container_image.template"
-generateImageKeysFile "$ALERTMANAGER_FULL_IMAGE"    "$imageKeysFile"  "ALERTMANAGER_"
-generateImageKeysFile "$ADMWEBHOOK_FULL_IMAGE"      "$imageKeysFile"  "ADMWEBHOOK_"
-generateImageKeysFile "$KSM_FULL_IMAGE"             "$imageKeysFile"  "KSM_"
-generateImageKeysFile "$NODEXPORT_FULL_IMAGE"       "$imageKeysFile"  "NODEXPORT_"
-generateImageKeysFile "$PROMETHEUS_FULL_IMAGE"      "$imageKeysFile"  "PROMETHEUS_"
-generateImageKeysFile "$CONFIGRELOAD_FULL_IMAGE"    "$imageKeysFile"  "CONFIGRELOAD_"
-generateImageKeysFile "$GRAFANA_FULL_IMAGE"         "$imageKeysFile"  "GRAFANA_"
-generateImageKeysFile "$GRAFANA_SIDECAR_FULL_IMAGE" "$imageKeysFile"  "SIDECAR_"
+generateImageKeysFile "$PROMOP_FULL_IMAGE" "monitoring/prom-operator_container_image.template"
+generateImageKeysFile "$ALERTMANAGER_FULL_IMAGE" "$imageKeysFile" "ALERTMANAGER_"
+generateImageKeysFile "$ADMWEBHOOK_FULL_IMAGE" "$imageKeysFile" "ADMWEBHOOK_"
+generateImageKeysFile "$KSM_FULL_IMAGE" "$imageKeysFile" "KSM_"
+generateImageKeysFile "$NODEXPORT_FULL_IMAGE" "$imageKeysFile" "NODEXPORT_"
+generateImageKeysFile "$PROMETHEUS_FULL_IMAGE" "$imageKeysFile" "PROMETHEUS_"
+generateImageKeysFile "$CONFIGRELOAD_FULL_IMAGE" "$imageKeysFile" "CONFIGRELOAD_"
+generateImageKeysFile "$GRAFANA_FULL_IMAGE" "$imageKeysFile" "GRAFANA_"
+generateImageKeysFile "$GRAFANA_SIDECAR_FULL_IMAGE" "$imageKeysFile" "SIDECAR_"
 
-
 set -e
 log_notice "Deploying monitoring to the [$MON_NS] namespace..."
 
@@ -68,43 +67,43 @@
 istioValuesFile=$TMP_DIR/empty.yaml
 # Istio - Federate data from Istio's Prometheus instance
 if [ "$ISTIO_ENABLED" == "true" ]; then
-  log_verbose "Including Istio metric federation"
-  istioValuesFile=$TMP_DIR/values-prom-operator-tmp.yaml
+	log_verbose "Including Istio metric federation"
+	istioValuesFile=$TMP_DIR/values-prom-operator-tmp.yaml
 else
-  log_debug "ISTIO_ENABLED flag not set"
-  log_debug "Skipping deployment of federated scrape of Istio Prometheus instance"
+	log_debug "ISTIO_ENABLED flag not set"
+	log_debug "Skipping deployment of federated scrape of Istio Prometheus instance"
 fi
 
 # Check if Prometheus Operator CRDs are already installed
 PROM_OPERATOR_CRD_UPDATE=${PROM_OPERATOR_CRD_UPDATE:-true}
 if [ "$PROM_OPERATOR_CRD_UPDATE" == "true" ]; then
-  log_verbose "Updating Prometheus Operator custom resource definitions"
-  crds=( alertmanagerconfigs alertmanagers prometheuses prometheusrules podmonitors servicemonitors thanosrulers probes )
-  for crd in "${crds[@]}"; do
-    
-    ## Determine CRD URL - if in an airgap environment, look for them in USER_DIR.
-    if [ "$AIRGAP_DEPLOYMENT" == "true" ]; then
-      crdURL=$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION/monitoring.coreos.com_$crd.yaml
+	log_verbose "Updating Prometheus Operator custom resource definitions"
+	crds=(alertmanagerconfigs alertmanagers prometheuses prometheusrules podmonitors servicemonitors thanosrulers probes)
+	for crd in "${crds[@]}"; do
 
-      ## Fail if the CRDs could not be located.
-      if [ ! -f "$crdURL" ]; then
-        log_error "Unable to locate file: [monitoring.coreos.com_$crd.yaml] in"
-        log_error "[$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION] directory"
-        log_error "Please make sure to provide all Prometheus Operator CRDs before running the deployment"
-        exit 1
-      fi
-    else
-      crdURL="https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/$PROM_OPERATOR_CRD_VERSION/example/prometheus-operator-crd/monitoring.coreos.com_$crd.yaml"
-    fi 
+		## Determine CRD URL - if in an airgap environment, look for them in USER_DIR.
+		if [ "$AIRGAP_DEPLOYMENT" == "true" ]; then
+			crdURL=$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION/monitoring.coreos.com_$crd.yaml
 
-    if kubectl get crd $crd.monitoring.coreos.com 1>/dev/null 2>&1; then
-      kubectl replace -f $crdURL
-    else
-      kubectl create -f $crdURL
-    fi
-  done
+			## Fail if the CRDs could not be located.
+			if [ ! -f "$crdURL" ]; then
+				log_error "Unable to locate file: [monitoring.coreos.com_$crd.yaml] in"
+				log_error "[$USER_DIR/monitoring/prometheus-operator-crd/$PROM_OPERATOR_CRD_VERSION] directory"
+				log_error "Please make sure to provide all Prometheus Operator CRDs before running the deployment"
+				exit 1
+			fi
+		else
+			crdURL="https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/$PROM_OPERATOR_CRD_VERSION/example/prometheus-operator-crd/monitoring.coreos.com_$crd.yaml"
+		fi
+
+		if kubectl get crd $crd.monitoring.coreos.com 1>/dev/null 2>&1; then
+			kubectl replace -f $crdURL
+		else
+			kubectl create -f $crdURL
+		fi
+	done
 else
-  log_debug "Prometheus Operator CRD update disabled"
+	log_debug "Prometheus Operator CRD update disabled"
 fi
 
 # Remove existing DaemonSets in case of an upgrade-in-place
@@ -113,11 +112,11 @@
 # Optional workload node placement support
 MON_NODE_PLACEMENT_ENABLE=${MON_NODE_PLACEMENT_ENABLE:-${NODE_PLACEMENT_ENABLE:-false}}
 if [ "$MON_NODE_PLACEMENT_ENABLE" == "true" ]; then
-  log_verbose "Enabling monitoring components for workload node placement"
-  wnpValuesFile="monitoring/node-placement/values-prom-operator-wnp.yaml"
+	log_verbose "Enabling monitoring components for workload node placement"
+	wnpValuesFile="monitoring/node-placement/values-prom-operator-wnp.yaml"
 else
-  log_debug "Workload node placement support is disabled"
-  wnpValuesFile="$TMP_DIR/empty.yaml"
+	log_debug "Workload node placement support is disabled"
+	wnpValuesFile="$TMP_DIR/empty.yaml"
 fi
 
 # Optional TLS Support
@@ -125,112 +124,112 @@
 serviceMonitorEndpointScheme="http"
 
 if [ "$TLS_ENABLE" == "true" ]; then
-  apps=( prometheus alertmanager grafana )
-  create_tls_certs $MON_NS monitoring ${apps[@]}
+	apps=(prometheus alertmanager grafana)
+	create_tls_certs $MON_NS monitoring ${apps[@]}
 
-  tlsValuesFile=monitoring/tls/values-prom-operator-tls.yaml
-  log_debug "Including TLS response file $tlsValuesFile"
+	tlsValuesFile=monitoring/tls/values-prom-operator-tls.yaml
+	log_debug "Including TLS response file $tlsValuesFile"
 
-  log_verbose "Provisioning TLS-enabled Prometheus datasource for Grafana"
-  grafanaDS=grafana-datasource-prom-https.yaml
-  if [ "$MON_TLS_PATH_INGRESS" == "true" ]; then
-    grafanaDS=grafana-datasource-prom-https-path.yaml
-  fi
-  kubectl delete cm -n $MON_NS --ignore-not-found grafana-datasource-prom-https
-  kubectl create cm -n $MON_NS grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS
-  kubectl label cm -n $MON_NS grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring
+	log_verbose "Provisioning TLS-enabled Prometheus datasource for Grafana"
+	grafanaDS=grafana-datasource-prom-https.yaml
+	if [ "$MON_TLS_PATH_INGRESS" == "true" ]; then
+		grafanaDS=grafana-datasource-prom-https-path.yaml
+	fi
+	kubectl delete cm -n $MON_NS --ignore-not-found grafana-datasource-prom-https
+	kubectl create cm -n $MON_NS grafana-datasource-prom-https --from-file monitoring/tls/$grafanaDS
+	kubectl label cm -n $MON_NS grafana-datasource-prom-https grafana_datasource=1 sas.com/monitoring-base=kube-viya-monitoring
 
-  # node-exporter TLS
-  log_verbose "Enabling Prometheus node-exporter for TLS"
-  kubectl delete cm -n $MON_NS node-exporter-tls-web-config --ignore-not-found
-  sleep 1
-  kubectl create cm -n $MON_NS node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml
-  kubectl label cm -n $MON_NS node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring
+	# node-exporter TLS
+	log_verbose "Enabling Prometheus node-exporter for TLS"
+	kubectl delete cm -n $MON_NS node-exporter-tls-web-config --ignore-not-found
+	sleep 1
+	kubectl create cm -n $MON_NS node-exporter-tls-web-config --from-file monitoring/tls/node-exporter-web.yaml
+	kubectl label cm -n $MON_NS node-exporter-tls-web-config sas.com/monitoring-base=kube-viya-monitoring
 
-  serviceMonitorEndpointScheme="https"
+	serviceMonitorEndpointScheme="https"
 fi
 
 nodePortValuesFile=$TMP_DIR/empty.yaml
 PROM_NODEPORT_ENABLE=${PROM_NODEPORT_ENABLE:-false}
 if [ "$PROM_NODEPORT_ENABLE" == "true" ]; then
-  log_debug "Enabling NodePort access for Prometheus and Alertmanager"
-  nodePortValuesFile=monitoring/values-prom-nodeport.yaml
+	log_debug "Enabling NodePort access for Prometheus and Alertmanager"
+	nodePortValuesFile=monitoring/values-prom-nodeport.yaml
 fi
 
 if helm3ReleaseExists prometheus-operator $MON_NS; then
-  promRelease=prometheus-operator
-  promName=prometheus-operator
+	promRelease=prometheus-operator
+	promName=prometheus-operator
 else
-  promRelease=v4m-prometheus-operator
-  promName=v4m
+	promRelease=v4m-prometheus-operator
+	promName=v4m
 fi
 log_verbose "User response file: [$PROM_OPER_USER_YAML]"
 log_info "Deploying the kube-prometheus stack. This may take a few minutes ..."
 if helm3ReleaseExists $promRelease $MON_NS; then
-  log_verbose "Upgrading via Helm ($(date) - timeout 20m)"
+	log_verbose "Upgrading via Helm ($(date) - timeout 20m)"
 else
-  grafanaPwd="$GRAFANA_ADMIN_PASSWORD"
-  if [ "$grafanaPwd" == "" ]; then
-    log_debug "Generating random Grafana admin password"
-    showPass="true"
-    grafanaPwd="$(randomPassword)"
-  fi
-  log_verbose "Installing via Helm ($(date) - timeout 20m)"
+	grafanaPwd="$GRAFANA_ADMIN_PASSWORD"
+	if [ "$grafanaPwd" == "" ]; then
+		log_debug "Generating random Grafana admin password"
+		showPass="true"
+		grafanaPwd="$(randomPassword)"
+	fi
+	log_verbose "Installing via Helm ($(date) - timeout 20m)"
 fi
 
 # See https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack#from-21x-to-22x
-if [ "$V4M_CURRENT_VERSION_MAJOR" == "1" ] && [[ "$V4M_CURRENT_VERSION_MINOR" =~ [0-5] ]]; then
-  kubectl delete -n $MON_NS --ignore-not-found \
-    deployments.apps \
-    -l app.kubernetes.io/instance=v4m-prometheus-operator,app.kubernetes.io/name=kube-state-metrics
+if [ "$V4M_CURRENT_VERSION_MAJOR" == "1" ] && [[ $V4M_CURRENT_VERSION_MINOR =~ [0-5] ]]; then
+	kubectl delete -n $MON_NS --ignore-not-found \
+		deployments.apps \
+		-l app.kubernetes.io/instance=v4m-prometheus-operator,app.kubernetes.io/name=kube-state-metrics
 fi
 
 TRACING_ENABLE="${TRACING_ENABLE:-false}"
 if [ "$TRACING_ENABLE" == "false" ]; then
-  tempoDSFile=$TMP_DIR/empty.yaml
+	tempoDSFile=$TMP_DIR/empty.yaml
 else
-  TEMPO_USER_YAML="${TEMPO_USER_YAML:-$USER_DIR/monitoring/user-values-tempo.yaml}"
-  if [ ! -f "$TEMPO_USER_YAML" ]; then
-    log_debug "[$TEMPO_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
-    TEMPO_USER_YAML=$TMP_DIR/empty.yaml
-  fi
-  tempoDSFile="monitoring/grafana-datasource-tempo.yaml"
-fi 
+	TEMPO_USER_YAML="${TEMPO_USER_YAML:-$USER_DIR/monitoring/user-values-tempo.yaml}"
+	if [ ! -f "$TEMPO_USER_YAML" ]; then
+		log_debug "[$TEMPO_USER_YAML] not found. Using $TMP_DIR/empty.yaml"
+		TEMPO_USER_YAML=$TMP_DIR/empty.yaml
+	fi
+	tempoDSFile="monitoring/grafana-datasource-tempo.yaml"
+fi
 
 # Get Helm Chart Name
 log_debug "Kube-Prometheus Stack Helm Chart: repo [$KUBE_PROM_STACK_CHART_REPO] name [$KUBE_PROM_STACK_CHART_NAME] version [$KUBE_PROM_STACK_CHART_VERSION]"
 chart2install="$(get_helmchart_reference $KUBE_PROM_STACK_CHART_REPO $KUBE_PROM_STACK_CHART_NAME $KUBE_PROM_STACK_CHART_VERSION)"
-versionstring="$(get_helm_versionstring  $KUBE_PROM_STACK_CHART_VERSION)"
+versionstring="$(get_helm_versionstring $KUBE_PROM_STACK_CHART_VERSION)"
 log_debug "Installing Helm chart from artifact [$chart2install]"
 
 helm $helmDebug upgrade --install $promRelease \
-  --namespace $MON_NS \
-  -f $imageKeysFile \
-  -f monitoring/values-prom-operator.yaml \
-  -f $istioValuesFile \
-  -f $tlsValuesFile \
-  -f $nodePortValuesFile \
-  -f $wnpValuesFile \
-  -f $PROM_OPER_USER_YAML \
-  -f $tempoDSFile \
-  --atomic \
-  --timeout 20m \
-  --set nameOverride=$promName \
-  --set fullnameOverride=$promName \
-  --set prometheus-node-exporter.fullnameOverride=$promName-node-exporter \
-  --set kube-state-metrics.fullnameOverride=$promName-kube-state-metrics \
-  --set grafana.fullnameOverride=$promName-grafana \
-  --set grafana.adminPassword="$grafanaPwd" \
-  --set grafana.serviceMonitor.scheme="$serviceMonitorEndpointScheme" \
-  --set prometheus.prometheusSpec.alertingEndpoints[0].namespace="$MON_NS" \
-  $versionstring \
-  $chart2install
+	--namespace $MON_NS \
+	-f $imageKeysFile \
+	-f monitoring/values-prom-operator.yaml \
+	-f $istioValuesFile \
+	-f $tlsValuesFile \
+	-f $nodePortValuesFile \
+	-f $wnpValuesFile \
+	-f $PROM_OPER_USER_YAML \
+	-f $tempoDSFile \
+	--atomic \
+	--timeout 20m \
+	--set nameOverride=$promName \
+	--set fullnameOverride=$promName \
+	--set prometheus-node-exporter.fullnameOverride=$promName-node-exporter \
+	--set kube-state-metrics.fullnameOverride=$promName-kube-state-metrics \
+	--set grafana.fullnameOverride=$promName-grafana \
+	--set grafana.adminPassword="$grafanaPwd" \
+	--set grafana.serviceMonitor.scheme="$serviceMonitorEndpointScheme" \
+	--set prometheus.prometheusSpec.alertingEndpoints[0].namespace="$MON_NS" \
+	$versionstring \
+	$chart2install
 
 sleep 2
 
 #Container Security: Disable serviceAccount Token Automounting
 disable_sa_token_automount $MON_NS v4m-grafana
-disable_sa_token_automount $MON_NS sas-ops-acct      #Used w/Prometheus
+disable_sa_token_automount $MON_NS sas-ops-acct #Used w/Prometheus
 disable_sa_token_automount $MON_NS v4m-node-exporter
 disable_sa_token_automount $MON_NS v4m-alertmanager
 
@@ -244,42 +243,42 @@
 log_verbose "Deploying cluster ServiceMonitors"
 
 if [ "$TRACING_ENABLE" == "true" ]; then
-  log_info "Tracing enabled..."
+	log_info "Tracing enabled..."
 
-  #Generate yaml file with all container-related keys
-  generateImageKeysFile "$TEMPO_FULL_IMAGE" "monitoring/tempo_container_image.template"
+	#Generate yaml file with all container-related keys
+	generateImageKeysFile "$TEMPO_FULL_IMAGE" "monitoring/tempo_container_image.template"
 
-  # Add the grafana helm chart repo
-  helmRepoAdd grafana https://grafana.github.io/helm-charts
-  helm repo update
+	# Add the grafana helm chart repo
+	helmRepoAdd grafana https://grafana.github.io/helm-charts
+	helm repo update
 
-  # Get Helm Chart Name
-  log_debug "Tempo Helm Chart: repo [$TEMPO_CHART_REPO] name [$TEMPO_CHART_NAME] version [$TEMPO_CHART_VERSION]"
-  chart2install="$(get_helmchart_reference $TEMPO_CHART_REPO $TEMPO_CHART_NAME $TEMPO_CHART_VERSION)"
-  versionstring="$(get_helm_versionstring  $TEMPO_CHART_VERSION)"
-  log_debug "Installing Helm chart from artifact [$chart2install]"
+	# Get Helm Chart Name
+	log_debug "Tempo Helm Chart: repo [$TEMPO_CHART_REPO] name [$TEMPO_CHART_NAME] version [$TEMPO_CHART_VERSION]"
+	chart2install="$(get_helmchart_reference $TEMPO_CHART_REPO $TEMPO_CHART_NAME $TEMPO_CHART_VERSION)"
+	versionstring="$(get_helm_versionstring $TEMPO_CHART_VERSION)"
+	log_debug "Installing Helm chart from artifact [$chart2install]"
 
-  log_info "Installing tempo"
-  helm upgrade --install v4m-tempo \
-    -n "$MON_NS" \
-    -f $imageKeysFile \
-    -f monitoring/values-tempo.yaml \
-    -f "$TEMPO_USER_YAML" \
-    $versionstring \
-    $chart2install
+	log_info "Installing tempo"
+	helm upgrade --install v4m-tempo \
+		-n "$MON_NS" \
+		-f $imageKeysFile \
+		-f monitoring/values-tempo.yaml \
+		-f "$TEMPO_USER_YAML" \
+		$versionstring \
+		$chart2install
 fi
 
 # NGINX
 set +e
 kubectl get ns $NGINX_NS 2>/dev/null
 if [ $? == 0 ]; then
-  nginxFound=true
+	nginxFound=true
 fi
 set -e
 
 if [ "$nginxFound" == "true" ]; then
-  log_verbose "NGINX found. Deploying podMonitor to [$NGINX_NS] namespace"
-  kubectl apply -n $NGINX_NS -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null
+	log_verbose "NGINX found. Deploying podMonitor to [$NGINX_NS] namespace"
+	kubectl apply -n $NGINX_NS -f monitoring/monitors/kube/podMonitor-nginx.yaml 2>/dev/null
 fi
 
 # Eventrouter ServiceMonitor
@@ -295,25 +294,25 @@
 # Rules
 log_verbose "Adding Prometheus recording rules"
 for f in monitoring/rules/viya/rules-*.yaml; do
-  kubectl apply -n $MON_NS -f $f
+	kubectl apply -n $MON_NS -f $f
 done
 
 # Elasticsearch Datasource for Grafana
 LOGGING_DATASOURCE="${LOGGING_DATASOURCE:-false}"
 if [ "$LOGGING_DATASOURCE" == "true" ]; then
-  set +e
-  log_debug "Creating the logging data source using the create_logging_datasource script"
-  monitoring/bin/create_logging_datasource.sh
+	set +e
+	log_debug "Creating the logging data source using the create_logging_datasource script"
+	monitoring/bin/create_logging_datasource.sh
 
-  if (( $? == 1 )); then
-    log_warn "Unable to configure the logging data source at this time."
-    log_warn "Please address the errors and re-run the follow command to create the data source at a later time:"
-    log_warn "monitoring/bin/create_logging_datasource.sh"
-  fi
-  set -e
+	if (($? == 1)); then
+		log_warn "Unable to configure the logging data source at this time."
+		log_warn "Please address the errors and re-run the follow command to create the data source at a later time:"
+		log_warn "monitoring/bin/create_logging_datasource.sh"
+	fi
+	set -e
 else
-  log_debug "LOGGING_DATASOURCE not set"
-  log_debug "Skipping creation of logging data source for Grafana"
+	log_debug "LOGGING_DATASOURCE not set"
+	log_debug "Skipping creation of logging data source for Grafana"
 fi
 
 echo ""
@@ -324,32 +323,32 @@
 get_ingress_ports
 
 # get URLs for Grafana, Prometheus and AlertManager
-gf_url=$(get_service_url $MON_NS v4m-grafana  "$TLS_ENABLE")
+gf_url=$(get_service_url $MON_NS v4m-grafana "$TLS_ENABLE")
 # pr_url=$(get_url $MON_NS v4m-prometheus  "$TLS_ENABLE")
 # am_url=$(get_url $MON_NS v4m-alertmanager  "$TLS_ENABLE")
 set -e
 
 # If a deployment with the old name exists, remove it first
 if helm3ReleaseExists v4m $MON_NS; then
-  log_verbose "Removing outdated SAS Viya Monitoring Helm chart release from [$MON_NS] namespace"
-  helm uninstall -n "$MON_NS" "v4m"
+	log_verbose "Removing outdated SAS Viya Monitoring Helm chart release from [$MON_NS] namespace"
+	helm uninstall -n "$MON_NS" "v4m"
 fi
 
 if ! deployV4MInfo "$MON_NS" "v4m-metrics"; then
-  log_warn "Unable to update SAS Viya Monitoring Helm chart release"
+	log_warn "Unable to update SAS Viya Monitoring Helm chart release"
 fi
 
 # Print URL to access web apps
 log_notice ""
 log_notice "GRAFANA: "
 if [ ! -z "$gf_url" ]; then
-   log_notice "  $gf_url"
+	log_notice "  $gf_url"
 else
-   log_notice " It was not possible to determine the URL needed to access Grafana. Note  "
-   log_notice " that this is not necessarily a sign of a problem; it may only reflect an "
-   log_notice " ingress or network access configuration that this script does not handle."
+	log_notice " It was not possible to determine the URL needed to access Grafana. Note  "
+	log_notice " that this is not necessarily a sign of a problem; it may only reflect an "
+	log_notice " ingress or network access configuration that this script does not handle."
 fi
-   log_notice ""
+log_notice ""
 
 #log_notice ""
 #log_notice "================================================================================"
@@ -372,14 +371,12 @@
 #log_notice ""
 
 if [ "$showPass" == "true" ]; then
-  # Find the grafana pod
- 
-  log_notice " Generated Grafana admin password is: $grafanaPwd"
-  log_notice " To change the password, run the following script (replace myNewPassword with an updated password):"
-  log_notice " monitoring/bin/change_grafana_admin_password.sh -p myNewPassword"
+	# Find the grafana pod
+
+	log_notice " Generated Grafana admin password is: $grafanaPwd"
+	log_notice " To change the password, run the following script (replace myNewPassword with an updated password):"
+	log_notice " monitoring/bin/change_grafana_admin_password.sh -p myNewPassword"
 fi
 
 log_message ""
 log_notice " Successfully deployed components to the [$MON_NS] namespace"
-
-
----------

You can reformat the above files to meet shfmt's requirements by typing:

  shfmt -s -w filename


github-actions[bot] avatar Apr 09 '24 21:04 github-actions[bot]

Abandoning this change due to unexpected problems when ingress is not defined.

gsmith-sas avatar Jun 12 '24 20:06 gsmith-sas