Skip to content
Snippets Groups Projects
Unverified Commit ab3dff20 authored by paulfantom's avatar paulfantom
Browse files

examples,jsonnet: expose kubernetes-grafana API to fix grafana examples


Signed-off-by: default avatarpaulfantom <pawel@krupa.net.pl>
parent 8588e30b
No related branches found
No related tags found
No related merge requests found
...@@ -6,10 +6,11 @@ local template = grafana.template; ...@@ -6,10 +6,11 @@ local template = grafana.template;
local graphPanel = grafana.graphPanel; local graphPanel = grafana.graphPanel;
local kp = (import 'kube-prometheus/main.libsonnet') + { local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: { values+:: {
common+:: {
namespace: 'monitoring', namespace: 'monitoring',
}, },
grafana+:: { grafana+: {
dashboards+:: { dashboards+:: {
'my-dashboard.json': 'my-dashboard.json':
dashboard.new('My Dashboard') dashboard.new('My Dashboard')
...@@ -36,6 +37,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + { ...@@ -36,6 +37,7 @@ local kp = (import 'kube-prometheus/main.libsonnet') + {
), ),
}, },
}, },
},
}; };
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } + { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
......
local kp = (import 'kube-prometheus/main.libsonnet') + { local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: { values+:: {
common+:: {
namespace: 'monitoring', namespace: 'monitoring',
}, },
grafana+:: { grafana+: {
rawDashboards+:: { rawDashboards+:: {
'my-dashboard.json': (importstr 'example-grafana-dashboard.json'), 'my-dashboard.json': (importstr 'example-grafana-dashboard.json'),
}, },
}, },
},
}; };
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } + { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
......
local kp = (import 'kube-prometheus/main.libsonnet') + { local kp = (import 'kube-prometheus/main.libsonnet') + {
_config+:: { values+:: {
common+:: {
namespace: 'monitoring', namespace: 'monitoring',
}, },
grafanaDashboards+:: { // monitoring-mixin compatibility grafana+: {
'my-dashboard.json': (import 'example-grafana-dashboard.json'),
},
grafana+:: {
dashboards+:: { // use this method to import your dashboards to Grafana dashboards+:: { // use this method to import your dashboards to Grafana
'my-dashboard.json': (import 'example-grafana-dashboard.json'), 'my-dashboard.json': (import 'example-grafana-dashboard.json'),
}, },
}, },
},
}; };
{ ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } + { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
......
...@@ -22,6 +22,10 @@ local defaults = { ...@@ -22,6 +22,10 @@ local defaults = {
}, },
prometheusName: error 'must provide prometheus name', prometheusName: error 'must provide prometheus name',
dashboards: {}, dashboards: {},
// TODO(paulfantom): expose those to have a stable API. After kubernetes-grafana refactor those could probably be removed.
rawDashboards: {},
folderDashboards: {},
containers: [],
}; };
function(params) { function(params) {
...@@ -47,6 +51,9 @@ function(params) { ...@@ -47,6 +51,9 @@ function(params) {
labels: g.config.commonLabels, labels: g.config.commonLabels,
dashboards: g.config.dashboards, dashboards: g.config.dashboards,
resources: g.config.resources, resources: g.config.resources,
rawDashboards: g.config.rawDashboards,
folderDashboards: g.config.folderDashboards,
containers: g.config.containers,
}, },
}, },
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment