diff --git a/examples/grafana-additional-jsonnet-dashboard-example.jsonnet b/examples/grafana-additional-jsonnet-dashboard-example.jsonnet
index fcfdd1fb4a90e859e1617cf25c2177cca10796a6..8c1973caa3a4896b28c6ba42981fdc05ac2322aa 100644
--- a/examples/grafana-additional-jsonnet-dashboard-example.jsonnet
+++ b/examples/grafana-additional-jsonnet-dashboard-example.jsonnet
@@ -6,34 +6,36 @@ local template = grafana.template;
 local graphPanel = grafana.graphPanel;
 
 local kp = (import 'kube-prometheus/main.libsonnet') + {
-  _config+:: {
-    namespace: 'monitoring',
-  },
-  grafana+:: {
-    dashboards+:: {
-      'my-dashboard.json':
-        dashboard.new('My Dashboard')
-        .addTemplate(
-          {
-            current: {
-              text: 'Prometheus',
-              value: 'Prometheus',
+  values+:: {
+    common+:: {
+      namespace: 'monitoring',
+    },
+    grafana+: {
+      dashboards+:: {
+        'my-dashboard.json':
+          dashboard.new('My Dashboard')
+          .addTemplate(
+            {
+              current: {
+                text: 'Prometheus',
+                value: 'Prometheus',
+              },
+              hide: 0,
+              label: null,
+              name: 'datasource',
+              options: [],
+              query: 'prometheus',
+              refresh: 1,
+              regex: '',
+              type: 'datasource',
             },
-            hide: 0,
-            label: null,
-            name: 'datasource',
-            options: [],
-            query: 'prometheus',
-            refresh: 1,
-            regex: '',
-            type: 'datasource',
-          },
-        )
-        .addRow(
-          row.new()
-          .addPanel(graphPanel.new('My Panel', span=6, datasource='$datasource')
-                    .addTarget(prometheus.target('vector(1)')))
-        ),
+          )
+          .addRow(
+            row.new()
+            .addPanel(graphPanel.new('My Panel', span=6, datasource='$datasource')
+                      .addTarget(prometheus.target('vector(1)')))
+          ),
+      },
     },
   },
 };
diff --git a/examples/grafana-additional-rendered-dashboard-example-2.jsonnet b/examples/grafana-additional-rendered-dashboard-example-2.jsonnet
index e18c6242479a1213ce3e2e6b3bb5460916eaaad2..7b8825d759f38329f9471129aba6d3480385f4e8 100644
--- a/examples/grafana-additional-rendered-dashboard-example-2.jsonnet
+++ b/examples/grafana-additional-rendered-dashboard-example-2.jsonnet
@@ -1,10 +1,12 @@
 local kp = (import 'kube-prometheus/main.libsonnet') + {
-  _config+:: {
-    namespace: 'monitoring',
-  },
-  grafana+:: {
-    rawDashboards+:: {
-      'my-dashboard.json': (importstr 'example-grafana-dashboard.json'),
+  values+:: {
+    common+:: {
+      namespace: 'monitoring',
+    },
+    grafana+: {
+      rawDashboards+:: {
+        'my-dashboard.json': (importstr 'example-grafana-dashboard.json'),
+      },
     },
   },
 };
diff --git a/examples/grafana-additional-rendered-dashboard-example.jsonnet b/examples/grafana-additional-rendered-dashboard-example.jsonnet
index 6c5bb0489cc9d8f971d444e609506a63002613af..1a8c8b9a731a0218a2a4d8f63ad3c6af9e17b895 100644
--- a/examples/grafana-additional-rendered-dashboard-example.jsonnet
+++ b/examples/grafana-additional-rendered-dashboard-example.jsonnet
@@ -1,13 +1,12 @@
 local kp = (import 'kube-prometheus/main.libsonnet') + {
-  _config+:: {
-    namespace: 'monitoring',
-  },
-  grafanaDashboards+:: {  //  monitoring-mixin compatibility
-    'my-dashboard.json': (import 'example-grafana-dashboard.json'),
-  },
-  grafana+:: {
-    dashboards+:: {  // use this method to import your dashboards to Grafana
-      'my-dashboard.json': (import 'example-grafana-dashboard.json'),
+  values+:: {
+    common+:: {
+      namespace: 'monitoring',
+    },
+    grafana+: {
+      dashboards+:: {  // use this method to import your dashboards to Grafana
+        'my-dashboard.json': (import 'example-grafana-dashboard.json'),
+      },
     },
   },
 };
diff --git a/jsonnet/kube-prometheus/components/grafana.libsonnet b/jsonnet/kube-prometheus/components/grafana.libsonnet
index 06d5bef3de3516081e283e1615e5b92eb5b9aa02..eb208123c4cd0d1cb11666ab7ec01e9c27614851 100644
--- a/jsonnet/kube-prometheus/components/grafana.libsonnet
+++ b/jsonnet/kube-prometheus/components/grafana.libsonnet
@@ -22,6 +22,10 @@ local defaults = {
   },
   prometheusName: error 'must provide prometheus name',
   dashboards: {},
+  // TODO(paulfantom): expose those to have a stable API. After kubernetes-grafana refactor those could probably be removed.
+  rawDashboards: {},
+  folderDashboards: {},
+  containers: [],
 };
 
 function(params) {
@@ -47,6 +51,9 @@ function(params) {
         labels: g.config.commonLabels,
         dashboards: g.config.dashboards,
         resources: g.config.resources,
+        rawDashboards: g.config.rawDashboards,
+        folderDashboards: g.config.folderDashboards,
+        containers: g.config.containers,
       },
     },
   },