@intentius/chant-lexicon-grafana 0.97.0 → 0.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -5
- package/dist/actions/grafana.d.ts +24 -0
- package/dist/actions/grafana.d.ts.map +1 -0
- package/dist/actions/index.d.ts +2 -0
- package/dist/actions/index.d.ts.map +1 -0
- package/dist/alerting-build.d.ts +128 -0
- package/dist/alerting-build.d.ts.map +1 -0
- package/dist/alerting.d.ts +273 -0
- package/dist/alerting.d.ts.map +1 -0
- package/dist/api/apply.d.ts +156 -0
- package/dist/api/apply.d.ts.map +1 -0
- package/dist/api/bind.d.ts +32 -0
- package/dist/api/bind.d.ts.map +1 -0
- package/dist/api/client.d.ts +76 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/converge.d.ts +33 -0
- package/dist/api/converge.d.ts.map +1 -0
- package/dist/api/dashboards.d.ts +102 -0
- package/dist/api/dashboards.d.ts.map +1 -0
- package/dist/api/datasources.d.ts +26 -0
- package/dist/api/datasources.d.ts.map +1 -0
- package/dist/api/fake-grafana-writes.d.ts +41 -0
- package/dist/api/fake-grafana-writes.d.ts.map +1 -0
- package/dist/api/fake-grafana.d.ts +61 -0
- package/dist/api/fake-grafana.d.ts.map +1 -0
- package/dist/api/folders.d.ts +110 -0
- package/dist/api/folders.d.ts.map +1 -0
- package/dist/api/library-panels.d.ts +52 -0
- package/dist/api/library-panels.d.ts.map +1 -0
- package/dist/build.d.ts +30 -2
- package/dist/build.d.ts.map +1 -1
- package/dist/catalog.d.ts +1 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/codegen/docs.d.ts.map +1 -1
- package/dist/codegen/schema-types.d.ts +3 -3
- package/dist/codegen/schema-types.d.ts.map +1 -1
- package/dist/composites/agent-dashboard.d.ts.map +1 -1
- package/dist/composites/catalog.d.ts.map +1 -1
- package/dist/composites/index.d.ts +4 -2
- package/dist/composites/index.d.ts.map +1 -1
- package/dist/composites/red-dashboard.d.ts +21 -2
- package/dist/composites/red-dashboard.d.ts.map +1 -1
- package/dist/composites/shared.d.ts +7 -0
- package/dist/composites/shared.d.ts.map +1 -1
- package/dist/composites/slo-alert-rules.d.ts +92 -0
- package/dist/composites/slo-alert-rules.d.ts.map +1 -0
- package/dist/config.d.ts +111 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/contact-point-secrets.d.ts +17 -0
- package/dist/contact-point-secrets.d.ts.map +1 -0
- package/dist/dashboard.d.ts +16 -2
- package/dist/dashboard.d.ts.map +1 -1
- package/dist/datasource-refs.d.ts +95 -0
- package/dist/datasource-refs.d.ts.map +1 -0
- package/dist/datasource.d.ts +29 -0
- package/dist/datasource.d.ts.map +1 -1
- package/dist/deep-observe-hooks.d.ts +64 -0
- package/dist/deep-observe-hooks.d.ts.map +1 -0
- package/dist/deep-observe.d.ts +42 -0
- package/dist/deep-observe.d.ts.map +1 -0
- package/dist/describe-resources.d.ts +49 -0
- package/dist/describe-resources.d.ts.map +1 -0
- package/dist/detect.d.ts +28 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/export-resources.d.ts +38 -0
- package/dist/export-resources.d.ts.map +1 -0
- package/dist/import/alerting.d.ts +40 -0
- package/dist/import/alerting.d.ts.map +1 -0
- package/dist/import/edits.d.ts +47 -0
- package/dist/import/edits.d.ts.map +1 -0
- package/dist/import/embedded.d.ts +14 -0
- package/dist/import/embedded.d.ts.map +1 -0
- package/dist/import/generator.d.ts +60 -0
- package/dist/import/generator.d.ts.map +1 -0
- package/dist/import/live-export.d.ts +108 -0
- package/dist/import/live-export.d.ts.map +1 -0
- package/dist/import/mappings.d.ts +83 -0
- package/dist/import/mappings.d.ts.map +1 -0
- package/dist/import/model.d.ts +98 -0
- package/dist/import/model.d.ts.map +1 -0
- package/dist/import/normalize-alerting.d.ts +26 -0
- package/dist/import/normalize-alerting.d.ts.map +1 -0
- package/dist/import/normalize.d.ts +74 -0
- package/dist/import/normalize.d.ts.map +1 -0
- package/dist/import/parser.d.ts +110 -0
- package/dist/import/parser.d.ts.map +1 -0
- package/dist/import/report.d.ts +26 -0
- package/dist/import/report.d.ts.map +1 -0
- package/dist/import/testdata/fixtures.d.ts +35 -0
- package/dist/import/testdata/fixtures.d.ts.map +1 -0
- package/dist/import/v2.d.ts +72 -0
- package/dist/import/v2.d.ts.map +1 -0
- package/dist/index.d.ts +26 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/integrity.json +18 -10
- package/dist/k8s.d.ts +107 -0
- package/dist/k8s.d.ts.map +1 -0
- package/dist/lint/audit-catalog.d.ts +2 -1
- package/dist/lint/audit-catalog.d.ts.map +1 -1
- package/dist/lint/post-synth/graf101.d.ts +2 -2
- package/dist/lint/post-synth/graf102.d.ts +1 -1
- package/dist/lint/post-synth/graf107.d.ts +1 -1
- package/dist/lint/post-synth/graf108.d.ts +8 -0
- package/dist/lint/post-synth/graf108.d.ts.map +1 -0
- package/dist/lint/post-synth/graf109.d.ts +8 -0
- package/dist/lint/post-synth/graf109.d.ts.map +1 -0
- package/dist/lint/post-synth/graf111.d.ts +8 -0
- package/dist/lint/post-synth/graf111.d.ts.map +1 -0
- package/dist/lint/post-synth/graf112.d.ts +8 -0
- package/dist/lint/post-synth/graf112.d.ts.map +1 -0
- package/dist/lint/post-synth/graf113.d.ts +8 -0
- package/dist/lint/post-synth/graf113.d.ts.map +1 -0
- package/dist/lint/post-synth/graf114.d.ts +8 -0
- package/dist/lint/post-synth/graf114.d.ts.map +1 -0
- package/dist/lint/post-synth/graf115.d.ts +8 -0
- package/dist/lint/post-synth/graf115.d.ts.map +1 -0
- package/dist/lint/post-synth/grafana-helpers.d.ts +7 -5
- package/dist/lint/post-synth/grafana-helpers.d.ts.map +1 -1
- package/dist/lint/post-synth/index.d.ts.map +1 -1
- package/dist/lint/rules/literal-secret.d.ts +7 -3
- package/dist/lint/rules/literal-secret.d.ts.map +1 -1
- package/dist/lsp/hover.d.ts.map +1 -1
- package/dist/manifest.json +1 -1
- package/dist/members.d.ts +27 -0
- package/dist/members.d.ts.map +1 -0
- package/dist/meta.json +135 -0
- package/dist/okf/index.md +36 -2
- package/dist/okf/rules/GRAF002.md +3 -2
- package/dist/okf/rules/GRAF101.md +3 -2
- package/dist/okf/rules/GRAF102.md +1 -0
- package/dist/okf/rules/GRAF108.md +11 -0
- package/dist/okf/rules/GRAF109.md +15 -0
- package/dist/okf/rules/GRAF111.md +11 -0
- package/dist/okf/rules/GRAF112.md +16 -0
- package/dist/okf/rules/GRAF113.md +16 -0
- package/dist/okf/rules/GRAF114.md +11 -0
- package/dist/okf/rules/GRAF115.md +11 -0
- package/dist/okf/types/AlertListPanel.md +9 -0
- package/dist/okf/types/AlertQuery.md +9 -0
- package/dist/okf/types/AlertRule.md +9 -0
- package/dist/okf/types/AlertRuleGroup.md +9 -0
- package/dist/okf/types/BarChartPanel.md +9 -0
- package/dist/okf/types/BarGaugePanel.md +9 -0
- package/dist/okf/types/CanvasPanel.md +9 -0
- package/dist/okf/types/ClassicConditionsExpression.md +9 -0
- package/dist/okf/types/ContactPoint.md +14 -0
- package/dist/okf/types/Dashboard.md +1 -0
- package/dist/okf/types/Datasource.md +3 -2
- package/dist/okf/types/ExternalDatasource.md +15 -0
- package/dist/okf/types/FlameGraphPanel.md +9 -0
- package/dist/okf/types/GeomapPanel.md +9 -0
- package/dist/okf/types/HistogramPanel.md +9 -0
- package/dist/okf/types/MathExpression.md +9 -0
- package/dist/okf/types/MuteTiming.md +13 -0
- package/dist/okf/types/NodeGraphPanel.md +9 -0
- package/dist/okf/types/NotificationPolicy.md +9 -0
- package/dist/okf/types/NotificationTemplate.md +9 -0
- package/dist/okf/types/PieChartPanel.md +9 -0
- package/dist/okf/types/ReduceExpression.md +9 -0
- package/dist/okf/types/ResampleExpression.md +9 -0
- package/dist/okf/types/SqlExpression.md +9 -0
- package/dist/okf/types/StateTimelinePanel.md +9 -0
- package/dist/okf/types/StatusHistoryPanel.md +9 -0
- package/dist/okf/types/ThresholdExpression.md +9 -0
- package/dist/okf/types/TrendPanel.md +9 -0
- package/dist/okf/types/XYChartPanel.md +9 -0
- package/dist/op/activities/grafana-apply.d.ts +75 -0
- package/dist/op/activities/grafana-apply.d.ts.map +1 -0
- package/dist/op/activities/index.d.ts +9 -0
- package/dist/op/activities/index.d.ts.map +1 -0
- package/dist/op/builders.d.ts +24 -0
- package/dist/op/builders.d.ts.map +1 -0
- package/dist/ownership.d.ts +67 -0
- package/dist/ownership.d.ts.map +1 -0
- package/dist/panel-options.d.ts +65 -0
- package/dist/panel-options.d.ts.map +1 -0
- package/dist/panels.d.ts +46 -9
- package/dist/panels.d.ts.map +1 -1
- package/dist/pin.d.ts +29 -7
- package/dist/pin.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/promql-check.d.ts +51 -0
- package/dist/promql-check.d.ts.map +1 -0
- package/dist/query.d.ts +9 -8
- package/dist/query.d.ts.map +1 -1
- package/dist/rules/graf101.ts +3 -3
- package/dist/rules/graf102.ts +1 -1
- package/dist/rules/graf107.ts +1 -1
- package/dist/rules/graf108.ts +17 -0
- package/dist/rules/graf109.ts +17 -0
- package/dist/rules/graf111.ts +17 -0
- package/dist/rules/graf112.ts +17 -0
- package/dist/rules/graf113.ts +17 -0
- package/dist/rules/graf114.ts +17 -0
- package/dist/rules/graf115.ts +17 -0
- package/dist/rules/grafana-helpers.ts +15 -8
- package/dist/rules/literal-secret.ts +60 -6
- package/dist/schema/barchart.gen.d.ts +198 -0
- package/dist/schema/barchart.gen.d.ts.map +1 -0
- package/dist/schema/bargauge.gen.d.ts +97 -0
- package/dist/schema/bargauge.gen.d.ts.map +1 -0
- package/dist/schema/canvas.gen.d.ts +152 -0
- package/dist/schema/canvas.gen.d.ts.map +1 -0
- package/dist/schema/dashboard.gen.d.ts +196 -21
- package/dist/schema/dashboard.gen.d.ts.map +1 -1
- package/dist/schema/expr.gen.d.ts +606 -0
- package/dist/schema/expr.gen.d.ts.map +1 -0
- package/dist/schema/gauge.gen.d.ts.map +1 -1
- package/dist/schema/geomap.gen.d.ts +100 -0
- package/dist/schema/geomap.gen.d.ts.map +1 -0
- package/dist/schema/heatmap.gen.d.ts.map +1 -1
- package/dist/schema/histogram.gen.d.ts +132 -0
- package/dist/schema/histogram.gen.d.ts.map +1 -0
- package/dist/schema/index.d.ts +12 -0
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/logs.gen.d.ts +1 -0
- package/dist/schema/logs.gen.d.ts.map +1 -1
- package/dist/schema/loki.gen.d.ts.map +1 -1
- package/dist/schema/nodegraph.gen.d.ts +49 -0
- package/dist/schema/nodegraph.gen.d.ts.map +1 -0
- package/dist/schema/piechart.gen.d.ts +127 -0
- package/dist/schema/piechart.gen.d.ts.map +1 -0
- package/dist/schema/prometheus.gen.d.ts.map +1 -1
- package/dist/schema/stat.gen.d.ts.map +1 -1
- package/dist/schema/statetimeline.gen.d.ts +124 -0
- package/dist/schema/statetimeline.gen.d.ts.map +1 -0
- package/dist/schema/statushistory.gen.d.ts +114 -0
- package/dist/schema/statushistory.gen.d.ts.map +1 -0
- package/dist/schema/table.gen.d.ts +22 -3
- package/dist/schema/table.gen.d.ts.map +1 -1
- package/dist/schema/tempo.gen.d.ts.map +1 -1
- package/dist/schema/text.gen.d.ts.map +1 -1
- package/dist/schema/timeseries.gen.d.ts +5 -1
- package/dist/schema/timeseries.gen.d.ts.map +1 -1
- package/dist/schema/trend.gen.d.ts +180 -0
- package/dist/schema/trend.gen.d.ts.map +1 -0
- package/dist/schema/xychart.gen.d.ts +145 -0
- package/dist/schema/xychart.gen.d.ts.map +1 -0
- package/dist/schema-validate.d.ts +30 -4
- package/dist/schema-validate.d.ts.map +1 -1
- package/dist/serializer.d.ts +11 -3
- package/dist/serializer.d.ts.map +1 -1
- package/dist/skill-defs.d.ts.map +1 -1
- package/dist/skills/chant-grafana-alerting.md +49 -0
- package/dist/skills/chant-grafana-provisioning.md +3 -3
- package/dist/skills/chant-grafana.md +12 -6
- package/dist/spec/fetch-units-cli.d.ts +3 -0
- package/dist/spec/fetch-units-cli.d.ts.map +1 -0
- package/dist/spec/overlay.d.ts +43 -0
- package/dist/spec/overlay.d.ts.map +1 -0
- package/dist/spec/schemas.d.ts +13 -7
- package/dist/spec/schemas.d.ts.map +1 -1
- package/dist/spec/units.d.ts +35 -0
- package/dist/spec/units.d.ts.map +1 -0
- package/dist/spec/units.gen.d.ts +2 -0
- package/dist/spec/units.gen.d.ts.map +1 -0
- package/dist/transformations.d.ts +459 -0
- package/dist/transformations.d.ts.map +1 -0
- package/dist/util.d.ts +6 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/validate-alerting.d.ts +65 -0
- package/dist/validate-alerting.d.ts.map +1 -0
- package/dist/validate-output.d.ts +49 -9
- package/dist/validate-output.d.ts.map +1 -1
- package/dist/validate.d.ts.map +1 -1
- package/dist/variables.d.ts +7 -2
- package/dist/variables.d.ts.map +1 -1
- package/package.json +12 -4
- package/src/actions/actions.test.ts +24 -0
- package/src/actions/grafana.ts +40 -0
- package/src/actions/index.ts +1 -0
- package/src/alerting-build.ts +376 -0
- package/src/alerting.e2e.test.ts +212 -0
- package/src/alerting.test.ts +272 -0
- package/src/alerting.ts +435 -0
- package/src/api/apply.test.ts +238 -0
- package/src/api/apply.ts +384 -0
- package/src/api/bind.ts +58 -0
- package/src/api/client.ts +148 -0
- package/src/api/converge.ts +63 -0
- package/src/api/dashboards.ts +247 -0
- package/src/api/datasources.ts +33 -0
- package/src/api/fake-grafana-writes.ts +201 -0
- package/src/api/fake-grafana.ts +186 -0
- package/src/api/folders.ts +265 -0
- package/src/api/library-panels.ts +101 -0
- package/src/build.test.ts +210 -5
- package/src/build.ts +180 -43
- package/src/catalog.ts +86 -2
- package/src/codegen/docs.ts +42 -9
- package/src/codegen/schema-types.ts +16 -6
- package/src/composites/agent-dashboard.ts +6 -3
- package/src/composites/catalog.test.ts +2 -2
- package/src/composites/catalog.ts +82 -0
- package/src/composites/composites.test.ts +73 -9
- package/src/composites/index.ts +4 -2
- package/src/composites/queries.e2e.test.ts +374 -0
- package/src/composites/red-dashboard.ts +83 -12
- package/src/composites/shared.ts +11 -0
- package/src/composites/slo-alert-rules.ts +149 -0
- package/src/config.test.ts +61 -0
- package/src/config.ts +138 -0
- package/src/contact-point-secrets.ts +63 -0
- package/src/dashboard.ts +16 -2
- package/src/datasource-refs.test.ts +56 -0
- package/src/datasource-refs.ts +189 -0
- package/src/datasource.ts +52 -0
- package/src/deep-observe-hooks.ts +252 -0
- package/src/deep-observe.test.ts +265 -0
- package/src/deep-observe.ts +164 -0
- package/src/describe-resources.test.ts +255 -0
- package/src/describe-resources.ts +209 -0
- package/src/detect.ts +79 -2
- package/src/export-resources.test.ts +129 -0
- package/src/export-resources.ts +84 -0
- package/src/generated/lexicon-grafana.json +135 -0
- package/src/import/alerting-roundtrip.test.ts +161 -0
- package/src/import/alerting.ts +500 -0
- package/src/import/edits.ts +95 -0
- package/src/import/embedded.test.ts +45 -0
- package/src/import/embedded.ts +47 -0
- package/src/import/generated-types.e2e.test.ts +118 -0
- package/src/import/generator.test.ts +210 -0
- package/src/import/generator.ts +462 -0
- package/src/import/live-export.ts +264 -0
- package/src/import/mappings.ts +264 -0
- package/src/import/model.ts +110 -0
- package/src/import/normalize-alerting.ts +101 -0
- package/src/import/normalize.test.ts +117 -0
- package/src/import/normalize.ts +364 -0
- package/src/import/parser.test.ts +440 -0
- package/src/import/parser.ts +1236 -0
- package/src/import/report.ts +62 -0
- package/src/import/roundtrip.test.ts +468 -0
- package/src/import/testdata/fixtures.ts +129 -0
- package/src/import/v2.test.ts +292 -0
- package/src/import/v2.ts +803 -0
- package/src/import.e2e.test.ts +31 -84
- package/src/import.test.ts +9 -3
- package/src/index.ts +190 -5
- package/src/k8s.test.ts +98 -0
- package/src/k8s.ts +197 -0
- package/src/lint/audit-catalog.ts +60 -3
- package/src/lint/core-lint.test.ts +43 -0
- package/src/lint/post-synth/graf101.ts +3 -3
- package/src/lint/post-synth/graf102.ts +1 -1
- package/src/lint/post-synth/graf107.ts +1 -1
- package/src/lint/post-synth/graf108.ts +17 -0
- package/src/lint/post-synth/graf109.ts +17 -0
- package/src/lint/post-synth/graf111.ts +17 -0
- package/src/lint/post-synth/graf112.ts +17 -0
- package/src/lint/post-synth/graf113.ts +17 -0
- package/src/lint/post-synth/graf114.ts +17 -0
- package/src/lint/post-synth/graf115.ts +17 -0
- package/src/lint/post-synth/grafana-helpers.ts +15 -8
- package/src/lint/post-synth/index.ts +14 -0
- package/src/lint/post-synth/post-synth.test.ts +235 -11
- package/src/lint/rules/literal-secret.ts +60 -6
- package/src/lint/rules/rules.test.ts +27 -0
- package/src/lsp/completions.test.ts +5 -0
- package/src/lsp/hover.test.ts +7 -0
- package/src/lsp/hover.ts +8 -1
- package/src/members.ts +68 -0
- package/src/observe.e2e.test.ts +255 -0
- package/src/op/activities/grafana-apply.e2e.test.ts +175 -0
- package/src/op/activities/grafana-apply.test.ts +229 -0
- package/src/op/activities/grafana-apply.ts +171 -0
- package/src/op/activities/index.ts +8 -0
- package/src/op/builders.test.ts +40 -0
- package/src/op/builders.ts +34 -0
- package/src/ownership.ts +103 -0
- package/src/panel-options.ts +66 -0
- package/src/panels.test.ts +51 -0
- package/src/panels.ts +148 -10
- package/src/pin.ts +57 -6
- package/src/plugin.test.ts +5 -2
- package/src/plugin.ts +66 -0
- package/src/promql-check.test.ts +108 -0
- package/src/promql-check.ts +189 -0
- package/src/query.ts +13 -8
- package/src/schema/barchart.gen.ts +221 -0
- package/src/schema/bargauge.gen.ts +111 -0
- package/src/schema/canvas.gen.ts +176 -0
- package/src/schema/dashboard.gen.ts +206 -22
- package/src/schema/expr.gen.ts +618 -0
- package/src/schema/gauge.gen.ts +2 -1
- package/src/schema/geomap.gen.ts +112 -0
- package/src/schema/heatmap.gen.ts +2 -1
- package/src/schema/histogram.gen.ts +151 -0
- package/src/schema/index.ts +12 -0
- package/src/schema/logs.gen.ts +3 -1
- package/src/schema/loki.gen.ts +2 -1
- package/src/schema/nodegraph.gen.ts +58 -0
- package/src/schema/piechart.gen.ts +146 -0
- package/src/schema/prometheus.gen.ts +2 -1
- package/src/schema/stat.gen.ts +2 -1
- package/src/schema/statetimeline.gen.ts +143 -0
- package/src/schema/statushistory.gen.ts +132 -0
- package/src/schema/table.gen.ts +27 -4
- package/src/schema/tempo.gen.ts +2 -1
- package/src/schema/text.gen.ts +2 -1
- package/src/schema/timeseries.gen.ts +7 -2
- package/src/schema/trend.gen.ts +208 -0
- package/src/schema/xychart.gen.ts +167 -0
- package/src/schema-overlay.test.ts +282 -0
- package/src/schema-validate.ts +141 -50
- package/src/schema.test.ts +4 -2
- package/src/serializer.test.ts +13 -1
- package/src/serializer.ts +11 -3
- package/src/skill-defs.ts +17 -0
- package/src/skills/chant-grafana-alerting.md +49 -0
- package/src/skills/chant-grafana-provisioning.md +3 -3
- package/src/skills/chant-grafana.md +12 -6
- package/src/spec/fetch-cli.ts +3 -3
- package/src/spec/fetch-units-cli.ts +37 -0
- package/src/spec/overlay/canvas.overlay.json +142 -0
- package/src/spec/overlay/dashboard.overlay.json +378 -0
- package/src/spec/overlay/expr.overlay.json +14 -0
- package/src/spec/overlay/geomap.overlay.json +35 -0
- package/src/spec/overlay/logs.overlay.json +14 -0
- package/src/spec/overlay/nodegraph.overlay.json +31 -0
- package/src/spec/overlay/piechart.overlay.json +17 -0
- package/src/spec/overlay/table.overlay.json +84 -0
- package/src/spec/overlay/timeseries.overlay.json +21 -0
- package/src/spec/overlay/trend.overlay.json +17 -0
- package/src/spec/overlay/xychart.overlay.json +16 -0
- package/src/spec/overlay.ts +105 -0
- package/src/spec/schemas/barchart.jsonschema.json +419 -0
- package/src/spec/schemas/bargauge.jsonschema.json +224 -0
- package/src/spec/schemas/canvas.jsonschema.json +356 -0
- package/src/spec/schemas/dashboardv2.jsonschema.json +3387 -0
- package/src/spec/schemas/expr.jsonschema.json +987 -0
- package/src/spec/schemas/geomap.jsonschema.json +220 -0
- package/src/spec/schemas/histogram.jsonschema.json +308 -0
- package/src/spec/schemas/nodegraph.jsonschema.json +77 -0
- package/src/spec/schemas/piechart.jsonschema.json +275 -0
- package/src/spec/schemas/statetimeline.jsonschema.json +324 -0
- package/src/spec/schemas/statushistory.jsonschema.json +292 -0
- package/src/spec/schemas/trend.jsonschema.json +449 -0
- package/src/spec/schemas/xychart.jsonschema.json +428 -0
- package/src/spec/schemas.ts +22 -10
- package/src/spec/units.gen.ts +281 -0
- package/src/spec/units.ts +77 -0
- package/src/transformations.test.ts +65 -0
- package/src/transformations.ts +574 -0
- package/src/util.ts +8 -0
- package/src/validate-alerting.test.ts +255 -0
- package/src/validate-alerting.ts +428 -0
- package/src/validate-output.ts +332 -101
- package/src/validate.ts +14 -0
- package/src/variables.ts +7 -2
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GRAF113: Alerting routes to a contact point or mute timing the build does not declare, or a policy matcher does not parse
|
|
3
|
+
*
|
|
4
|
+
* The notification policy tree's receivers, every rule's notification_settings.receiver, and each mute_time_intervals and active_time_intervals entry must name a ContactPoint or MuteTiming the build declares (grafana-default-email exists in every Grafana). Policy object_matchers must be [label, op, value] with op =, !=, =~ or !~ and a valid regex; matchers must parse as Alertmanager matchers. With no contact point or mute timing declared it warns once that it cannot check.
|
|
5
|
+
*/
|
|
6
|
+
import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
|
|
7
|
+
export declare const graf113: PostSynthCheck;
|
|
8
|
+
//# sourceMappingURL=graf113.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graf113.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/graf113.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cAOrB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GRAF114: An alerting uid, name, title or interval Grafana rejects, or one declared twice
|
|
3
|
+
*
|
|
4
|
+
* Rule uids and contact point receiver uids must be 1-40 letters, digits, - and _; rules need a title of at most 190 characters; groups need a name, a folder and an interval that is a positive multiple of 10s; for and keepFiringFor must be durations; noDataState and execErrState must be values Grafana knows. Rule uids, group names within a folder, contact point names, receiver uids, mute timing and template names must be unique per organisation, and each organisation has one policy tree. Grafana refuses the file otherwise, and one refused file stops it provisioning every alerting file.
|
|
5
|
+
*/
|
|
6
|
+
import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
|
|
7
|
+
export declare const graf114: PostSynthCheck;
|
|
8
|
+
//# sourceMappingURL=graf114.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graf114.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/graf114.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cAOrB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GRAF115: A unit Grafana doesn't know
|
|
3
|
+
*
|
|
4
|
+
* Each panel's `fieldConfig.defaults.unit`, every `unit` override, a heatmap's `options.yAxis.unit` and `options.cellValues.unit`, and a legacy graph panel's `yaxes[].format` are looked up in Grafana's unit registry at v13.2.2 (`src/spec/units.gen.ts`). Custom units (`prefix:`, `suffix:`, `time:`, `si:`, `count:`, `currency:`, `bool:`) pass. Anything else Grafana shows as a literal suffix, so it is a warning that names the closest registered id.
|
|
5
|
+
*/
|
|
6
|
+
import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
|
|
7
|
+
export declare const graf115: PostSynthCheck;
|
|
8
|
+
//# sourceMappingURL=graf115.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graf115.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/graf115.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cAOrB,CAAC"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared plumbing for the grafana post-synth checks: find the dashboards
|
|
3
|
-
* provisioned datasources
|
|
4
|
-
*
|
|
2
|
+
* Shared plumbing for the grafana post-synth checks: find the dashboards,
|
|
3
|
+
* provisioned datasources, dashboard providers and alerting provisioning
|
|
4
|
+
* files in a build's output, and run the plain-function checks in
|
|
5
|
+
* `validate-output.ts` over them.
|
|
5
6
|
*
|
|
6
7
|
* Any output file shaped like a dashboard or a datasource provisioning file
|
|
7
8
|
* counts, not only the grafana lexicon's own, so a dashboard another lexicon
|
|
8
|
-
* embeds is checked the same way.
|
|
9
|
+
* embeds is checked the same way. `ExternalDatasource` declarations are never
|
|
10
|
+
* written to a provisioning file, so they come from the build's entities.
|
|
9
11
|
*/
|
|
10
12
|
import type { PostSynthContext, PostSynthDiagnostic } from "@intentius/chant/lint/post-synth";
|
|
11
13
|
import { type GrafanaArtifacts, type GrafanaIssueCode } from "../../validate-output.js";
|
|
12
|
-
/** Every dashboard
|
|
14
|
+
/** Every dashboard, provisioned datasource and dashboard provider and alerting provisioning file in the build's output, and every `ExternalDatasource` it declares. */
|
|
13
15
|
export declare function grafanaArtifacts(ctx: PostSynthContext): GrafanaArtifacts;
|
|
14
16
|
/** Diagnostics for one check across the build's output. */
|
|
15
17
|
export declare function grafanaDiagnostics(ctx: PostSynthContext, code: GrafanaIssueCode): PostSynthDiagnostic[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grafana-helpers.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/grafana-helpers.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"grafana-helpers.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/grafana-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAM9F,OAAO,EAAa,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiBhG,uKAAuK;AACvK,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CA2BxE;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAQvG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAgBvE,eAAO,MAAM,eAAe,EAAE,cAAc,EAe3C,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { LintRule } from "@intentius/chant/lint/rule";
|
|
2
2
|
/**
|
|
3
|
-
* GRAF002: a datasource secret written as a literal.
|
|
3
|
+
* GRAF002: a datasource or contact point secret written as a literal.
|
|
4
4
|
*
|
|
5
|
-
* `secureJsonData` holds passwords, tokens and TLS keys
|
|
6
|
-
*
|
|
5
|
+
* A datasource's `secureJsonData` holds passwords, tokens and TLS keys, and
|
|
6
|
+
* so do the settings Grafana stores encrypted for each contact point
|
|
7
|
+
* integration (a Slack webhook `url`, a PagerDuty `integrationKey`, a
|
|
8
|
+
* webhook's `authorization_credentials`; see `CONTACT_POINT_SECRET_SETTINGS`).
|
|
9
|
+
* A literal there is a secret in the repository and in the emitted
|
|
10
|
+
* provisioning file. Grafana
|
|
7
11
|
* expands `$__env{NAME}`, `$__file{/path}` and `${NAME}` when it reads the
|
|
8
12
|
* file, so the declaration never needs the value. A value written as a
|
|
9
13
|
* named `const` in the same file is followed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"literal-secret.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/literal-secret.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"literal-secret.d.ts","sourceRoot":"","sources":["../../../src/lint/rules/literal-secret.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAA+B,MAAM,4BAA4B,CAAC;AAyBxF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,EAAE,QA8D/B,CAAC"}
|
package/dist/lsp/hover.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/lsp/hover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"hover.d.ts","sourceRoot":"","sources":["../../src/lsp/hover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAa1E,6GAA6G;AAC7G,wBAAgB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAE9D"}
|
package/dist/manifest.json
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which dashboard holds a declared panel, row, query or variable (#2946).
|
|
3
|
+
*
|
|
4
|
+
* Panels, rows, queries and variables are property-kind declarables: they
|
|
5
|
+
* exist in Grafana only inside a dashboard's JSON. Core's live diff still
|
|
6
|
+
* hands every exported declarable to `describeResources`, so a project that
|
|
7
|
+
* exports its panels (as every example and every imported dashboard does)
|
|
8
|
+
* asks the reader about each one. Answering "absent" would make `lifecycle
|
|
9
|
+
* plan` propose creating it, and "not observed" would report a hole for every
|
|
10
|
+
* panel of a dashboard that was read in full. The honest answer is the
|
|
11
|
+
* dashboard's own verdict: a panel is there when the dashboard holding it is
|
|
12
|
+
* there, and its properties are compared as part of that dashboard's tree.
|
|
13
|
+
*
|
|
14
|
+
* Membership is by identity: a dashboard's props hold the very declarable
|
|
15
|
+
* objects, so the member is found by walking them, whatever nests it (a row's
|
|
16
|
+
* panels, a panel's queries, a `repeat` or `datasource` variable).
|
|
17
|
+
*/
|
|
18
|
+
type Entities = Map<string, {
|
|
19
|
+
entityType: string;
|
|
20
|
+
props: Record<string, unknown>;
|
|
21
|
+
}>;
|
|
22
|
+
/** Member entity name -> the name of the first declared dashboard holding it. Dashboards and datasources are not members. */
|
|
23
|
+
export declare function dashboardMembers(entities: Entities): Map<string, string>;
|
|
24
|
+
/** Entity types that only ever live inside a dashboard. */
|
|
25
|
+
export declare function isDashboardPart(entityType: string): boolean;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../src/members.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,KAAK,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAAC;AAuBpF,6HAA6H;AAC7H,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAexE;AAED,2DAA2D;AAC3D,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE3D"}
|
package/dist/meta.json
CHANGED
|
@@ -1,9 +1,54 @@
|
|
|
1
1
|
{
|
|
2
|
+
"AlertListPanel": {
|
|
3
|
+
"resourceType": "Grafana::Panel::alertlist",
|
|
4
|
+
"kind": "resource",
|
|
5
|
+
"lexicon": "grafana"
|
|
6
|
+
},
|
|
7
|
+
"AlertQuery": {
|
|
8
|
+
"resourceType": "Grafana::AlertQuery",
|
|
9
|
+
"kind": "resource",
|
|
10
|
+
"lexicon": "grafana"
|
|
11
|
+
},
|
|
12
|
+
"AlertRule": {
|
|
13
|
+
"resourceType": "Grafana::AlertRule",
|
|
14
|
+
"kind": "resource",
|
|
15
|
+
"lexicon": "grafana"
|
|
16
|
+
},
|
|
17
|
+
"AlertRuleGroup": {
|
|
18
|
+
"resourceType": "Grafana::AlertRuleGroup",
|
|
19
|
+
"kind": "resource",
|
|
20
|
+
"lexicon": "grafana"
|
|
21
|
+
},
|
|
22
|
+
"BarChartPanel": {
|
|
23
|
+
"resourceType": "Grafana::Panel::barchart",
|
|
24
|
+
"kind": "resource",
|
|
25
|
+
"lexicon": "grafana"
|
|
26
|
+
},
|
|
27
|
+
"BarGaugePanel": {
|
|
28
|
+
"resourceType": "Grafana::Panel::bargauge",
|
|
29
|
+
"kind": "resource",
|
|
30
|
+
"lexicon": "grafana"
|
|
31
|
+
},
|
|
32
|
+
"CanvasPanel": {
|
|
33
|
+
"resourceType": "Grafana::Panel::canvas",
|
|
34
|
+
"kind": "resource",
|
|
35
|
+
"lexicon": "grafana"
|
|
36
|
+
},
|
|
37
|
+
"ClassicConditionsExpression": {
|
|
38
|
+
"resourceType": "Grafana::Expression::classic_conditions",
|
|
39
|
+
"kind": "resource",
|
|
40
|
+
"lexicon": "grafana"
|
|
41
|
+
},
|
|
2
42
|
"ConstantVariable": {
|
|
3
43
|
"resourceType": "Grafana::Variable::constant",
|
|
4
44
|
"kind": "resource",
|
|
5
45
|
"lexicon": "grafana"
|
|
6
46
|
},
|
|
47
|
+
"ContactPoint": {
|
|
48
|
+
"resourceType": "Grafana::ContactPoint",
|
|
49
|
+
"kind": "resource",
|
|
50
|
+
"lexicon": "grafana"
|
|
51
|
+
},
|
|
7
52
|
"CustomVariable": {
|
|
8
53
|
"resourceType": "Grafana::Variable::custom",
|
|
9
54
|
"kind": "resource",
|
|
@@ -29,16 +74,36 @@
|
|
|
29
74
|
"kind": "resource",
|
|
30
75
|
"lexicon": "grafana"
|
|
31
76
|
},
|
|
77
|
+
"ExternalDatasource": {
|
|
78
|
+
"resourceType": "Grafana::ExternalDatasource",
|
|
79
|
+
"kind": "resource",
|
|
80
|
+
"lexicon": "grafana"
|
|
81
|
+
},
|
|
82
|
+
"FlameGraphPanel": {
|
|
83
|
+
"resourceType": "Grafana::Panel::flamegraph",
|
|
84
|
+
"kind": "resource",
|
|
85
|
+
"lexicon": "grafana"
|
|
86
|
+
},
|
|
32
87
|
"GaugePanel": {
|
|
33
88
|
"resourceType": "Grafana::Panel::gauge",
|
|
34
89
|
"kind": "resource",
|
|
35
90
|
"lexicon": "grafana"
|
|
36
91
|
},
|
|
92
|
+
"GeomapPanel": {
|
|
93
|
+
"resourceType": "Grafana::Panel::geomap",
|
|
94
|
+
"kind": "resource",
|
|
95
|
+
"lexicon": "grafana"
|
|
96
|
+
},
|
|
37
97
|
"HeatmapPanel": {
|
|
38
98
|
"resourceType": "Grafana::Panel::heatmap",
|
|
39
99
|
"kind": "resource",
|
|
40
100
|
"lexicon": "grafana"
|
|
41
101
|
},
|
|
102
|
+
"HistogramPanel": {
|
|
103
|
+
"resourceType": "Grafana::Panel::histogram",
|
|
104
|
+
"kind": "resource",
|
|
105
|
+
"lexicon": "grafana"
|
|
106
|
+
},
|
|
42
107
|
"IntervalVariable": {
|
|
43
108
|
"resourceType": "Grafana::Variable::interval",
|
|
44
109
|
"kind": "resource",
|
|
@@ -54,6 +119,36 @@
|
|
|
54
119
|
"kind": "resource",
|
|
55
120
|
"lexicon": "grafana"
|
|
56
121
|
},
|
|
122
|
+
"MathExpression": {
|
|
123
|
+
"resourceType": "Grafana::Expression::math",
|
|
124
|
+
"kind": "resource",
|
|
125
|
+
"lexicon": "grafana"
|
|
126
|
+
},
|
|
127
|
+
"MuteTiming": {
|
|
128
|
+
"resourceType": "Grafana::MuteTiming",
|
|
129
|
+
"kind": "resource",
|
|
130
|
+
"lexicon": "grafana"
|
|
131
|
+
},
|
|
132
|
+
"NodeGraphPanel": {
|
|
133
|
+
"resourceType": "Grafana::Panel::nodeGraph",
|
|
134
|
+
"kind": "resource",
|
|
135
|
+
"lexicon": "grafana"
|
|
136
|
+
},
|
|
137
|
+
"NotificationPolicy": {
|
|
138
|
+
"resourceType": "Grafana::NotificationPolicy",
|
|
139
|
+
"kind": "resource",
|
|
140
|
+
"lexicon": "grafana"
|
|
141
|
+
},
|
|
142
|
+
"NotificationTemplate": {
|
|
143
|
+
"resourceType": "Grafana::NotificationTemplate",
|
|
144
|
+
"kind": "resource",
|
|
145
|
+
"lexicon": "grafana"
|
|
146
|
+
},
|
|
147
|
+
"PieChartPanel": {
|
|
148
|
+
"resourceType": "Grafana::Panel::piechart",
|
|
149
|
+
"kind": "resource",
|
|
150
|
+
"lexicon": "grafana"
|
|
151
|
+
},
|
|
57
152
|
"PromQuery": {
|
|
58
153
|
"resourceType": "Grafana::Query::prometheus",
|
|
59
154
|
"kind": "resource",
|
|
@@ -64,16 +159,41 @@
|
|
|
64
159
|
"kind": "resource",
|
|
65
160
|
"lexicon": "grafana"
|
|
66
161
|
},
|
|
162
|
+
"ReduceExpression": {
|
|
163
|
+
"resourceType": "Grafana::Expression::reduce",
|
|
164
|
+
"kind": "resource",
|
|
165
|
+
"lexicon": "grafana"
|
|
166
|
+
},
|
|
167
|
+
"ResampleExpression": {
|
|
168
|
+
"resourceType": "Grafana::Expression::resample",
|
|
169
|
+
"kind": "resource",
|
|
170
|
+
"lexicon": "grafana"
|
|
171
|
+
},
|
|
67
172
|
"Row": {
|
|
68
173
|
"resourceType": "Grafana::Row",
|
|
69
174
|
"kind": "resource",
|
|
70
175
|
"lexicon": "grafana"
|
|
71
176
|
},
|
|
177
|
+
"SqlExpression": {
|
|
178
|
+
"resourceType": "Grafana::Expression::sql",
|
|
179
|
+
"kind": "resource",
|
|
180
|
+
"lexicon": "grafana"
|
|
181
|
+
},
|
|
182
|
+
"StateTimelinePanel": {
|
|
183
|
+
"resourceType": "Grafana::Panel::state-timeline",
|
|
184
|
+
"kind": "resource",
|
|
185
|
+
"lexicon": "grafana"
|
|
186
|
+
},
|
|
72
187
|
"StatPanel": {
|
|
73
188
|
"resourceType": "Grafana::Panel::stat",
|
|
74
189
|
"kind": "resource",
|
|
75
190
|
"lexicon": "grafana"
|
|
76
191
|
},
|
|
192
|
+
"StatusHistoryPanel": {
|
|
193
|
+
"resourceType": "Grafana::Panel::status-history",
|
|
194
|
+
"kind": "resource",
|
|
195
|
+
"lexicon": "grafana"
|
|
196
|
+
},
|
|
77
197
|
"TablePanel": {
|
|
78
198
|
"resourceType": "Grafana::Panel::table",
|
|
79
199
|
"kind": "resource",
|
|
@@ -94,6 +214,11 @@
|
|
|
94
214
|
"kind": "resource",
|
|
95
215
|
"lexicon": "grafana"
|
|
96
216
|
},
|
|
217
|
+
"ThresholdExpression": {
|
|
218
|
+
"resourceType": "Grafana::Expression::threshold",
|
|
219
|
+
"kind": "resource",
|
|
220
|
+
"lexicon": "grafana"
|
|
221
|
+
},
|
|
97
222
|
"TimeSeriesPanel": {
|
|
98
223
|
"resourceType": "Grafana::Panel::timeseries",
|
|
99
224
|
"kind": "resource",
|
|
@@ -103,5 +228,15 @@
|
|
|
103
228
|
"resourceType": "Grafana::Panel::traces",
|
|
104
229
|
"kind": "resource",
|
|
105
230
|
"lexicon": "grafana"
|
|
231
|
+
},
|
|
232
|
+
"TrendPanel": {
|
|
233
|
+
"resourceType": "Grafana::Panel::trend",
|
|
234
|
+
"kind": "resource",
|
|
235
|
+
"lexicon": "grafana"
|
|
236
|
+
},
|
|
237
|
+
"XYChartPanel": {
|
|
238
|
+
"resourceType": "Grafana::Panel::xychart",
|
|
239
|
+
"kind": "resource",
|
|
240
|
+
"lexicon": "grafana"
|
|
106
241
|
}
|
|
107
242
|
}
|
package/dist/okf/index.md
CHANGED
|
@@ -4,36 +4,70 @@ okf_version: '0.2'
|
|
|
4
4
|
|
|
5
5
|
# Resource types
|
|
6
6
|
|
|
7
|
+
* [AlertListPanel](/types/AlertListPanel.md) - Grafana::Panel::alertlist
|
|
8
|
+
* [AlertQuery](/types/AlertQuery.md) - Grafana::AlertQuery
|
|
9
|
+
* [AlertRule](/types/AlertRule.md) - Grafana::AlertRule
|
|
10
|
+
* [AlertRuleGroup](/types/AlertRuleGroup.md) - Grafana::AlertRuleGroup
|
|
11
|
+
* [BarChartPanel](/types/BarChartPanel.md) - Grafana::Panel::barchart
|
|
12
|
+
* [BarGaugePanel](/types/BarGaugePanel.md) - Grafana::Panel::bargauge
|
|
13
|
+
* [CanvasPanel](/types/CanvasPanel.md) - Grafana::Panel::canvas
|
|
14
|
+
* [ClassicConditionsExpression](/types/ClassicConditionsExpression.md) - Grafana::Expression::classic_conditions
|
|
7
15
|
* [ConstantVariable](/types/ConstantVariable.md) - Grafana::Variable::constant
|
|
16
|
+
* [ContactPoint](/types/ContactPoint.md) - Grafana::ContactPoint
|
|
8
17
|
* [CustomVariable](/types/CustomVariable.md) - Grafana::Variable::custom
|
|
9
18
|
* [Dashboard](/types/Dashboard.md) - Grafana::Dashboard
|
|
10
19
|
* [DashboardProvider](/types/DashboardProvider.md) - Grafana::DashboardProvider
|
|
11
20
|
* [Datasource](/types/Datasource.md) - Grafana::Datasource
|
|
12
21
|
* [DatasourceVariable](/types/DatasourceVariable.md) - Grafana::Variable::datasource
|
|
22
|
+
* [ExternalDatasource](/types/ExternalDatasource.md) - Grafana::ExternalDatasource
|
|
23
|
+
* [FlameGraphPanel](/types/FlameGraphPanel.md) - Grafana::Panel::flamegraph
|
|
13
24
|
* [GaugePanel](/types/GaugePanel.md) - Grafana::Panel::gauge
|
|
25
|
+
* [GeomapPanel](/types/GeomapPanel.md) - Grafana::Panel::geomap
|
|
14
26
|
* [HeatmapPanel](/types/HeatmapPanel.md) - Grafana::Panel::heatmap
|
|
27
|
+
* [HistogramPanel](/types/HistogramPanel.md) - Grafana::Panel::histogram
|
|
15
28
|
* [IntervalVariable](/types/IntervalVariable.md) - Grafana::Variable::interval
|
|
16
29
|
* [LogsPanel](/types/LogsPanel.md) - Grafana::Panel::logs
|
|
17
30
|
* [LokiQuery](/types/LokiQuery.md) - Grafana::Query::loki
|
|
31
|
+
* [MathExpression](/types/MathExpression.md) - Grafana::Expression::math
|
|
32
|
+
* [MuteTiming](/types/MuteTiming.md) - Grafana::MuteTiming
|
|
33
|
+
* [NodeGraphPanel](/types/NodeGraphPanel.md) - Grafana::Panel::nodeGraph
|
|
34
|
+
* [NotificationPolicy](/types/NotificationPolicy.md) - Grafana::NotificationPolicy
|
|
35
|
+
* [NotificationTemplate](/types/NotificationTemplate.md) - Grafana::NotificationTemplate
|
|
36
|
+
* [PieChartPanel](/types/PieChartPanel.md) - Grafana::Panel::piechart
|
|
18
37
|
* [PromQuery](/types/PromQuery.md) - Grafana::Query::prometheus
|
|
19
38
|
* [QueryVariable](/types/QueryVariable.md) - Grafana::Variable::query
|
|
39
|
+
* [ReduceExpression](/types/ReduceExpression.md) - Grafana::Expression::reduce
|
|
40
|
+
* [ResampleExpression](/types/ResampleExpression.md) - Grafana::Expression::resample
|
|
20
41
|
* [Row](/types/Row.md) - Grafana::Row
|
|
42
|
+
* [SqlExpression](/types/SqlExpression.md) - Grafana::Expression::sql
|
|
43
|
+
* [StateTimelinePanel](/types/StateTimelinePanel.md) - Grafana::Panel::state-timeline
|
|
21
44
|
* [StatPanel](/types/StatPanel.md) - Grafana::Panel::stat
|
|
45
|
+
* [StatusHistoryPanel](/types/StatusHistoryPanel.md) - Grafana::Panel::status-history
|
|
22
46
|
* [TablePanel](/types/TablePanel.md) - Grafana::Panel::table
|
|
23
47
|
* [TempoQuery](/types/TempoQuery.md) - Grafana::Query::tempo
|
|
24
48
|
* [TextboxVariable](/types/TextboxVariable.md) - Grafana::Variable::textbox
|
|
25
49
|
* [TextPanel](/types/TextPanel.md) - Grafana::Panel::text
|
|
50
|
+
* [ThresholdExpression](/types/ThresholdExpression.md) - Grafana::Expression::threshold
|
|
26
51
|
* [TimeSeriesPanel](/types/TimeSeriesPanel.md) - Grafana::Panel::timeseries
|
|
27
52
|
* [TracesPanel](/types/TracesPanel.md) - Grafana::Panel::traces
|
|
53
|
+
* [TrendPanel](/types/TrendPanel.md) - Grafana::Panel::trend
|
|
54
|
+
* [XYChartPanel](/types/XYChartPanel.md) - Grafana::Panel::xychart
|
|
28
55
|
|
|
29
56
|
# Rules
|
|
30
57
|
|
|
31
58
|
* [GRAF001](/rules/GRAF001.md) - a uid Grafana rejects, or a variable name queries cannot reference.
|
|
32
|
-
* [GRAF002](/rules/GRAF002.md) - a datasource secret written as a literal.
|
|
33
|
-
* [GRAF101](/rules/GRAF101.md) - A panel, query or variable uses a datasource no Datasource in the build declares
|
|
59
|
+
* [GRAF002](/rules/GRAF002.md) - a datasource or contact point secret written as a literal.
|
|
60
|
+
* [GRAF101](/rules/GRAF101.md) - A panel, query or variable uses a datasource no Datasource or ExternalDatasource in the build declares
|
|
34
61
|
* [GRAF102](/rules/GRAF102.md) - A query is sent to a datasource of another plugin type
|
|
35
62
|
* [GRAF103](/rules/GRAF103.md) - A query, title, datasource or repeat uses a variable the dashboard does not declare
|
|
36
63
|
* [GRAF104](/rules/GRAF104.md) - Two dashboards, datasources, panels, variables or queries share an id
|
|
37
64
|
* [GRAF105](/rules/GRAF105.md) - A panel does not fit the 24-column grid, or overlaps another panel
|
|
38
65
|
* [GRAF106](/rules/GRAF106.md) - A dashboard or datasource uid Grafana rejects, or a dashboard with no title
|
|
39
66
|
* [GRAF107](/rules/GRAF107.md) - A dashboard does not match the pinned Grafana schema
|
|
67
|
+
* [GRAF108](/rules/GRAF108.md) - A query sent to Prometheus is not valid PromQL
|
|
68
|
+
* [GRAF109](/rules/GRAF109.md) - Dashboard provisioning puts a dashboard somewhere other than its declared folder, or loads it twice
|
|
69
|
+
* [GRAF111](/rules/GRAF111.md) - An alert rule's condition, expression inputs or refIds do not fit together
|
|
70
|
+
* [GRAF112](/rules/GRAF112.md) - An alert rule queries a datasource the build does not declare, or of another type
|
|
71
|
+
* [GRAF113](/rules/GRAF113.md) - Alerting routes to a contact point or mute timing the build does not declare, or a policy matcher does not parse
|
|
72
|
+
* [GRAF114](/rules/GRAF114.md) - An alerting uid, name, title or interval Grafana rejects, or one declared twice
|
|
73
|
+
* [GRAF115](/rules/GRAF115.md) - A panel unit Grafana doesn't know, which it shows as a literal suffix
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: lint-rule
|
|
3
3
|
title: GRAF002
|
|
4
|
-
description: a datasource secret written as a literal.
|
|
4
|
+
description: a datasource or contact point secret written as a literal.
|
|
5
5
|
id: GRAF002
|
|
6
6
|
severity: error
|
|
7
7
|
category: security
|
|
8
8
|
lexicon: grafana
|
|
9
9
|
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
10
|
---
|
|
11
|
-
a datasource secret written as a literal.
|
|
11
|
+
a datasource or contact point secret written as a literal.
|
|
12
12
|
|
|
13
13
|
## Applies to
|
|
14
14
|
|
|
15
|
+
- [ContactPoint](/types/ContactPoint.md)
|
|
15
16
|
- [Datasource](/types/Datasource.md)
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
---
|
|
2
2
|
type: post-synth-check
|
|
3
3
|
title: GRAF101
|
|
4
|
-
description: A panel, query or variable uses a datasource no Datasource in the build declares
|
|
4
|
+
description: A panel, query or variable uses a datasource no Datasource or ExternalDatasource in the build declares
|
|
5
5
|
id: GRAF101
|
|
6
6
|
severity: error
|
|
7
7
|
category: post-synth
|
|
8
8
|
lexicon: grafana
|
|
9
9
|
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
10
|
---
|
|
11
|
-
A panel, query or variable uses a datasource no Datasource in the build declares
|
|
11
|
+
A panel, query or variable uses a datasource no Datasource or ExternalDatasource in the build declares
|
|
12
12
|
|
|
13
13
|
## Applies to
|
|
14
14
|
|
|
15
15
|
- [Datasource](/types/Datasource.md)
|
|
16
|
+
- [ExternalDatasource](/types/ExternalDatasource.md)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: GRAF108
|
|
4
|
+
description: A query sent to Prometheus is not valid PromQL
|
|
5
|
+
id: GRAF108
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: grafana
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
|
+
---
|
|
11
|
+
A query sent to Prometheus is not valid PromQL
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: GRAF109
|
|
4
|
+
description: Dashboard provisioning puts a dashboard somewhere other than its declared folder, or loads it twice
|
|
5
|
+
id: GRAF109
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: grafana
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
|
+
---
|
|
11
|
+
Dashboard provisioning puts a dashboard somewhere other than its declared folder, or loads it twice
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Dashboard](/types/Dashboard.md)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: GRAF111
|
|
4
|
+
description: An alert rule's condition, expression inputs or refIds do not fit together
|
|
5
|
+
id: GRAF111
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: grafana
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
|
+
---
|
|
11
|
+
An alert rule's condition, expression inputs or refIds do not fit together
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: GRAF112
|
|
4
|
+
description: An alert rule queries a datasource the build does not declare, or of another type
|
|
5
|
+
id: GRAF112
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: grafana
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
|
+
---
|
|
11
|
+
An alert rule queries a datasource the build does not declare, or of another type
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [Datasource](/types/Datasource.md)
|
|
16
|
+
- [ExternalDatasource](/types/ExternalDatasource.md)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: GRAF113
|
|
4
|
+
description: Alerting routes to a contact point or mute timing the build does not declare, or a policy matcher does not parse
|
|
5
|
+
id: GRAF113
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: grafana
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
|
+
---
|
|
11
|
+
Alerting routes to a contact point or mute timing the build does not declare, or a policy matcher does not parse
|
|
12
|
+
|
|
13
|
+
## Applies to
|
|
14
|
+
|
|
15
|
+
- [ContactPoint](/types/ContactPoint.md)
|
|
16
|
+
- [MuteTiming](/types/MuteTiming.md)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: GRAF114
|
|
4
|
+
description: An alerting uid, name, title or interval Grafana rejects, or one declared twice
|
|
5
|
+
id: GRAF114
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: grafana
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
|
+
---
|
|
11
|
+
An alerting uid, name, title or interval Grafana rejects, or one declared twice
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: post-synth-check
|
|
3
|
+
title: GRAF115
|
|
4
|
+
description: A panel unit Grafana doesn't know, which it shows as a literal suffix
|
|
5
|
+
id: GRAF115
|
|
6
|
+
severity: error
|
|
7
|
+
category: post-synth
|
|
8
|
+
lexicon: grafana
|
|
9
|
+
docs: https://intentius.io/chant/lexicons/grafana/rules/
|
|
10
|
+
---
|
|
11
|
+
A panel unit Grafana doesn't know, which it shows as a literal suffix
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: AlertListPanel
|
|
4
|
+
description: grafana resource type Grafana::Panel::alertlist
|
|
5
|
+
name: AlertListPanel
|
|
6
|
+
lexicon: grafana
|
|
7
|
+
resource_type: Grafana::Panel::alertlist
|
|
8
|
+
---
|
|
9
|
+
`Grafana::Panel::alertlist`, a resource type of the grafana lexicon.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: AlertRuleGroup
|
|
4
|
+
description: grafana resource type Grafana::AlertRuleGroup
|
|
5
|
+
name: AlertRuleGroup
|
|
6
|
+
lexicon: grafana
|
|
7
|
+
resource_type: Grafana::AlertRuleGroup
|
|
8
|
+
---
|
|
9
|
+
`Grafana::AlertRuleGroup`, a resource type of the grafana lexicon.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: BarChartPanel
|
|
4
|
+
description: grafana resource type Grafana::Panel::barchart
|
|
5
|
+
name: BarChartPanel
|
|
6
|
+
lexicon: grafana
|
|
7
|
+
resource_type: Grafana::Panel::barchart
|
|
8
|
+
---
|
|
9
|
+
`Grafana::Panel::barchart`, a resource type of the grafana lexicon.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: resource-type
|
|
3
|
+
title: BarGaugePanel
|
|
4
|
+
description: grafana resource type Grafana::Panel::bargauge
|
|
5
|
+
name: BarGaugePanel
|
|
6
|
+
lexicon: grafana
|
|
7
|
+
resource_type: Grafana::Panel::bargauge
|
|
8
|
+
---
|
|
9
|
+
`Grafana::Panel::bargauge`, a resource type of the grafana lexicon.
|