@intentius/chant-lexicon-grafana 0.99.0 → 0.100.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.
Files changed (224) hide show
  1. package/README.md +12 -6
  2. package/dist/annotations.d.ts +61 -0
  3. package/dist/annotations.d.ts.map +1 -0
  4. package/dist/api/apply.d.ts +8 -4
  5. package/dist/api/apply.d.ts.map +1 -1
  6. package/dist/api/fake-grafana.d.ts +2 -0
  7. package/dist/api/fake-grafana.d.ts.map +1 -1
  8. package/dist/api/folders.d.ts +53 -17
  9. package/dist/api/folders.d.ts.map +1 -1
  10. package/dist/build.d.ts +26 -5
  11. package/dist/build.d.ts.map +1 -1
  12. package/dist/catalog.d.ts +1 -1
  13. package/dist/catalog.d.ts.map +1 -1
  14. package/dist/codegen/docs.d.ts.map +1 -1
  15. package/dist/codegen/generate.d.ts +7 -1
  16. package/dist/codegen/generate.d.ts.map +1 -1
  17. package/dist/composites/shared.d.ts +4 -3
  18. package/dist/composites/shared.d.ts.map +1 -1
  19. package/dist/dashboard.d.ts +42 -14
  20. package/dist/dashboard.d.ts.map +1 -1
  21. package/dist/datasource-refs.d.ts +9 -5
  22. package/dist/datasource-refs.d.ts.map +1 -1
  23. package/dist/datasource-settings.d.ts +834 -0
  24. package/dist/datasource-settings.d.ts.map +1 -0
  25. package/dist/datasource.d.ts +53 -11
  26. package/dist/datasource.d.ts.map +1 -1
  27. package/dist/deep-observe-hooks.d.ts +1 -1
  28. package/dist/deep-observe-hooks.d.ts.map +1 -1
  29. package/dist/deep-observe.d.ts +9 -4
  30. package/dist/deep-observe.d.ts.map +1 -1
  31. package/dist/describe-resources.d.ts +1 -0
  32. package/dist/describe-resources.d.ts.map +1 -1
  33. package/dist/detect.d.ts +4 -2
  34. package/dist/detect.d.ts.map +1 -1
  35. package/dist/folder.d.ts +68 -0
  36. package/dist/folder.d.ts.map +1 -0
  37. package/dist/import/generator.d.ts.map +1 -1
  38. package/dist/import/mappings.d.ts +12 -6
  39. package/dist/import/mappings.d.ts.map +1 -1
  40. package/dist/import/model.d.ts +7 -0
  41. package/dist/import/model.d.ts.map +1 -1
  42. package/dist/import/normalize.d.ts.map +1 -1
  43. package/dist/import/parser.d.ts +16 -1
  44. package/dist/import/parser.d.ts.map +1 -1
  45. package/dist/import/testdata/fixtures.d.ts +6 -0
  46. package/dist/import/testdata/fixtures.d.ts.map +1 -1
  47. package/dist/import/v2.d.ts +4 -3
  48. package/dist/import/v2.d.ts.map +1 -1
  49. package/dist/index.d.ts +11 -9
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/init-templates.d.ts +27 -0
  52. package/dist/init-templates.d.ts.map +1 -0
  53. package/dist/integrity.json +11 -9
  54. package/dist/lint/audit-catalog.d.ts +1 -1
  55. package/dist/lint/audit-catalog.d.ts.map +1 -1
  56. package/dist/lint/post-synth/graf101.d.ts +1 -1
  57. package/dist/lint/post-synth/graf104.d.ts +2 -2
  58. package/dist/lint/post-synth/graf106.d.ts +2 -2
  59. package/dist/lint/post-synth/graf110.d.ts +8 -0
  60. package/dist/lint/post-synth/graf110.d.ts.map +1 -0
  61. package/dist/lint/post-synth/grafana-helpers.d.ts.map +1 -1
  62. package/dist/lint/post-synth/index.d.ts.map +1 -1
  63. package/dist/manifest.json +1 -1
  64. package/dist/meta.json +70 -0
  65. package/dist/okf/index.md +18 -3
  66. package/dist/okf/rules/GRAF101.md +2 -2
  67. package/dist/okf/rules/GRAF104.md +2 -2
  68. package/dist/okf/rules/GRAF106.md +2 -2
  69. package/dist/okf/rules/GRAF110.md +11 -0
  70. package/dist/okf/types/AdhocVariable.md +9 -0
  71. package/dist/okf/types/AzureMonitorQuery.md +9 -0
  72. package/dist/okf/types/BigQueryQuery.md +9 -0
  73. package/dist/okf/types/CloudMonitoringQuery.md +9 -0
  74. package/dist/okf/types/CloudWatchQuery.md +9 -0
  75. package/dist/okf/types/Dashboard.md +1 -1
  76. package/dist/okf/types/Datasource.md +1 -1
  77. package/dist/okf/types/DatasourceProvisioning.md +9 -0
  78. package/dist/okf/types/ElasticsearchQuery.md +9 -0
  79. package/dist/okf/types/ExternalDatasource.md +1 -1
  80. package/dist/okf/types/Folder.md +9 -0
  81. package/dist/okf/types/GroupByVariable.md +9 -0
  82. package/dist/okf/types/MSSQLQuery.md +9 -0
  83. package/dist/okf/types/MySQLQuery.md +9 -0
  84. package/dist/okf/types/PostgresQuery.md +9 -0
  85. package/dist/okf/types/PyroscopeQuery.md +9 -0
  86. package/dist/okf/types/SwitchVariable.md +9 -0
  87. package/dist/op/activities/grafana-apply.d.ts +11 -0
  88. package/dist/op/activities/grafana-apply.d.ts.map +1 -1
  89. package/dist/op/activities/index.d.ts +1 -1
  90. package/dist/op/activities/index.d.ts.map +1 -1
  91. package/dist/ownership.d.ts +11 -0
  92. package/dist/ownership.d.ts.map +1 -1
  93. package/dist/pin.d.ts +1 -1
  94. package/dist/pin.d.ts.map +1 -1
  95. package/dist/plugin.d.ts.map +1 -1
  96. package/dist/promql-check.d.ts.map +1 -1
  97. package/dist/query-models.d.ts +95 -0
  98. package/dist/query-models.d.ts.map +1 -0
  99. package/dist/query.d.ts +107 -10
  100. package/dist/query.d.ts.map +1 -1
  101. package/dist/rules/graf101.ts +2 -2
  102. package/dist/rules/graf104.ts +3 -3
  103. package/dist/rules/graf106.ts +3 -3
  104. package/dist/rules/graf110.ts +17 -0
  105. package/dist/rules/grafana-helpers.ts +13 -3
  106. package/dist/schema/azuremonitor.gen.d.ts +354 -0
  107. package/dist/schema/azuremonitor.gen.d.ts.map +1 -0
  108. package/dist/schema/bigquery.gen.d.ts +93 -0
  109. package/dist/schema/bigquery.gen.d.ts.map +1 -0
  110. package/dist/schema/cloudwatch.gen.d.ts +394 -0
  111. package/dist/schema/cloudwatch.gen.d.ts.map +1 -0
  112. package/dist/schema/elasticsearch.gen.d.ts +444 -0
  113. package/dist/schema/elasticsearch.gen.d.ts.map +1 -0
  114. package/dist/schema/googlecloudmonitoring.gen.d.ts +312 -0
  115. package/dist/schema/googlecloudmonitoring.gen.d.ts.map +1 -0
  116. package/dist/schema/grafanapyroscope.gen.d.ts +60 -0
  117. package/dist/schema/grafanapyroscope.gen.d.ts.map +1 -0
  118. package/dist/schema/index.d.ts +6 -0
  119. package/dist/schema/index.d.ts.map +1 -1
  120. package/dist/schema/table.gen.d.ts +13 -0
  121. package/dist/schema/table.gen.d.ts.map +1 -1
  122. package/dist/schema-validate.d.ts +9 -0
  123. package/dist/schema-validate.d.ts.map +1 -1
  124. package/dist/skill-defs.d.ts.map +1 -1
  125. package/dist/skills/chant-grafana-operations.md +108 -0
  126. package/dist/skills/chant-grafana.md +5 -4
  127. package/dist/spec/schemas.d.ts +9 -7
  128. package/dist/spec/schemas.d.ts.map +1 -1
  129. package/dist/spec/schemas.gen.d.ts +3 -0
  130. package/dist/spec/schemas.gen.d.ts.map +1 -0
  131. package/dist/validate-alerting.d.ts.map +1 -1
  132. package/dist/validate-output.d.ts +15 -2
  133. package/dist/validate-output.d.ts.map +1 -1
  134. package/dist/validate.d.ts.map +1 -1
  135. package/dist/validation.d.ts +14 -0
  136. package/dist/validation.d.ts.map +1 -0
  137. package/dist/variables.d.ts +102 -5
  138. package/dist/variables.d.ts.map +1 -1
  139. package/package.json +2 -2
  140. package/src/annotations.ts +84 -0
  141. package/src/api/apply.test.ts +19 -1
  142. package/src/api/apply.ts +18 -8
  143. package/src/api/fake-grafana.ts +6 -2
  144. package/src/api/folders.ts +106 -32
  145. package/src/build.test.ts +142 -6
  146. package/src/build.ts +126 -24
  147. package/src/catalog.ts +20 -2
  148. package/src/codegen/docs.ts +13 -6
  149. package/src/codegen/generate.ts +27 -1
  150. package/src/composites/shared.ts +3 -2
  151. package/src/dashboard.ts +59 -14
  152. package/src/datasource-refs.ts +30 -6
  153. package/src/datasource-settings.test.ts +106 -0
  154. package/src/datasource-settings.ts +941 -0
  155. package/src/datasource.ts +71 -11
  156. package/src/deep-observe-hooks.ts +16 -1
  157. package/src/deep-observe.test.ts +47 -1
  158. package/src/deep-observe.ts +36 -13
  159. package/src/describe-resources.test.ts +16 -0
  160. package/src/describe-resources.ts +36 -1
  161. package/src/detect.ts +3 -3
  162. package/src/folder.ts +118 -0
  163. package/src/generated/lexicon-grafana.json +70 -0
  164. package/src/import/generated-types.e2e.test.ts +15 -3
  165. package/src/import/generator.ts +2 -1
  166. package/src/import/mappings.ts +98 -26
  167. package/src/import/model.ts +7 -0
  168. package/src/import/normalize.ts +32 -3
  169. package/src/import/parser.test.ts +97 -21
  170. package/src/import/parser.ts +169 -18
  171. package/src/import/roundtrip.test.ts +104 -9
  172. package/src/import/testdata/fixtures.ts +8 -0
  173. package/src/import/v2.ts +4 -3
  174. package/src/index.ts +122 -13
  175. package/src/init-templates.test.ts +74 -0
  176. package/src/init-templates.ts +349 -0
  177. package/src/lint/audit-catalog.ts +9 -1
  178. package/src/lint/post-synth/graf101.ts +2 -2
  179. package/src/lint/post-synth/graf104.ts +3 -3
  180. package/src/lint/post-synth/graf106.ts +3 -3
  181. package/src/lint/post-synth/graf110.ts +17 -0
  182. package/src/lint/post-synth/grafana-helpers.ts +13 -3
  183. package/src/lint/post-synth/index.ts +2 -0
  184. package/src/lint/post-synth/post-synth.test.ts +99 -2
  185. package/src/load-cost.test.ts +35 -0
  186. package/src/op/activities/grafana-apply.e2e.test.ts +14 -5
  187. package/src/op/activities/grafana-apply.test.ts +16 -2
  188. package/src/op/activities/grafana-apply.ts +29 -3
  189. package/src/op/activities/index.ts +1 -1
  190. package/src/ownership.ts +19 -0
  191. package/src/panels.test.ts +3 -1
  192. package/src/pin.ts +12 -0
  193. package/src/plugin.test.ts +9 -2
  194. package/src/plugin.ts +9 -0
  195. package/src/promql-check.ts +5 -1
  196. package/src/query-models.ts +94 -0
  197. package/src/query.test.ts +166 -0
  198. package/src/query.ts +177 -12
  199. package/src/schema/azuremonitor.gen.ts +381 -0
  200. package/src/schema/bigquery.gen.ts +110 -0
  201. package/src/schema/cloudwatch.gen.ts +423 -0
  202. package/src/schema/elasticsearch.gen.ts +508 -0
  203. package/src/schema/googlecloudmonitoring.gen.ts +330 -0
  204. package/src/schema/grafanapyroscope.gen.ts +66 -0
  205. package/src/schema/index.ts +6 -0
  206. package/src/schema/table.gen.ts +14 -0
  207. package/src/schema-validate.ts +58 -7
  208. package/src/skill-defs.ts +17 -0
  209. package/src/skills/chant-grafana-operations.md +108 -0
  210. package/src/skills/chant-grafana.md +5 -4
  211. package/src/spec/overlay/table.overlay.json +19 -0
  212. package/src/spec/schemas/azuremonitor.jsonschema.json +679 -0
  213. package/src/spec/schemas/bigquery.jsonschema.json +290 -0
  214. package/src/spec/schemas/cloudwatch.jsonschema.json +721 -0
  215. package/src/spec/schemas/elasticsearch.jsonschema.json +1695 -0
  216. package/src/spec/schemas/googlecloudmonitoring.jsonschema.json +488 -0
  217. package/src/spec/schemas/grafanapyroscope.jsonschema.json +93 -0
  218. package/src/spec/schemas.gen.ts +40 -0
  219. package/src/spec/schemas.ts +9 -7
  220. package/src/validate-alerting.ts +4 -2
  221. package/src/validate-output.ts +96 -4
  222. package/src/validate.ts +14 -0
  223. package/src/validation.ts +27 -0
  224. package/src/variables.ts +113 -6
