Browse Source

Add Makefile and suitable jsonnet files

This makes the mixins usable as abvertised.

Signed-off-by: beorn7 <beorn@grafana.com>
pull/4474/head
beorn7 5 years ago
parent
commit
ddfabda152
  1. 25
      documentation/prometheus-mixin/Makefile
  2. 1
      documentation/prometheus-mixin/alerts.jsonnet
  3. 6
      documentation/prometheus-mixin/dashboards.jsonnet

25
documentation/prometheus-mixin/Makefile

@ -0,0 +1,25 @@
JSONNET_FMT := jsonnet fmt -n 2 --max-blank-lines 2 --string-style s --comment-style s
all: fmt prometheus_alerts.yaml dashboards_out lint
fmt:
find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \
xargs -n 1 -- $(JSONNET_FMT) -i
prometheus_alerts.yaml: mixin.libsonnet config.libsonnet alerts.libsonnet
jsonnet -S alerts.jsonnet > $@
dashboards_out: mixin.libsonnet config.libsonnet dashboards.libsonnet
@mkdir -p dashboards_out
jsonnet -J vendor -m dashboards_out dashboards.jsonnet
lint: prometheus_alerts.yaml
find . -name 'vendor' -prune -o -name '*.libsonnet' -print -o -name '*.jsonnet' -print | \
while read f; do \
$(JSONNET_FMT) "$$f" | diff -u "$$f" -; \
done
promtool check rules prometheus_alerts.yaml
clean:
rm -rf dashboards_out prometheus_alerts.yaml

1
documentation/prometheus-mixin/alerts.jsonnet

@ -0,0 +1 @@
std.manifestYamlDoc((import 'mixin.libsonnet').prometheusAlerts)

6
documentation/prometheus-mixin/dashboards.jsonnet

@ -0,0 +1,6 @@
local dashboards = (import 'mixin.libsonnet').dashboards;
{
[name]: dashboards[name]
for name in std.objectFields(dashboards)
}
Loading…
Cancel
Save