diff --git a/hack/grafana-dashboards-configmap-generator/bin/grafana_dashboards_generate.sh b/hack/grafana-dashboards-configmap-generator/bin/grafana_dashboards_generate.sh
index d89cfc97f102e7bc621f2a7ecb98b2428f67aeea..ee6b49e7afd2eb23715bdac938aa298b446ac72f 100755
--- a/hack/grafana-dashboards-configmap-generator/bin/grafana_dashboards_generate.sh
+++ b/hack/grafana-dashboards-configmap-generator/bin/grafana_dashboards_generate.sh
@@ -77,11 +77,13 @@ DASHBOARD_HEADER_FILE="$TEMPLATES_DIR/dashboard.header"
 DASHBOARD_FOOT_FILE="$TEMPLATES_DIR/dashboard.foot"
 CONFIGMAP_HEADER="$TEMPLATES_DIR/ConfigMap.header"
 GRAFANA_DEPLOYMENT_TEMPLATE="$TEMPLATES_DIR/grafana-deployment-template.yaml"
+GRAFANA_DASHBOARDS_TEMPLATE="$TEMPLATES_DIR/grafana-dashboards-template.yaml"
 OUTPUT_BASE_DIR="$TOOL_HOME/output"
 
 # Some default values
 OUTPUT_FILE="$OUTPUT_BASE_DIR/grafana-dashboards-configMap-$DATE_EXEC.yaml"
 GRAFANA_OUTPUT_FILE="$OUTPUT_BASE_DIR/grafana-deployment-$DATE_EXEC.yaml"
+GRAFANA_DASHBOARD_OUTPUT_FILE="$OUTPUT_BASE_DIR/grafana-dashboards-$DATE_EXEC.yaml"
 DASHBOARDS_DIR="$TEMPLATES_DIR/grafana-dashboards"
 
 APPLY_CONFIGMAP="false"
@@ -100,6 +102,10 @@ while (( "$#" )); do
             GRAFANA_OUTPUT_FILE="$2"
             shift
             ;;
+        "-d" | "--grafana-dashboard-output-file")
+            GRAFANA_DASHBOARD_OUTPUT_FILE="$2"
+            shift
+            ;;
         "-i" | "--input-dir")
             DASHBOARDS_DIR="$2"
             shift