@@ -0,0 +1,27 @@
1
+ /**
2
+ * `chant init --lexicon grafana` scaffolds.
3
+ *
4
+ * - default: a Prometheus datasource and a job overview dashboard with a
5
+ * typed variable, in a folder.
6
+ * - `red`: rate, errors and duration per service from the OpenTelemetry
7
+ * collector's span metrics, over a Prometheus Grafana already has
8
+ * (`ExternalDatasource`), in a pinned `Folder`.
9
+ * - `k8s-pods`: CPU, memory, restarts and pod phase per namespace, delivered
10
+ * as ConfigMaps the Grafana Helm chart's sidecar loads, from the `/k8s`
11
+ * subpath. Builds with the k8s lexicon.
12
+ * - `slo`: an SLO's recording rules, its dashboard and its burn-rate alerts
13
+ * as Grafana-managed rules. Builds with the prometheus lexicon.
14
+ *
15
+ * The otel, prometheus and k8s lexicons these import are dependencies of
16
+ * the grafana lexicon, so they are installed with it. The templates that
17
+ * build with a second lexicon ship their own `chant.config.ts` and a build
18
+ * script without `--lexicon`, so every lexicon's output and checks run.
19
+ */
20
+ import type { InitTemplateSet } from "@intentius/chant/lexicon";
21
+ export declare const DEFAULT_TEMPLATE: InitTemplateSet;
22
+ export declare const RED_TEMPLATE: InitTemplateSet;
23
+ export declare const K8S_PODS_TEMPLATE: InitTemplateSet;
24
+ export declare const SLO_TEMPLATE: InitTemplateSet;
25
+ /** The template names `chant init --lexicon grafana --template <name>` takes, besides the default. */
26
+ export declare const TEMPLATE_NAMES: readonly ["red", "k8s-pods", "slo"];
27
+ //# sourceMappingURL=init-templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-templates.d.ts","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AA8ShE,eAAO,MAAM,gBAAgB,EAAE,eAE9B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAE1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,eAU/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAI1B,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,cAAc,qCAAsC,CAAC"}
@@ -1,30 +1,32 @@
1
1
  {
2
2
  "algorithm": "sha256",
3
3
  "artifacts": {
4
- "manifest.json": "b325c38dff3bc0a339ea4a8fe088db9c347c3a0155e64e95821b3492046054ef",
5
- "meta.json": "fee34b0c5c2e699e8e797352dd710e42409e33ae2f072f3e5e53d0d11dad34d9",
4
+ "manifest.json": "6b9780bbfbc00f2317658e520c26391d7a7dbfbd01f6e640b6fdf376821e8d18",
5
+ "meta.json": "d30a7da8926eb2970ca428a6df98671533acba9b175ea251ce0b103aaf95bc65",
6
6
  "types/index.d.ts": "ad385264290f2486f7a54be205684de8415a25b74eee5b809ca625ae19fb08da",
7
7
  "rules/grafana-ast.ts": "51f4fac423f7a5c6d6f577074e95b4a70d4ab0a05883a86e04970a50c63d92e8",
8
8
  "rules/literal-secret.ts": "bc3e13bff3bfa5f4b66f2b43682efb8605ce5ef2fe5c53bca2de07369fca496f",
9
9
  "rules/uid-syntax.ts": "ea6fc0053afcdfb50fd6420d6845cba37352a66411d4f06e7e76876b063e7184",
10
- "rules/graf101.ts": "7e6cf2a1d25ab95b52cd6496924dcde021b18875cb604b00ce7785274d783fe6",
10
+ "rules/graf101.ts": "cc1c75a890a01b8f5a5e079769d905d810a7943290bed32203364ec1d940d996",
11
11
  "rules/graf102.ts": "c05d50461adc8cf6d4e913de77dc1ecdb27e3d0eaa2929fca8757101f58d69ee",
12
12
  "rules/graf103.ts": "d4a035f9fb2dad5e6f415c3fd684789517b0fa38455965b79e221ef2c4c443cf",
13
- "rules/graf104.ts": "3a46afbc9afd6840079b5c0053d8b17d878dc6735dcf1d1d09d66971de4bccc8",
13
+ "rules/graf104.ts": "26f6ec4aa0e138db37d58bfe27f2682be8ac9de0396b953b70b50c01b6d8cf51",
14
14
  "rules/graf105.ts": "98264894350f1ce21841922dfefc3dc85abc0ec5c9db91afdfa5c180a8c306f1",
15
- "rules/graf106.ts": "c7f96e236eda49e0b782ef064bb6f21ef93d797d435389fa89e26c697b73d69a",
15
+ "rules/graf106.ts": "21b7402e60b807806f59834689bb5f9f33b8a248c25245beacfc2c3b8f3088f7",
16
16
  "rules/graf107.ts": "e43db67d184b967f1f870dd6a4aac8548a54ad5abd0f58080ca68a2d49c2b20c",
17
17
  "rules/graf108.ts": "dda5ef25f56af51905aaeb8648733887bf4778b59a19a4ef67979e7180c0df62",
18
18
  "rules/graf109.ts": "8b796ee02c0b1bab129805825dee2ef8e0c5afa743a0241d5c251e2b4484039e",
19
+ "rules/graf110.ts": "c79e2f28a2c933be977979f50541ec3f9b3d58bdc239a4d45825f4fabfceb080",
19
20
  "rules/graf111.ts": "acd727a91e33526787bb877550d8a3c12674d34b2a660a23fcb20dec0ffebe03",
20
21
  "rules/graf112.ts": "cfe779df7f82969b7d7428394d062f46e07540b16889a255b6cb066c7e6e3430",
21
22
  "rules/graf113.ts": "81dfb6512e1c0514a5bb105e3fb841110a290c28725ce435283c2c5abd95dd56",
22
23
  "rules/graf114.ts": "0732be823ed7d1e6850abffc5374c95c0cfc4c8a3f8490efa1555319cc260587",
23
24
  "rules/graf115.ts": "eb6b5cb7b275ab27f9602eb5bdc3e2bc8e698ae6d0ffcd984d71e2315e4d6315",
24
- "rules/grafana-helpers.ts": "b0cc8adbb43b5846d46d33880174649d89d7d26e271f7076dea3145069dfc877",
25
- "skills/chant-grafana.md": "113b094f9ee11c50ab990da20393d2e7a4c342a2d959baf8ef11287b0dac8898",
25
+ "rules/grafana-helpers.ts": "0a538daafb10f32077dd6cda4c03b541f703b0a10abc51bfd241eae9365c9be6",
26
+ "skills/chant-grafana.md": "90cf6fef49ebdf81ba6684f4b4ea5a92ae567d722d45e67de67137d07dddf48f",
26
27
  "skills/chant-grafana-provisioning.md": "55bcf20dbd02b74c880dfb682a4fbe047bd4386158781fe9b94fa76715569e7a",
27
- "skills/chant-grafana-alerting.md": "d9648dc14c848851bdccbe069dac54ad06115066f9466c90c4137d07dde6d4ad"
28
+ "skills/chant-grafana-alerting.md": "d9648dc14c848851bdccbe069dac54ad06115066f9466c90c4137d07dde6d4ad",
29
+ "skills/chant-grafana-operations.md": "4235ee74c4faa95b8dcb1926b4cbabb827380c9c13666bf38ef0be0dd2d3bfa2"
28
30
  },
29
- "composite": "8393c04911568b44f1cb0f3d039d09246768e72b2e69397668ea1794a886b45e"
31
+ "composite": "268a39021dbd5a3b56d10f25d0be57225458b54113ac4ef79c2476f7a6c2898d"
30
32
  }
