jsonnet: add grafana-mixin
Signed-off-by: paulfantom <pawel@krupa.net.pl> Signed-off-by: Paweł Krupa (paulfantom) <pawel@krupa.net.pl>
This commit is contained in:
committed by
Paweł Krupa (paulfantom)
parent
9d4ba547b8
commit
ec40014ac3
@@ -24,6 +24,12 @@ local defaults = {
|
|||||||
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
if !std.setMember(labelName, ['app.kubernetes.io/version'])
|
||||||
},
|
},
|
||||||
prometheusName:: error 'must provide prometheus name',
|
prometheusName:: error 'must provide prometheus name',
|
||||||
|
mixin: {
|
||||||
|
ruleLabels: {},
|
||||||
|
_config: {
|
||||||
|
runbookURLPattern: 'https://runbooks.prometheus-operator.dev/runbooks/grafana/%s',
|
||||||
|
},
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
function(params)
|
function(params)
|
||||||
@@ -40,6 +46,27 @@ function(params)
|
|||||||
labels: g._config.commonLabels,
|
labels: g._config.commonLabels,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
mixin::
|
||||||
|
(import 'github.com/grafana/grafana/grafana-mixin/mixin.libsonnet') +
|
||||||
|
(import 'github.com/kubernetes-monitoring/kubernetes-mixin/lib/add-runbook-links.libsonnet') + {
|
||||||
|
_config+:: g._config.mixin._config,
|
||||||
|
},
|
||||||
|
|
||||||
|
prometheusRule: {
|
||||||
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
|
kind: 'PrometheusRule',
|
||||||
|
metadata: {
|
||||||
|
labels: g._config.commonLabels + g._config.mixin.ruleLabels,
|
||||||
|
name: g._config.name + '-rules',
|
||||||
|
namespace: g._config.namespace,
|
||||||
|
},
|
||||||
|
spec: {
|
||||||
|
local r = if std.objectHasAll(g.mixin, 'prometheusRules') then g.mixin.prometheusRules.groups else [],
|
||||||
|
local a = if std.objectHasAll(g.mixin, 'prometheusAlerts') then g.mixin.prometheusAlerts.groups else [],
|
||||||
|
groups: a + r,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
serviceMonitor: {
|
serviceMonitor: {
|
||||||
apiVersion: 'monitoring.coreos.com/v1',
|
apiVersion: 'monitoring.coreos.com/v1',
|
||||||
kind: 'ServiceMonitor',
|
kind: 'ServiceMonitor',
|
||||||
|
|||||||
@@ -10,6 +10,16 @@
|
|||||||
},
|
},
|
||||||
"version": "master"
|
"version": "master"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"source": {
|
||||||
|
"git": {
|
||||||
|
"remote": "https://github.com/grafana/grafana",
|
||||||
|
"subdir": "grafana-mixin"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version": "main",
|
||||||
|
"name": "grafana-mixin"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"source": {
|
"source": {
|
||||||
"git": {
|
"git": {
|
||||||
|
|||||||
@@ -70,7 +70,12 @@ local utils = import './lib/utils.libsonnet';
|
|||||||
image: $.values.common.images.grafana,
|
image: $.values.common.images.grafana,
|
||||||
prometheusName: $.values.prometheus.name,
|
prometheusName: $.values.prometheus.name,
|
||||||
// TODO(paulfantom) This should be done by iterating over all objects and looking for object.mixin.grafanaDashboards
|
// TODO(paulfantom) This should be done by iterating over all objects and looking for object.mixin.grafanaDashboards
|
||||||
dashboards: $.nodeExporter.mixin.grafanaDashboards + $.prometheus.mixin.grafanaDashboards + $.kubernetesControlPlane.mixin.grafanaDashboards + $.alertmanager.mixin.grafanaDashboards,
|
dashboards: $.nodeExporter.mixin.grafanaDashboards +
|
||||||
|
$.prometheus.mixin.grafanaDashboards +
|
||||||
|
$.kubernetesControlPlane.mixin.grafanaDashboards +
|
||||||
|
$.alertmanager.mixin.grafanaDashboards +
|
||||||
|
$.grafana.mixin.grafanaDashboards,
|
||||||
|
mixin+: { ruleLabels: $.values.common.ruleLabels },
|
||||||
},
|
},
|
||||||
kubeStateMetrics: {
|
kubeStateMetrics: {
|
||||||
namespace: $.values.common.namespace,
|
namespace: $.values.common.namespace,
|
||||||
|
|||||||
Reference in New Issue
Block a user