@@ -298,6 +304,7 @@ test -f "$DASHBOARD_FOOT_FILE" || { echo "Template $DASHBOARD_FOOT_FILE not foun
 test -f "$DASHBOARD_HEADER_FILE" || { echo "Template $DASHBOARD_HEADER_FILE not found"; exit 1; }
 test -f "$CONFIGMAP_HEADER" || { echo "Template $CONFIGMAP_HEADER not found"; exit 1; }
 test -f "$GRAFANA_DEPLOYMENT_TEMPLATE" || { echo "Template $GRAFANA_DEPLOYMENT_TEMPLATE not found"; exit 1; }
+test -f "$GRAFANA_DASHBOARDS_TEMPLATE" || { echo "Template $GRAFANA_DEPLOYMENT_TEMPLATE not found"; exit 1; }
 
 test ! -d "$OUTPUT_BASE_DIR" && { echo "ERROR: missing directory $OUTPUT_BASE_DIR"; exit 1; }
 
@@ -306,6 +313,7 @@ test -d "$DASHBOARDS_DIR" || { echo "ERROR: Dashboards directory not found: $DAS
 
 test -f "$OUTPUT_FILE" && { echo "ERROR: Output file already exists: $OUTPUT_FILE"; exit 1; }
 test -f "$GRAFANA_OUTPUT_FILE" && { echo "ERROR: Output file already exists: $GRAFANA_OUTPUT_FILE"; exit 1; }
+test -f "$GRAFANA_DASHBOARD_OUTPUT_FILE" && { echo "ERROR: Output file already exists: $GRAFANA_DASHBOARD_OUTPUT_FILE"; exit 1; }
 touch $OUTPUT_FILE || { echo "ERROR: Unable to create or modify $OUTPUT_FILE"; exit 1; }
 touch $GRAFANA_OUTPUT_FILE || { echo "ERROR: Unable to create or modify $GRAFANA_OUTPUT_FILE"; exit 1; }
 
@@ -380,6 +388,22 @@ sed -e "s#XXX_VOLUMES_XXX#$(indentMultiLineString 6 "$VOLUMES")#" \
    -e "s#XXX_WATCH_DIR_XXX#$(indentMultiLineString 10 "$WATCH_DIR")#" \
    $GRAFANA_DEPLOYMENT_TEMPLATE > $GRAFANA_OUTPUT_FILE
 
+echo
+echo "# Generating Grafana dashboard sources file for $total_configmaps_created directories"
+DASHBOARD_SOURCES=""
+for (( j=0; j<$total_configmaps_created; j++ )); do
+  echo "# Preparing grafana dashboards sources to support configmap: /grafana-dashboard-definitions/$j"
+  test "$DASHBOARD_SOURCES" && DASHBOARD_SOURCES="$DASHBOARD_SOURCES\n- name: '$j'\n  org_id: 1\n  folder: ''\n  type: file\n  options:\n    folder: /grafana-dashboard-definitions/$j" || DASHBOARD_SOURCES="- name: '$j'\n  org_id: 1\n  folder: ''\n  type: file\n  options:\n    folder: /grafana-dashboard-definitions/$j"
+
+  # echo "DEBUG:"
+  # echo "DASHBOARD_SOURCES: $DASHBOARD_SOURCES"
+  echo
+done
+
+echo "# Processing grafana dashboards template into $GRAFANA_DASHBOARD_OUTPUT_FILE"
+sed -e "s#XXX_DASHBOARDS_XXX#$(indentMultiLineString 4 "$DASHBOARD_SOURCES")#" \
+   $GRAFANA_DASHBOARDS_TEMPLATE > $GRAFANA_DASHBOARD_OUTPUT_FILE
+
 # If output file is empty we can delete it and exit
 test ! -s "$OUTPUT_FILE" && { echo "# Configmap empty, deleting file"; rm $OUTPUT_FILE; exit 0; }
 test ! -s "$GRAFANA_OUTPUT_FILE" && { echo "# Configmap empty, deleting file"; rm $GRAFANA_OUTPUT_FILE; exit 0; }
diff --git a/hack/grafana-dashboards-configmap-generator/templates/grafana-dashboards-template.yaml b/hack/grafana-dashboards-configmap-generator/templates/grafana-dashboards-template.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a8b009828f9e7ab1542aac02beaed4dc78bf6ef1
--- /dev/null
+++ b/hack/grafana-dashboards-configmap-generator/templates/grafana-dashboards-template.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: grafana-dashboards
+data:
+  dashboards.yaml: |+
+XXX_DASHBOARDS_XXX
diff --git a/hack/scripts/generate-manifests.sh b/hack/scripts/generate-manifests.sh
index b6f35a2df589b310c70f5dfbd95881230c936771..6f14056b9c69cf75ebcea27ce866eca7ce56521e 100755
--- a/hack/scripts/generate-manifests.sh
+++ b/hack/scripts/generate-manifests.sh
@@ -13,9 +13,10 @@ hack/scripts/generate-dashboards-configmap.sh > manifests/grafana/grafana-dashbo
 # Input dir: assets/grafana
 # output file: manifests/grafana/grafana-dashboards.yaml
 # grafana deployment output file: manifests/grafana/grafana-deployment.yaml
-test -f manifests/grafana/grafana-dashboards.yaml && rm -f manifests/grafana/grafana-dashboard-definitions.yaml
+test -f manifests/grafana/grafana-dashboard-definitions.yaml && rm -f manifests/grafana/grafana-dashboard-definitions.yaml
 test -f manifests/grafana/grafana-deployment.yaml && rm -f manifests/grafana/grafana-deployment.yaml
-hack/grafana-dashboards-configmap-generator/bin/grafana_dashboards_generate.sh -s 240000 -i assets/grafana/generated -o manifests/grafana/grafana-dashboard-definitions.yaml -g manifests/grafana/grafana-deployment.yaml
+test -f manifests/grafana/grafana-dashboards.yaml && rm -f manifests/grafana/grafana-dashboards.yaml
+hack/grafana-dashboards-configmap-generator/bin/grafana_dashboards_generate.sh -s 240000 -i assets/grafana/generated -o manifests/grafana/grafana-dashboard-definitions.yaml -g manifests/grafana/grafana-deployment.yaml -d manifests/grafana/grafana-dashboards.yaml
 
 # Generate Grafana Credentials Secret
 hack/scripts/generate-grafana-credentials-secret.sh admin admin > manifests/grafana/grafana-credentials.yaml
diff --git a/manifests/grafana/grafana-dashboards.yaml b/manifests/grafana/grafana-dashboards.yaml
index ed3fe5fe0e7d178e062aef56cfee4afae3c590be..772d3f64902f652365e4b7b2714f483cdde42b6e 100644
--- a/manifests/grafana/grafana-dashboards.yaml
+++ b/manifests/grafana/grafana-dashboards.yaml
@@ -4,7 +4,7 @@ metadata:
   name: grafana-dashboards
 data:
   dashboards.yaml: |+
-    - name: 'default'
+    - name: '0'
       org_id: 1
       folder: ''
       type: file