@@ -2,7 +2,7 @@
2
2
  * The grafana lexicon's chant audit catalog, contributed via
3
3
  * `grafanaPlugin.auditCatalog()` (#687, #1346).
4
4
  *
5
- * GRAF101-GRAF109, GRAF111-GRAF114 and GRAF115 read the emitted dashboard
5
+ * GRAF101-GRAF110, GRAF111-GRAF114 and GRAF115 read the emitted dashboard
6
6
  * JSON and provisioning files (alerting included), so
7
7
  * they fire on an audit of files chant didn't build too, and are
8
8
  * `yamlBased`. GRAF001 and GRAF002 read TypeScript source, so they are
@@ -1 +1 @@
1
- {"version":3,"file":"audit-catalog.d.ts","sourceRoot":"","sources":["../../src/lint/audit-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAM1E,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA6HxD,CAAC"}
1
+ {"version":3,"file":"audit-catalog.d.ts","sourceRoot":"","sources":["../../src/lint/audit-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAM1E,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAqIxD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * GRAF101: A panel, query or variable uses a datasource no Datasource or ExternalDatasource in the build declares
2
+ * GRAF101: A panel, query, variable or annotation uses a datasource no Datasource or ExternalDatasource in the build declares, or one the build deletes
3
3
  *
4
4
  * Grafana shows "datasource not found" on the panel. Typed references cannot go wrong this way, so it mostly catches a { type, uid } ref or a hand-edited dashboard. A datasource variable whose plugin type no declared datasource has is an error too. A panel with queries and no datasource at all is a warning: Grafana sends them to its default datasource. This check joins dashboards against the datasources of the same build root (chant #1939): declare one that exists in Grafana but is provisioned elsewhere with ExternalDatasource, which the check counts and the build never provisions. A build that declares no datasource at all gets one warning per dashboard that references any, since nothing can be checked.
5
5
  */
@@ -1,7 +1,7 @@
1
1
  /**
2
- * GRAF104: Two dashboards, datasources, panels, variables or queries share an id
2
+ * GRAF104: Two dashboards, datasources, folders, panels, variables or queries share an id
3
3
  *
4
- * Dashboard uids and datasource uids and names must be unique across the build, panel ids and variable names within a dashboard, and refIds within a panel. Grafana keeps one of two dashboards with the same uid and silently drops the other.
4
+ * Dashboard, folder and datasource uids and datasource names must be unique across the build, panel ids and variable names within a dashboard, and refIds within a panel. Grafana keeps one of two dashboards with the same uid and silently drops the other.
5
5
  */
6
6
  import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
7
7
  export declare const graf104: PostSynthCheck;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * GRAF106: A dashboard or datasource uid Grafana rejects, or a dashboard with no title
2
+ * GRAF106: A dashboard, folder or datasource uid Grafana rejects, or a dashboard with no title
3
3
  *
4
- * Grafana accepts uids of 1-40 letters, digits, - and _, and refuses to save a dashboard without a title.
4
+ * Grafana accepts uids of 1-40 letters, digits, - and _, refuses the folder uid general (its root), and refuses to save a dashboard without a title.
5
5
  */
6
6
  import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
7
7
  export declare const graf106: PostSynthCheck;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * GRAF110: A panel or row repeats over a variable that cannot give it more than one value
3
+ *
4
+ * Grafana repeats a panel or row once per selected value of a query, custom, datasource or group by variable. Over an ad hoc, constant, interval, textbox or switch variable it shows the panel once and logs an error; over a query, custom or datasource variable with neither multi nor includeAll there is only ever one value. A repeat naming no variable is GRAF103.
5
+ */
6
+ import type { PostSynthCheck } from "@intentius/chant/lint/post-synth";
7
+ export declare const graf110: PostSynthCheck;
8
+ //# sourceMappingURL=graf110.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graf110.d.ts","sourceRoot":"","sources":["../../../src/lint/post-synth/graf110.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAyC,MAAM,kCAAkC,CAAC;AAG9G,eAAO,MAAM,OAAO,EAAE,cAOrB,CAAC"}
@@ -1 +1 @@
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
+ {"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;AAsBhG,uKAAuK;AACvK,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB,CAgCxE;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;AAgBvE,eAAO,MAAM,eAAe,EAAE,cAAc,EAe3C,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;AAiBvE,eAAO,MAAM,eAAe,EAAE,cAAc,EAgB3C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "grafana",
3
- "version": "0.99.0",
3
+ "version": "0.100.0",
4
4
  "chantVersion": ">=0.1.0",
5
5
  "namespace": "Grafana",
6
6
  "intrinsics": [],
package/dist/meta.json CHANGED
@@ -1,4 +1,9 @@
1
1
  {
2
+ "AdhocVariable": {
3
+ "resourceType": "Grafana::Variable::adhoc",
4
+ "kind": "resource",
5
+ "lexicon": "grafana"
6
+ },
2
7
  "AlertListPanel": {
3
8
  "resourceType": "Grafana::Panel::alertlist",
4
9
  "kind": "resource",
@@ -19,6 +24,11 @@
19
24
  "kind": "resource",
20
25
  "lexicon": "grafana"
21
26
  },
27
+ "AzureMonitorQuery": {
28
+ "resourceType": "Grafana::Query::grafana-azure-monitor-datasource",
29
+ "kind": "resource",
30
+ "lexicon": "grafana"
31
+ },
22
32
  "BarChartPanel": {
23
33
  "resourceType": "Grafana::Panel::barchart",
24
34
  "kind": "resource",
@@ -29,6 +39,11 @@
29
39
  "kind": "resource",
30
40
  "lexicon": "grafana"
31
41
  },
42
+ "BigQueryQuery": {
43
+ "resourceType": "Grafana::Query::grafana-bigquery-datasource",
44
+ "kind": "resource",
45
+ "lexicon": "grafana"
46
+ },
32
47
  "CanvasPanel": {
33
48
  "resourceType": "Grafana::Panel::canvas",
34
49
  "kind": "resource",
@@ -39,6 +54,16 @@
39
54
  "kind": "resource",
40
55
  "lexicon": "grafana"
41
56
  },
57
+ "CloudMonitoringQuery": {
58
+ "resourceType": "Grafana::Query::stackdriver",
59
+ "kind": "resource",
60
+ "lexicon": "grafana"
61
+ },
62
+ "CloudWatchQuery": {
63
+ "resourceType": "Grafana::Query::cloudwatch",
64
+ "kind": "resource",
65
+ "lexicon": "grafana"
66
+ },
42
67
  "ConstantVariable": {
43
68
  "resourceType": "Grafana::Variable::constant",
44
69
  "kind": "resource",
@@ -69,11 +94,21 @@
69
94
  "kind": "resource",
70
95
  "lexicon": "grafana"
71
96
  },
97
+ "DatasourceProvisioning": {
98
+ "resourceType": "Grafana::DatasourceProvisioning",
99
+ "kind": "resource",
100
+ "lexicon": "grafana"
101
+ },
72
102
  "DatasourceVariable": {
73
103
  "resourceType": "Grafana::Variable::datasource",
74
104
  "kind": "resource",
75
105
  "lexicon": "grafana"
76
106
  },
107
+ "ElasticsearchQuery": {
108
+ "resourceType": "Grafana::Query::elasticsearch",
109
+ "kind": "resource",
110
+ "lexicon": "grafana"
111
+ },
77
112
  "ExternalDatasource": {
78
113
  "resourceType": "Grafana::ExternalDatasource",
79
114
  "kind": "resource",
@@ -84,6 +119,11 @@
84
119
  "kind": "resource",
85
120
  "lexicon": "grafana"
86
121
  },
122
+ "Folder": {
123
+ "resourceType": "Grafana::Folder",
124
+ "kind": "resource",
125
+ "lexicon": "grafana"
126
+ },
87
127
  "GaugePanel": {
88
128
  "resourceType": "Grafana::Panel::gauge",
89
129
  "kind": "resource",
@@ -94,6 +134,11 @@
94
134
  "kind": "resource",
95
135
  "lexicon": "grafana"
96
136
  },
137
+ "GroupByVariable": {
138
+ "resourceType": "Grafana::Variable::groupby",
139
+ "kind": "resource",
140
+ "lexicon": "grafana"
141
+ },
97
142
  "HeatmapPanel": {
98
143
  "resourceType": "Grafana::Panel::heatmap",
99
144
  "kind": "resource",
@@ -124,11 +169,21 @@
124
169
  "kind": "resource",
125
170
  "lexicon": "grafana"
126
171
  },
172
+ "MSSQLQuery": {
173
+ "resourceType": "Grafana::Query::mssql",
174
+ "kind": "resource",
175
+ "lexicon": "grafana"
176
+ },
127
177
  "MuteTiming": {
128
178
  "resourceType": "Grafana::MuteTiming",
129
179
  "kind": "resource",
130
180
  "lexicon": "grafana"
131
181
  },
182
+ "MySQLQuery": {
183
+ "resourceType": "Grafana::Query::mysql",
184
+ "kind": "resource",
185
+ "lexicon": "grafana"
186
+ },
132
187
  "NodeGraphPanel": {
133
188
  "resourceType": "Grafana::Panel::nodeGraph",
134
189
  "kind": "resource",
@@ -149,11 +204,21 @@
149
204
  "kind": "resource",
150
205
  "lexicon": "grafana"
151
206
  },
207
+ "PostgresQuery": {
208
+ "resourceType": "Grafana::Query::grafana-postgresql-datasource",
209
+ "kind": "resource",
210
+ "lexicon": "grafana"
211
+ },
152
212
  "PromQuery": {
153
213
  "resourceType": "Grafana::Query::prometheus",
154
214
  "kind": "resource",
155
215
  "lexicon": "grafana"
156
216
  },
217
+ "PyroscopeQuery": {
218
+ "resourceType": "Grafana::Query::grafana-pyroscope-datasource",
219
+ "kind": "resource",
220
+ "lexicon": "grafana"
221
+ },
157
222
  "QueryVariable": {
158
223
  "resourceType": "Grafana::Variable::query",
159
224
  "kind": "resource",
@@ -194,6 +259,11 @@
194
259
  "kind": "resource",
195
260
  "lexicon": "grafana"
196
261
  },
262
+ "SwitchVariable": {
263
+ "resourceType": "Grafana::Variable::switch",
264
+ "kind": "resource",
265
+ "lexicon": "grafana"
266
+ },
197
267
  "TablePanel": {
198
268
  "resourceType": "Grafana::Panel::table",
199
269
  "kind": "resource",
package/dist/okf/index.md CHANGED
@@ -4,37 +4,50 @@ okf_version: '0.2'
4
4
 
5
5
  # Resource types
6
6
 
7
+ * [AdhocVariable](/types/AdhocVariable.md) - Grafana::Variable::adhoc
7
8
  * [AlertListPanel](/types/AlertListPanel.md) - Grafana::Panel::alertlist
8
9
  * [AlertQuery](/types/AlertQuery.md) - Grafana::AlertQuery
9
10
  * [AlertRule](/types/AlertRule.md) - Grafana::AlertRule
10
11
  * [AlertRuleGroup](/types/AlertRuleGroup.md) - Grafana::AlertRuleGroup
12
+ * [AzureMonitorQuery](/types/AzureMonitorQuery.md) - Grafana::Query::grafana-azure-monitor-datasource
11
13
  * [BarChartPanel](/types/BarChartPanel.md) - Grafana::Panel::barchart
12
14
  * [BarGaugePanel](/types/BarGaugePanel.md) - Grafana::Panel::bargauge
15
+ * [BigQueryQuery](/types/BigQueryQuery.md) - Grafana::Query::grafana-bigquery-datasource
13
16
  * [CanvasPanel](/types/CanvasPanel.md) - Grafana::Panel::canvas
14
17
  * [ClassicConditionsExpression](/types/ClassicConditionsExpression.md) - Grafana::Expression::classic_conditions
18
+ * [CloudMonitoringQuery](/types/CloudMonitoringQuery.md) - Grafana::Query::stackdriver
19
+ * [CloudWatchQuery](/types/CloudWatchQuery.md) - Grafana::Query::cloudwatch
15
20
  * [ConstantVariable](/types/ConstantVariable.md) - Grafana::Variable::constant
16
21
  * [ContactPoint](/types/ContactPoint.md) - Grafana::ContactPoint
17
22
  * [CustomVariable](/types/CustomVariable.md) - Grafana::Variable::custom
18
23
  * [Dashboard](/types/Dashboard.md) - Grafana::Dashboard
19
24
  * [DashboardProvider](/types/DashboardProvider.md) - Grafana::DashboardProvider
20
25
  * [Datasource](/types/Datasource.md) - Grafana::Datasource
26
+ * [DatasourceProvisioning](/types/DatasourceProvisioning.md) - Grafana::DatasourceProvisioning
21
27
  * [DatasourceVariable](/types/DatasourceVariable.md) - Grafana::Variable::datasource
28
+ * [ElasticsearchQuery](/types/ElasticsearchQuery.md) - Grafana::Query::elasticsearch
22
29
  * [ExternalDatasource](/types/ExternalDatasource.md) - Grafana::ExternalDatasource
23
30
  * [FlameGraphPanel](/types/FlameGraphPanel.md) - Grafana::Panel::flamegraph
31
+ * [Folder](/types/Folder.md) - Grafana::Folder
24
32
  * [GaugePanel](/types/GaugePanel.md) - Grafana::Panel::gauge
25
33
  * [GeomapPanel](/types/GeomapPanel.md) - Grafana::Panel::geomap
34
+ * [GroupByVariable](/types/GroupByVariable.md) - Grafana::Variable::groupby
26
35
  * [HeatmapPanel](/types/HeatmapPanel.md) - Grafana::Panel::heatmap
27
36
  * [HistogramPanel](/types/HistogramPanel.md) - Grafana::Panel::histogram
28
37
  * [IntervalVariable](/types/IntervalVariable.md) - Grafana::Variable::interval
29
38
  * [LogsPanel](/types/LogsPanel.md) - Grafana::Panel::logs
30
39
  * [LokiQuery](/types/LokiQuery.md) - Grafana::Query::loki
31
40
  * [MathExpression](/types/MathExpression.md) - Grafana::Expression::math
41
+ * [MSSQLQuery](/types/MSSQLQuery.md) - Grafana::Query::mssql
32
42
  * [MuteTiming](/types/MuteTiming.md) - Grafana::MuteTiming
43
+ * [MySQLQuery](/types/MySQLQuery.md) - Grafana::Query::mysql
33
44
  * [NodeGraphPanel](/types/NodeGraphPanel.md) - Grafana::Panel::nodeGraph
34
45
  * [NotificationPolicy](/types/NotificationPolicy.md) - Grafana::NotificationPolicy
35
46
  * [NotificationTemplate](/types/NotificationTemplate.md) - Grafana::NotificationTemplate
36
47
  * [PieChartPanel](/types/PieChartPanel.md) - Grafana::Panel::piechart
48
+ * [PostgresQuery](/types/PostgresQuery.md) - Grafana::Query::grafana-postgresql-datasource
37
49
  * [PromQuery](/types/PromQuery.md) - Grafana::Query::prometheus
50
+ * [PyroscopeQuery](/types/PyroscopeQuery.md) - Grafana::Query::grafana-pyroscope-datasource
38
51
  * [QueryVariable](/types/QueryVariable.md) - Grafana::Variable::query
39
52
  * [ReduceExpression](/types/ReduceExpression.md) - Grafana::Expression::reduce
40
53
  * [ResampleExpression](/types/ResampleExpression.md) - Grafana::Expression::resample
@@ -43,6 +56,7 @@ okf_version: '0.2'
43
56
  * [StateTimelinePanel](/types/StateTimelinePanel.md) - Grafana::Panel::state-timeline
44
57
  * [StatPanel](/types/StatPanel.md) - Grafana::Panel::stat
45
58
  * [StatusHistoryPanel](/types/StatusHistoryPanel.md) - Grafana::Panel::status-history
59
+ * [SwitchVariable](/types/SwitchVariable.md) - Grafana::Variable::switch
46
60
  * [TablePanel](/types/TablePanel.md) - Grafana::Panel::table
47
61
  * [TempoQuery](/types/TempoQuery.md) - Grafana::Query::tempo
48
62
  * [TextboxVariable](/types/TextboxVariable.md) - Grafana::Variable::textbox
@@ -57,15 +71,16 @@ okf_version: '0.2'
57
71
 
58
72
  * [GRAF001](/rules/GRAF001.md) - a uid Grafana rejects, or a variable name queries cannot reference.
59
73
  * [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
74
+ * [GRAF101](/rules/GRAF101.md) - A panel, query, variable or annotation uses a datasource no Datasource or ExternalDatasource in the build declares, or one the build deletes
61
75
  * [GRAF102](/rules/GRAF102.md) - A query is sent to a datasource of another plugin type
62
76
  * [GRAF103](/rules/GRAF103.md) - A query, title, datasource or repeat uses a variable the dashboard does not declare
63
- * [GRAF104](/rules/GRAF104.md) - Two dashboards, datasources, panels, variables or queries share an id
77
+ * [GRAF104](/rules/GRAF104.md) - Two dashboards, datasources, folders, panels, variables or queries share an id
64
78
  * [GRAF105](/rules/GRAF105.md) - A panel does not fit the 24-column grid, or overlaps another panel
65
- * [GRAF106](/rules/GRAF106.md) - A dashboard or datasource uid Grafana rejects, or a dashboard with no title
79
+ * [GRAF106](/rules/GRAF106.md) - A dashboard, folder or datasource uid Grafana rejects, or a dashboard with no title
66
80
  * [GRAF107](/rules/GRAF107.md) - A dashboard does not match the pinned Grafana schema
67
81
  * [GRAF108](/rules/GRAF108.md) - A query sent to Prometheus is not valid PromQL
68
82
  * [GRAF109](/rules/GRAF109.md) - Dashboard provisioning puts a dashboard somewhere other than its declared folder, or loads it twice
83
+ * [GRAF110](/rules/GRAF110.md) - A panel or row repeats over a variable that cannot give it more than one value
69
84
  * [GRAF111](/rules/GRAF111.md) - An alert rule's condition, expression inputs or refIds do not fit together
70
85
  * [GRAF112](/rules/GRAF112.md) - An alert rule queries a datasource the build does not declare, or of another type
71
86
  * [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
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  type: post-synth-check
3
3
  title: GRAF101
4
- description: A panel, query or variable uses a datasource no Datasource or ExternalDatasource in the build declares
4
+ description: A panel, query, variable or annotation uses a datasource no Datasource or ExternalDatasource in the build declares, or one the build deletes
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 or ExternalDatasource in the build declares
11
+ A panel, query, variable or annotation uses a datasource no Datasource or ExternalDatasource in the build declares, or one the build deletes
12
12
 
13
13
  ## Applies to
14
14
 
@@ -1,14 +1,14 @@
1
1
  ---
2
2
  type: post-synth-check
3
3
  title: GRAF104
4
- description: Two dashboards, datasources, panels, variables or queries share an id
4
+ description: Two dashboards, datasources, folders, panels, variables or queries share an id
5
5
  id: GRAF104
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
- Two dashboards, datasources, panels, variables or queries share an id
11
+ Two dashboards, datasources, folders, panels, variables or queries share an id
12
12
 
13
13
  ## Applies to
14
14
 
@@ -1,11 +1,11 @@
1
1
  ---
2
2
  type: post-synth-check
3
3
  title: GRAF106
4
- description: A dashboard or datasource uid Grafana rejects, or a dashboard with no title
4
+ description: A dashboard, folder or datasource uid Grafana rejects, or a dashboard with no title
5
5
  id: GRAF106
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 dashboard or datasource uid Grafana rejects, or a dashboard with no title
11
+ A dashboard, folder or datasource uid Grafana rejects, or a dashboard with no title
@@ -0,0 +1,11 @@
1
+ ---
2
+ type: post-synth-check
3
+ title: GRAF110
4
+ description: A panel or row repeats over a variable that cannot give it more than one value
5
+ id: GRAF110
6
+ severity: error
7
+ category: post-synth
8
+ lexicon: grafana
9
+ docs: https://intentius.io/chant/lexicons/grafana/rules/
10
+ ---
11
+ A panel or row repeats over a variable that cannot give it more than one value
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: AdhocVariable
4
+ description: grafana resource type Grafana::Variable::adhoc
5
+ name: AdhocVariable
6
+ lexicon: grafana
7
+ resource_type: Grafana::Variable::adhoc
8
+ ---
9
+ `Grafana::Variable::adhoc`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: AzureMonitorQuery
4
+ description: grafana resource type Grafana::Query::grafana-azure-monitor-datasource
5
+ name: AzureMonitorQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::grafana-azure-monitor-datasource
8
+ ---
9
+ `Grafana::Query::grafana-azure-monitor-datasource`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: BigQueryQuery
4
+ description: grafana resource type Grafana::Query::grafana-bigquery-datasource
5
+ name: BigQueryQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::grafana-bigquery-datasource
8
+ ---
9
+ `Grafana::Query::grafana-bigquery-datasource`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: CloudMonitoringQuery
4
+ description: grafana resource type Grafana::Query::stackdriver
5
+ name: CloudMonitoringQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::stackdriver
8
+ ---
9
+ `Grafana::Query::stackdriver`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: CloudWatchQuery
4
+ description: grafana resource type Grafana::Query::cloudwatch
5
+ name: CloudWatchQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::cloudwatch
8
+ ---
9
+ `Grafana::Query::cloudwatch`, a resource type of the grafana lexicon.
@@ -11,5 +11,5 @@ resource_type: Grafana::Dashboard
11
11
  ## Governed by
12
12
 
13
13
  - [GRAF001](/rules/GRAF001.md): a uid Grafana rejects, or a variable name queries cannot reference.
14
- - [GRAF104](/rules/GRAF104.md): Two dashboards, datasources, panels, variables or queries share an id
14
+ - [GRAF104](/rules/GRAF104.md): Two dashboards, datasources, folders, panels, variables or queries share an id
15
15
  - [GRAF109](/rules/GRAF109.md): Dashboard provisioning puts a dashboard somewhere other than its declared folder, or loads it twice
@@ -12,6 +12,6 @@ resource_type: Grafana::Datasource
12
12
 
13
13
  - [GRAF001](/rules/GRAF001.md): a uid Grafana rejects, or a variable name queries cannot reference.
14
14
  - [GRAF002](/rules/GRAF002.md): a datasource or contact point secret written as a literal.
15
- - [GRAF101](/rules/GRAF101.md): A panel, query or variable uses a datasource no Datasource or ExternalDatasource in the build declares
15
+ - [GRAF101](/rules/GRAF101.md): A panel, query, variable or annotation uses a datasource no Datasource or ExternalDatasource in the build declares, or one the build deletes
16
16
  - [GRAF102](/rules/GRAF102.md): A query is sent to a datasource of another plugin type
17
17
  - [GRAF112](/rules/GRAF112.md): An alert rule queries a datasource the build does not declare, or of another type
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: DatasourceProvisioning
4
+ description: grafana resource type Grafana::DatasourceProvisioning
5
+ name: DatasourceProvisioning
6
+ lexicon: grafana
7
+ resource_type: Grafana::DatasourceProvisioning
8
+ ---
9
+ `Grafana::DatasourceProvisioning`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: ElasticsearchQuery
4
+ description: grafana resource type Grafana::Query::elasticsearch
5
+ name: ElasticsearchQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::elasticsearch
8
+ ---
9
+ `Grafana::Query::elasticsearch`, a resource type of the grafana lexicon.
@@ -10,6 +10,6 @@ resource_type: Grafana::ExternalDatasource
10
10
 
11
11
  ## Governed by
12
12
 
13
- - [GRAF101](/rules/GRAF101.md): A panel, query or variable uses a datasource no Datasource or ExternalDatasource in the build declares
13
+ - [GRAF101](/rules/GRAF101.md): A panel, query, variable or annotation uses a datasource no Datasource or ExternalDatasource in the build declares, or one the build deletes
14
14
  - [GRAF102](/rules/GRAF102.md): A query is sent to a datasource of another plugin type
15
15
  - [GRAF112](/rules/GRAF112.md): An alert rule queries a datasource the build does not declare, or of another type
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: Folder
4
+ description: grafana resource type Grafana::Folder
5
+ name: Folder
6
+ lexicon: grafana
7
+ resource_type: Grafana::Folder
8
+ ---
9
+ `Grafana::Folder`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: GroupByVariable
4
+ description: grafana resource type Grafana::Variable::groupby
5
+ name: GroupByVariable
6
+ lexicon: grafana
7
+ resource_type: Grafana::Variable::groupby
8
+ ---
9
+ `Grafana::Variable::groupby`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: MSSQLQuery
4
+ description: grafana resource type Grafana::Query::mssql
5
+ name: MSSQLQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::mssql
8
+ ---
9
+ `Grafana::Query::mssql`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: MySQLQuery
4
+ description: grafana resource type Grafana::Query::mysql
5
+ name: MySQLQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::mysql
8
+ ---
9
+ `Grafana::Query::mysql`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: PostgresQuery
4
+ description: grafana resource type Grafana::Query::grafana-postgresql-datasource
5
+ name: PostgresQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::grafana-postgresql-datasource
8
+ ---
9
+ `Grafana::Query::grafana-postgresql-datasource`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: PyroscopeQuery
4
+ description: grafana resource type Grafana::Query::grafana-pyroscope-datasource
5
+ name: PyroscopeQuery
6
+ lexicon: grafana
7
+ resource_type: Grafana::Query::grafana-pyroscope-datasource
8
+ ---
9
+ `Grafana::Query::grafana-pyroscope-datasource`, a resource type of the grafana lexicon.
@@ -0,0 +1,9 @@
1
+ ---
2
+ type: resource-type
3
+ title: SwitchVariable
4
+ description: grafana resource type Grafana::Variable::switch
5
+ name: SwitchVariable
6
+ lexicon: grafana
7
+ resource_type: Grafana::Variable::switch
8
+ ---
9
+ `Grafana::Variable::switch`, a resource type of the grafana lexicon.