Skip to content

Commit

Permalink
Merge pull request #1458 from paulfantom/grafana-mixin
Browse files Browse the repository at this point in the history
  • Loading branch information
paulfantom authored Jan 4, 2022
2 parents 9d4ba54 + a8485f5 commit d3e6d46
Show file tree
Hide file tree
Showing 8 changed files with 719 additions and 1 deletion.
27 changes: 27 additions & 0 deletions jsonnet/kube-prometheus/components/grafana.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ local defaults = {
if !std.setMember(labelName, ['app.kubernetes.io/version'])
},
prometheusName:: error 'must provide prometheus name',
mixin: {
ruleLabels: {},
_config: {
runbookURLPattern: 'https://runbooks.prometheus-operator.dev/runbooks/grafana/%s',
},
},
};

function(params)
Expand All @@ -40,6 +46,27 @@ function(params)
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: {
apiVersion: 'monitoring.coreos.com/v1',
kind: 'ServiceMonitor',
Expand Down
10 changes: 10 additions & 0 deletions jsonnet/kube-prometheus/jsonnetfile.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,16 @@
},
"version": "master"
},
{
"source": {
"git": {
"remote": "https://github.com/grafana/grafana",
"subdir": "grafana-mixin"
}
},
"version": "main",
"name": "grafana-mixin"
},
{
"source": {
"git": {
Expand Down
7 changes: 6 additions & 1 deletion jsonnet/kube-prometheus/main.libsonnet
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,12 @@ local utils = import './lib/utils.libsonnet';
image: $.values.common.images.grafana,
prometheusName: $.values.prometheus.name,
// 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: {
namespace: $.values.common.namespace,
Expand Down
10 changes: 10 additions & 0 deletions jsonnetfile.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@
"version": "69279532f46cb7491bb60a588be534100fdc058d",
"sum": "cdKL5kPYfpWSpTCu4qctmh+gWQqL+4YWom6rw9qLYJU="
},
{
"source": {
"git": {
"remote": "https://github.com/grafana/grafana.git",
"subdir": "grafana-mixin"
}
},
"version": "88bc47441f75b5956023be0b1f79c371420cdcdd",
"sum": "MkjR7zCgq6MUZgjDzop574tFKoTX2OBr7DTwm1K+Ofs="
},
{
"source": {
"git": {
Expand Down
1 change: 1 addition & 0 deletions kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ resources:
- ./manifests/grafana-dashboardDefinitions.yaml
- ./manifests/grafana-dashboardSources.yaml
- ./manifests/grafana-deployment.yaml
- ./manifests/grafana-prometheusRule.yaml
- ./manifests/grafana-service.yaml
- ./manifests/grafana-serviceAccount.yaml
- ./manifests/grafana-serviceMonitor.yaml
Expand Down
Loading

0 comments on commit d3e6d46

Please sign in to comment.