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, }, }, },