@@ -9,12 +9,14 @@ JSONNETFMT_BIN=$(BIN_DIR)/jsonnetfmt
9
9
PROMTOOL_BIN =$(BIN_DIR ) /promtool
10
10
TOOLING =$(JB_BIN ) $(JSONNETLINT_BIN ) $(JSONNET_BIN ) $(JSONNETFMT_BIN ) $(PROMTOOL_BIN ) $(GRAFANA_DASHBOARD_LINTER_BIN )
11
11
JSONNETFMT_ARGS =-n 2 --max-blank-lines 2 --string-style s --comment-style s
12
+ SRC_DIR ?=dashboards
13
+ OUT_DIR ?=dashboards_out
12
14
13
15
.PHONY : all
14
16
all : fmt generate lint test
15
17
16
18
.PHONY : generate
17
- generate : prometheus_alerts.yaml prometheus_rules.yaml dashboards_out
19
+ generate : prometheus_alerts.yaml prometheus_rules.yaml $( OUT_DIR )
18
20
19
21
$(JSONNET_VENDOR ) : $(JB_BIN ) jsonnetfile.json
20
22
$(JB_BIN ) install
@@ -30,9 +32,9 @@ prometheus_alerts.yaml: $(JSONNET_BIN) mixin.libsonnet lib/alerts.jsonnet alerts
30
32
prometheus_rules.yaml : $(JSONNET_BIN ) mixin.libsonnet lib/rules.jsonnet rules/* .libsonnet
31
33
@$(JSONNET_BIN ) -J vendor -S lib/rules.jsonnet > $@
32
34
33
- dashboards_out : $(JSONNET_BIN ) $(JSONNET_VENDOR ) mixin.libsonnet lib/dashboards.jsonnet dashboards /* .libsonnet
34
- @mkdir -p dashboards_out
35
- @$(JSONNET_BIN ) -J vendor -m dashboards_out lib/dashboards.jsonnet
35
+ $( OUT_DIR ) : $(JSONNET_BIN ) $(JSONNET_VENDOR ) mixin.libsonnet lib/dashboards.jsonnet $( SRC_DIR ) /* .libsonnet
36
+ @mkdir -p $( OUT_DIR )
37
+ @$(JSONNET_BIN ) -J vendor -m $( OUT_DIR ) lib/dashboards.jsonnet
36
38
37
39
.PHONY : lint
38
40
lint : jsonnet-lint alerts-lint dashboards-lint
@@ -48,14 +50,14 @@ alerts-lint: $(PROMTOOL_BIN) prometheus_alerts.yaml prometheus_rules.yaml
48
50
@$(PROMTOOL_BIN ) check rules prometheus_rules.yaml
49
51
@$(PROMTOOL_BIN ) check rules prometheus_alerts.yaml
50
52
51
- dashboards_out /.lint : dashboards_out
53
+ $( OUT_DIR ) /.lint : $( OUT_DIR )
52
54
@cp .lint $@
53
55
54
56
.PHONY : dashboards-lint
55
- dashboards-lint : $(GRAFANA_DASHBOARD_LINTER_BIN ) dashboards_out /.lint
57
+ dashboards-lint : $(GRAFANA_DASHBOARD_LINTER_BIN ) $( OUT_DIR ) /.lint
56
58
# Replace $$interval:$$resolution var with $$__rate_interval to make dashboard-linter happy.
57
- @sed -i -e ' s/$$interval:$$resolution/$$__rate_interval/g' dashboards_out /* .json
58
- @find dashboards_out -name ' *.json' -print0 | xargs -n 1 -0 $(GRAFANA_DASHBOARD_LINTER_BIN ) lint --strict
59
+ @sed -i -e ' s/$$interval:$$resolution/$$__rate_interval/g' $( OUT_DIR ) /* .json
60
+ @find $( OUT_DIR ) -name ' *.json' -print0 | xargs -n 1 -0 $(GRAFANA_DASHBOARD_LINTER_BIN ) lint --strict
59
61
60
62
61
63
.PHONY : clean
0 commit comments