@ydkn/pulumi-components 0.4.2 → 0.4.3

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 (505) hide show
  1. package/.eslintrc.json +14 -0
  2. package/.gitlab-ci.yml +72 -0
  3. package/.prettierrc +3 -0
  4. package/{index.d.ts → index.ts} +46 -2
  5. package/lib/avahi/deployment.ts +171 -0
  6. package/lib/avahi/{index.d.ts → index.ts} +1 -1
  7. package/lib/avahi/service.ts +118 -0
  8. package/lib/aws/accessKey.ts +40 -0
  9. package/lib/aws/bucket.ts +71 -0
  10. package/lib/aws/{index.d.ts → index.ts} +1 -1
  11. package/lib/blocky/assets/dashboard.json +1777 -0
  12. package/lib/blocky/deployment.ts +134 -0
  13. package/lib/blocky/{index.d.ts → index.ts} +1 -1
  14. package/lib/certManager/assets/dashboard.json +1188 -0
  15. package/lib/certManager/certificate.ts +168 -0
  16. package/lib/certManager/index.ts +39 -0
  17. package/lib/certManager/issuer.ts +141 -0
  18. package/lib/certManager/operator.ts +244 -0
  19. package/lib/common/componentResource.ts +78 -0
  20. package/lib/common/{index.d.ts → index.ts} +2 -1
  21. package/lib/common/types.ts +3 -0
  22. package/lib/cups/avahiService.ts +66 -0
  23. package/lib/cups/deployment.ts +199 -0
  24. package/lib/cups/index.ts +4 -0
  25. package/lib/devcontainer/assets/init.sh +44 -0
  26. package/lib/devcontainer/deployment.ts +253 -0
  27. package/lib/devcontainer/index.ts +3 -0
  28. package/lib/dhcpd/deployment.ts +164 -0
  29. package/lib/dhcpd/index.ts +3 -0
  30. package/lib/externalDns/dnsEndpoint.ts +70 -0
  31. package/lib/externalDns/index.ts +18 -0
  32. package/lib/externalDns/operator.ts +165 -0
  33. package/lib/fcos/assets/rpm-opstree-install.sh +0 -0
  34. package/lib/fcos/config.ts +237 -0
  35. package/lib/fcos/host.ts +91 -0
  36. package/lib/fcos/index.ts +27 -0
  37. package/lib/freeradius/deployment.ts +244 -0
  38. package/lib/freeradius/{index.d.ts → index.ts} +1 -1
  39. package/lib/gitlab/{index.d.ts → index.ts} +13 -2
  40. package/lib/gitlab/project.ts +148 -0
  41. package/lib/gitlab/renovate.ts +98 -0
  42. package/lib/gitlab/runners/cleanup.ts +104 -0
  43. package/lib/gitlab/runners/{index.d.ts → index.ts} +1 -1
  44. package/lib/gitlab/runners/runner.ts +122 -0
  45. package/lib/gitlab/runners/runners.ts +49 -0
  46. package/lib/grafana/agent.ts +449 -0
  47. package/lib/grafana/dashboard.ts +38 -0
  48. package/lib/grafana/datasource.ts +59 -0
  49. package/lib/grafana/deployment.ts +78 -0
  50. package/lib/grafana/index.ts +17 -0
  51. package/lib/hcloud/assets/fcos-install.sh +0 -0
  52. package/lib/hcloud/cluster.ts +533 -0
  53. package/lib/hcloud/{index.d.ts → index.ts} +1 -1
  54. package/lib/hcloud/kubernetes.ts +249 -0
  55. package/lib/hcloud/wireguard.ts +164 -0
  56. package/lib/k0s/cluster.ts +264 -0
  57. package/lib/k0s/{index.d.ts → index.ts} +1 -1
  58. package/lib/kubeStateMetrics/deployment.ts +60 -0
  59. package/lib/kubeStateMetrics/{index.d.ts → index.ts} +1 -1
  60. package/lib/kubernetes/helm/{index.d.ts → index.ts} +1 -1
  61. package/lib/kubernetes/helm/v3/chart.ts +79 -0
  62. package/lib/kubernetes/helm/v3/helpers.ts +32 -0
  63. package/lib/kubernetes/helm/v3/{index.d.ts → index.ts} +1 -1
  64. package/lib/kubernetes/helm/v3/release.ts +17 -0
  65. package/lib/kubernetes/{index.d.ts → index.ts} +1 -1
  66. package/lib/kubernetes/transformations/filter.ts +43 -0
  67. package/lib/kubernetes/transformations/{index.d.ts → index.ts} +1 -1
  68. package/lib/kubernetes/transformations/metadataNamespace.ts +25 -0
  69. package/lib/kubernetes/transformations/removeCrdDescriptions.ts +78 -0
  70. package/lib/kubernetes/transformations/v1beta1Deprecations.ts +60 -0
  71. package/lib/kubernetes/v1/{index.d.ts → index.ts} +12 -2
  72. package/lib/kubernetes/v1/nfsVolume.ts +145 -0
  73. package/lib/kubernetes/v1/pullSecret.ts +37 -0
  74. package/lib/kubernetes/v1/service.ts +58 -0
  75. package/lib/localPathProvisioner/deployment.ts +88 -0
  76. package/lib/localPathProvisioner/index.ts +3 -0
  77. package/lib/loki/deployment.ts +122 -0
  78. package/lib/loki/index.ts +3 -0
  79. package/lib/metallb/controller.ts +96 -0
  80. package/lib/metallb/{index.d.ts → index.ts} +11 -2
  81. package/lib/metallb/ipAddressPool.ts +33 -0
  82. package/lib/metallb/l2Advertisement.ts +34 -0
  83. package/lib/node/{index.d.ts → index.ts} +1 -1
  84. package/lib/node/kubernetes.ts +129 -0
  85. package/lib/node/node.ts +17 -0
  86. package/lib/openldap/deployment.ts +226 -0
  87. package/lib/openldap/{index.d.ts → index.ts} +1 -1
  88. package/lib/plex/{index.d.ts → index.ts} +1 -1
  89. package/lib/plex/mediaServer.ts +265 -0
  90. package/lib/plex/playlists.ts +123 -0
  91. package/lib/postgresql/cluster.ts +61 -0
  92. package/lib/postgresql/index.ts +4 -0
  93. package/lib/postgresql/operator.ts +70 -0
  94. package/lib/prometheus/index.ts +23 -0
  95. package/lib/prometheus/monitor.ts +13 -0
  96. package/lib/prometheus/operator.ts +264 -0
  97. package/lib/prometheus/podMonitor.ts +32 -0
  98. package/lib/prometheus/serviceMonitor.ts +43 -0
  99. package/lib/raspberrypi/cluster.ts +279 -0
  100. package/lib/raspberrypi/{index.d.ts → index.ts} +1 -1
  101. package/lib/rethinkdb/deployment.ts +424 -0
  102. package/lib/rethinkdb/{index.d.ts → index.ts} +1 -1
  103. package/lib/rook/assets/dashboard.json +4871 -0
  104. package/lib/rook/blockPool.ts +80 -0
  105. package/lib/rook/cluster.ts +168 -0
  106. package/lib/rook/filesystem.ts +140 -0
  107. package/lib/rook/{index.d.ts → index.ts} +15 -2
  108. package/lib/rook/operator.ts +175 -0
  109. package/lib/samba/avahiService.ts +44 -0
  110. package/lib/samba/deployment.ts +305 -0
  111. package/lib/samba/index.ts +5 -0
  112. package/lib/samba/volumes.ts +70 -0
  113. package/lib/ssh/exec.ts +162 -0
  114. package/lib/ssh/file.ts +165 -0
  115. package/lib/ssh/{index.d.ts → index.ts} +1 -1
  116. package/lib/ssh/types.ts +20 -0
  117. package/lib/torproxy/deployment.ts +165 -0
  118. package/lib/torproxy/{index.d.ts → index.ts} +1 -1
  119. package/lib/traefik/assets/dashboard.json +759 -0
  120. package/lib/traefik/controller.ts +207 -0
  121. package/lib/traefik/{index.d.ts → index.ts} +1 -1
  122. package/lib/traefik/middleware.ts +37 -0
  123. package/lib/traefik/secureIngress.ts +81 -0
  124. package/lib/ubuntu/assets/init.sh +0 -0
  125. package/lib/ubuntu/deployment.ts +275 -0
  126. package/lib/ubuntu/{index.d.ts → index.ts} +1 -1
  127. package/lib/unifi/controller.ts +234 -0
  128. package/lib/unifi/{index.d.ts → index.ts} +1 -1
  129. package/lib/velero/{index.d.ts → index.ts} +1 -1
  130. package/lib/velero/operator.ts +182 -0
  131. package/lib/wireguard/deployment.ts +168 -0
  132. package/lib/wireguard/{index.d.ts → index.ts} +1 -1
  133. package/package.json +62 -62
  134. package/renovate.json +4 -0
  135. package/tsconfig.json +21 -0
  136. package/index.d.ts.map +0 -1
  137. package/index.js +0 -64
  138. package/index.js.map +0 -1
  139. package/lib/avahi/deployment.d.ts +0 -36
  140. package/lib/avahi/deployment.d.ts.map +0 -1
  141. package/lib/avahi/deployment.js +0 -164
  142. package/lib/avahi/deployment.js.map +0 -1
  143. package/lib/avahi/index.d.ts.map +0 -1
  144. package/lib/avahi/index.js +0 -8
  145. package/lib/avahi/index.js.map +0 -1
  146. package/lib/avahi/service.d.ts +0 -51
  147. package/lib/avahi/service.d.ts.map +0 -1
  148. package/lib/avahi/service.js +0 -57
  149. package/lib/avahi/service.js.map +0 -1
  150. package/lib/aws/accessKey.d.ts +0 -22
  151. package/lib/aws/accessKey.d.ts.map +0 -1
  152. package/lib/aws/accessKey.js +0 -27
  153. package/lib/aws/accessKey.js.map +0 -1
  154. package/lib/aws/bucket.d.ts +0 -28
  155. package/lib/aws/bucket.d.ts.map +0 -1
  156. package/lib/aws/bucket.js +0 -49
  157. package/lib/aws/bucket.js.map +0 -1
  158. package/lib/aws/index.d.ts.map +0 -1
  159. package/lib/aws/index.js +0 -8
  160. package/lib/aws/index.js.map +0 -1
  161. package/lib/blocky/deployment.d.ts +0 -39
  162. package/lib/blocky/deployment.d.ts.map +0 -1
  163. package/lib/blocky/deployment.js +0 -97
  164. package/lib/blocky/deployment.js.map +0 -1
  165. package/lib/blocky/index.d.ts.map +0 -1
  166. package/lib/blocky/index.js +0 -6
  167. package/lib/blocky/index.js.map +0 -1
  168. package/lib/certManager/certificate.d.ts +0 -126
  169. package/lib/certManager/certificate.d.ts.map +0 -1
  170. package/lib/certManager/certificate.js +0 -42
  171. package/lib/certManager/certificate.js.map +0 -1
  172. package/lib/certManager/index.d.ts +0 -5
  173. package/lib/certManager/index.d.ts.map +0 -1
  174. package/lib/certManager/index.js +0 -11
  175. package/lib/certManager/index.js.map +0 -1
  176. package/lib/certManager/issuer.d.ts +0 -109
  177. package/lib/certManager/issuer.d.ts.map +0 -1
  178. package/lib/certManager/issuer.js +0 -39
  179. package/lib/certManager/issuer.js.map +0 -1
  180. package/lib/certManager/operator.d.ts +0 -43
  181. package/lib/certManager/operator.d.ts.map +0 -1
  182. package/lib/certManager/operator.js +0 -177
  183. package/lib/certManager/operator.js.map +0 -1
  184. package/lib/common/componentResource.d.ts +0 -20
  185. package/lib/common/componentResource.d.ts.map +0 -1
  186. package/lib/common/componentResource.js +0 -62
  187. package/lib/common/componentResource.js.map +0 -1
  188. package/lib/common/index.d.ts.map +0 -1
  189. package/lib/common/index.js +0 -6
  190. package/lib/common/index.js.map +0 -1
  191. package/lib/common/types.d.ts +0 -3
  192. package/lib/common/types.d.ts.map +0 -1
  193. package/lib/common/types.js +0 -3
  194. package/lib/common/types.js.map +0 -1
  195. package/lib/externalDns/dnsEndpoint.d.ts +0 -66
  196. package/lib/externalDns/dnsEndpoint.d.ts.map +0 -1
  197. package/lib/externalDns/dnsEndpoint.js +0 -17
  198. package/lib/externalDns/dnsEndpoint.js.map +0 -1
  199. package/lib/externalDns/index.d.ts +0 -4
  200. package/lib/externalDns/index.d.ts.map +0 -1
  201. package/lib/externalDns/index.js +0 -8
  202. package/lib/externalDns/index.js.map +0 -1
  203. package/lib/externalDns/operator.d.ts +0 -45
  204. package/lib/externalDns/operator.d.ts.map +0 -1
  205. package/lib/externalDns/operator.js +0 -112
  206. package/lib/externalDns/operator.js.map +0 -1
  207. package/lib/fcos/config.d.ts +0 -156
  208. package/lib/fcos/config.d.ts.map +0 -1
  209. package/lib/fcos/config.js +0 -168
  210. package/lib/fcos/config.js.map +0 -1
  211. package/lib/fcos/host.d.ts +0 -34
  212. package/lib/fcos/host.d.ts.map +0 -1
  213. package/lib/fcos/host.js +0 -57
  214. package/lib/fcos/host.js.map +0 -1
  215. package/lib/fcos/index.d.ts +0 -4
  216. package/lib/fcos/index.d.ts.map +0 -1
  217. package/lib/fcos/index.js +0 -8
  218. package/lib/fcos/index.js.map +0 -1
  219. package/lib/freeradius/deployment.d.ts +0 -74
  220. package/lib/freeradius/deployment.d.ts.map +0 -1
  221. package/lib/freeradius/deployment.js +0 -216
  222. package/lib/freeradius/deployment.js.map +0 -1
  223. package/lib/freeradius/index.d.ts.map +0 -1
  224. package/lib/freeradius/index.js +0 -6
  225. package/lib/freeradius/index.js.map +0 -1
  226. package/lib/gitlab/index.d.ts.map +0 -1
  227. package/lib/gitlab/index.js +0 -12
  228. package/lib/gitlab/index.js.map +0 -1
  229. package/lib/gitlab/project.d.ts +0 -18
  230. package/lib/gitlab/project.d.ts.map +0 -1
  231. package/lib/gitlab/project.js +0 -116
  232. package/lib/gitlab/project.js.map +0 -1
  233. package/lib/gitlab/renovate.d.ts +0 -23
  234. package/lib/gitlab/renovate.d.ts.map +0 -1
  235. package/lib/gitlab/renovate.js +0 -77
  236. package/lib/gitlab/renovate.js.map +0 -1
  237. package/lib/gitlab/runners/cleanup.d.ts +0 -20
  238. package/lib/gitlab/runners/cleanup.d.ts.map +0 -1
  239. package/lib/gitlab/runners/cleanup.js +0 -86
  240. package/lib/gitlab/runners/cleanup.js.map +0 -1
  241. package/lib/gitlab/runners/index.d.ts.map +0 -1
  242. package/lib/gitlab/runners/index.js +0 -10
  243. package/lib/gitlab/runners/index.js.map +0 -1
  244. package/lib/gitlab/runners/runner.d.ts +0 -30
  245. package/lib/gitlab/runners/runner.d.ts.map +0 -1
  246. package/lib/gitlab/runners/runner.js +0 -89
  247. package/lib/gitlab/runners/runner.js.map +0 -1
  248. package/lib/gitlab/runners/runners.d.ts +0 -21
  249. package/lib/gitlab/runners/runners.d.ts.map +0 -1
  250. package/lib/gitlab/runners/runners.js +0 -36
  251. package/lib/gitlab/runners/runners.js.map +0 -1
  252. package/lib/grafana/agent.d.ts +0 -43
  253. package/lib/grafana/agent.d.ts.map +0 -1
  254. package/lib/grafana/agent.js +0 -417
  255. package/lib/grafana/agent.js.map +0 -1
  256. package/lib/grafana/index.d.ts +0 -3
  257. package/lib/grafana/index.d.ts.map +0 -1
  258. package/lib/grafana/index.js +0 -6
  259. package/lib/grafana/index.js.map +0 -1
  260. package/lib/hcloud/cluster.d.ts +0 -96
  261. package/lib/hcloud/cluster.d.ts.map +0 -1
  262. package/lib/hcloud/cluster.js +0 -323
  263. package/lib/hcloud/cluster.js.map +0 -1
  264. package/lib/hcloud/index.d.ts.map +0 -1
  265. package/lib/hcloud/index.js +0 -10
  266. package/lib/hcloud/index.js.map +0 -1
  267. package/lib/hcloud/kubernetes.d.ts +0 -39
  268. package/lib/hcloud/kubernetes.d.ts.map +0 -1
  269. package/lib/hcloud/kubernetes.js +0 -188
  270. package/lib/hcloud/kubernetes.js.map +0 -1
  271. package/lib/hcloud/wireguard.d.ts +0 -33
  272. package/lib/hcloud/wireguard.d.ts.map +0 -1
  273. package/lib/hcloud/wireguard.js +0 -103
  274. package/lib/hcloud/wireguard.js.map +0 -1
  275. package/lib/k0s/cluster.d.ts +0 -51
  276. package/lib/k0s/cluster.d.ts.map +0 -1
  277. package/lib/k0s/cluster.js +0 -183
  278. package/lib/k0s/cluster.js.map +0 -1
  279. package/lib/k0s/index.d.ts.map +0 -1
  280. package/lib/k0s/index.js +0 -6
  281. package/lib/k0s/index.js.map +0 -1
  282. package/lib/kubeStateMetrics/deployment.d.ts +0 -20
  283. package/lib/kubeStateMetrics/deployment.d.ts.map +0 -1
  284. package/lib/kubeStateMetrics/deployment.js +0 -47
  285. package/lib/kubeStateMetrics/deployment.js.map +0 -1
  286. package/lib/kubeStateMetrics/index.d.ts.map +0 -1
  287. package/lib/kubeStateMetrics/index.js +0 -6
  288. package/lib/kubeStateMetrics/index.js.map +0 -1
  289. package/lib/kubernetes/helm/index.d.ts.map +0 -1
  290. package/lib/kubernetes/helm/index.js +0 -6
  291. package/lib/kubernetes/helm/index.js.map +0 -1
  292. package/lib/kubernetes/helm/v3/chart.d.ts +0 -37
  293. package/lib/kubernetes/helm/v3/chart.d.ts.map +0 -1
  294. package/lib/kubernetes/helm/v3/chart.js +0 -46
  295. package/lib/kubernetes/helm/v3/chart.js.map +0 -1
  296. package/lib/kubernetes/helm/v3/helpers.d.ts +0 -3
  297. package/lib/kubernetes/helm/v3/helpers.d.ts.map +0 -1
  298. package/lib/kubernetes/helm/v3/helpers.js +0 -29
  299. package/lib/kubernetes/helm/v3/helpers.js.map +0 -1
  300. package/lib/kubernetes/helm/v3/index.d.ts.map +0 -1
  301. package/lib/kubernetes/helm/v3/index.js +0 -10
  302. package/lib/kubernetes/helm/v3/index.js.map +0 -1
  303. package/lib/kubernetes/helm/v3/release.d.ts +0 -15
  304. package/lib/kubernetes/helm/v3/release.d.ts.map +0 -1
  305. package/lib/kubernetes/helm/v3/release.js +0 -18
  306. package/lib/kubernetes/helm/v3/release.js.map +0 -1
  307. package/lib/kubernetes/index.d.ts.map +0 -1
  308. package/lib/kubernetes/index.js +0 -10
  309. package/lib/kubernetes/index.js.map +0 -1
  310. package/lib/kubernetes/transformations/filter.d.ts +0 -13
  311. package/lib/kubernetes/transformations/filter.d.ts.map +0 -1
  312. package/lib/kubernetes/transformations/filter.js +0 -32
  313. package/lib/kubernetes/transformations/filter.js.map +0 -1
  314. package/lib/kubernetes/transformations/index.d.ts.map +0 -1
  315. package/lib/kubernetes/transformations/index.js +0 -12
  316. package/lib/kubernetes/transformations/index.js.map +0 -1
  317. package/lib/kubernetes/transformations/metadataNamespace.d.ts +0 -3
  318. package/lib/kubernetes/transformations/metadataNamespace.d.ts.map +0 -1
  319. package/lib/kubernetes/transformations/metadataNamespace.js +0 -27
  320. package/lib/kubernetes/transformations/metadataNamespace.js.map +0 -1
  321. package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts +0 -3
  322. package/lib/kubernetes/transformations/removeCrdDescriptions.d.ts.map +0 -1
  323. package/lib/kubernetes/transformations/removeCrdDescriptions.js +0 -61
  324. package/lib/kubernetes/transformations/removeCrdDescriptions.js.map +0 -1
  325. package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts +0 -3
  326. package/lib/kubernetes/transformations/v1beta1Deprecations.d.ts.map +0 -1
  327. package/lib/kubernetes/transformations/v1beta1Deprecations.js +0 -55
  328. package/lib/kubernetes/transformations/v1beta1Deprecations.js.map +0 -1
  329. package/lib/kubernetes/v1/index.d.ts.map +0 -1
  330. package/lib/kubernetes/v1/index.js +0 -10
  331. package/lib/kubernetes/v1/index.js.map +0 -1
  332. package/lib/kubernetes/v1/nfsVolume.d.ts +0 -92
  333. package/lib/kubernetes/v1/nfsVolume.d.ts.map +0 -1
  334. package/lib/kubernetes/v1/nfsVolume.js +0 -97
  335. package/lib/kubernetes/v1/nfsVolume.js.map +0 -1
  336. package/lib/kubernetes/v1/pullSecret.d.ts +0 -31
  337. package/lib/kubernetes/v1/pullSecret.d.ts.map +0 -1
  338. package/lib/kubernetes/v1/pullSecret.js +0 -27
  339. package/lib/kubernetes/v1/pullSecret.js.map +0 -1
  340. package/lib/kubernetes/v1/service.d.ts +0 -31
  341. package/lib/kubernetes/v1/service.d.ts.map +0 -1
  342. package/lib/kubernetes/v1/service.js +0 -43
  343. package/lib/kubernetes/v1/service.js.map +0 -1
  344. package/lib/metallb/controller.d.ts +0 -17
  345. package/lib/metallb/controller.d.ts.map +0 -1
  346. package/lib/metallb/controller.js +0 -87
  347. package/lib/metallb/controller.js.map +0 -1
  348. package/lib/metallb/index.d.ts.map +0 -1
  349. package/lib/metallb/index.js +0 -10
  350. package/lib/metallb/index.js.map +0 -1
  351. package/lib/metallb/ipAddressPool.d.ts +0 -20
  352. package/lib/metallb/ipAddressPool.d.ts.map +0 -1
  353. package/lib/metallb/ipAddressPool.js +0 -22
  354. package/lib/metallb/ipAddressPool.js.map +0 -1
  355. package/lib/metallb/l2Advertisement.d.ts +0 -21
  356. package/lib/metallb/l2Advertisement.d.ts.map +0 -1
  357. package/lib/metallb/l2Advertisement.js +0 -22
  358. package/lib/metallb/l2Advertisement.js.map +0 -1
  359. package/lib/node/index.d.ts.map +0 -1
  360. package/lib/node/index.js +0 -6
  361. package/lib/node/index.js.map +0 -1
  362. package/lib/node/kubernetes.d.ts +0 -38
  363. package/lib/node/kubernetes.d.ts.map +0 -1
  364. package/lib/node/kubernetes.js +0 -89
  365. package/lib/node/kubernetes.js.map +0 -1
  366. package/lib/node/node.d.ts +0 -21
  367. package/lib/node/node.d.ts.map +0 -1
  368. package/lib/node/node.js +0 -3
  369. package/lib/node/node.js.map +0 -1
  370. package/lib/openldap/deployment.d.ts +0 -58
  371. package/lib/openldap/deployment.d.ts.map +0 -1
  372. package/lib/openldap/deployment.js +0 -217
  373. package/lib/openldap/deployment.js.map +0 -1
  374. package/lib/openldap/index.d.ts.map +0 -1
  375. package/lib/openldap/index.js +0 -6
  376. package/lib/openldap/index.js.map +0 -1
  377. package/lib/plex/index.d.ts.map +0 -1
  378. package/lib/plex/index.js +0 -8
  379. package/lib/plex/index.js.map +0 -1
  380. package/lib/plex/mediaServer.d.ts +0 -46
  381. package/lib/plex/mediaServer.d.ts.map +0 -1
  382. package/lib/plex/mediaServer.js +0 -234
  383. package/lib/plex/mediaServer.js.map +0 -1
  384. package/lib/plex/playlists.d.ts +0 -62
  385. package/lib/plex/playlists.d.ts.map +0 -1
  386. package/lib/plex/playlists.js +0 -129
  387. package/lib/plex/playlists.js.map +0 -1
  388. package/lib/prometheus/index.d.ts +0 -4
  389. package/lib/prometheus/index.d.ts.map +0 -1
  390. package/lib/prometheus/index.js +0 -8
  391. package/lib/prometheus/index.js.map +0 -1
  392. package/lib/prometheus/podMonitor.d.ts +0 -42
  393. package/lib/prometheus/podMonitor.d.ts.map +0 -1
  394. package/lib/prometheus/podMonitor.js +0 -17
  395. package/lib/prometheus/podMonitor.js.map +0 -1
  396. package/lib/prometheus/serviceMonitor.d.ts +0 -46
  397. package/lib/prometheus/serviceMonitor.d.ts.map +0 -1
  398. package/lib/prometheus/serviceMonitor.js +0 -17
  399. package/lib/prometheus/serviceMonitor.js.map +0 -1
  400. package/lib/raspberrypi/cluster.d.ts +0 -41
  401. package/lib/raspberrypi/cluster.d.ts.map +0 -1
  402. package/lib/raspberrypi/cluster.js +0 -194
  403. package/lib/raspberrypi/cluster.js.map +0 -1
  404. package/lib/raspberrypi/index.d.ts.map +0 -1
  405. package/lib/raspberrypi/index.js +0 -6
  406. package/lib/raspberrypi/index.js.map +0 -1
  407. package/lib/rethinkdb/deployment.d.ts +0 -61
  408. package/lib/rethinkdb/deployment.d.ts.map +0 -1
  409. package/lib/rethinkdb/deployment.js +0 -350
  410. package/lib/rethinkdb/deployment.js.map +0 -1
  411. package/lib/rethinkdb/index.d.ts.map +0 -1
  412. package/lib/rethinkdb/index.js +0 -6
  413. package/lib/rethinkdb/index.js.map +0 -1
  414. package/lib/rook/blockPool.d.ts +0 -28
  415. package/lib/rook/blockPool.d.ts.map +0 -1
  416. package/lib/rook/blockPool.js +0 -56
  417. package/lib/rook/blockPool.js.map +0 -1
  418. package/lib/rook/cluster.d.ts +0 -54
  419. package/lib/rook/cluster.d.ts.map +0 -1
  420. package/lib/rook/cluster.js +0 -100
  421. package/lib/rook/cluster.js.map +0 -1
  422. package/lib/rook/filesystem.d.ts +0 -29
  423. package/lib/rook/filesystem.d.ts.map +0 -1
  424. package/lib/rook/filesystem.js +0 -110
  425. package/lib/rook/filesystem.js.map +0 -1
  426. package/lib/rook/index.d.ts.map +0 -1
  427. package/lib/rook/index.js +0 -12
  428. package/lib/rook/index.js.map +0 -1
  429. package/lib/rook/operator.d.ts +0 -19
  430. package/lib/rook/operator.d.ts.map +0 -1
  431. package/lib/rook/operator.js +0 -162
  432. package/lib/rook/operator.js.map +0 -1
  433. package/lib/samba/deployment.d.ts +0 -79
  434. package/lib/samba/deployment.d.ts.map +0 -1
  435. package/lib/samba/deployment.js +0 -238
  436. package/lib/samba/deployment.js.map +0 -1
  437. package/lib/samba/index.d.ts +0 -3
  438. package/lib/samba/index.d.ts.map +0 -1
  439. package/lib/samba/index.js +0 -6
  440. package/lib/samba/index.js.map +0 -1
  441. package/lib/ssh/exec.d.ts +0 -33
  442. package/lib/ssh/exec.d.ts.map +0 -1
  443. package/lib/ssh/exec.js +0 -116
  444. package/lib/ssh/exec.js.map +0 -1
  445. package/lib/ssh/file.d.ts +0 -43
  446. package/lib/ssh/file.d.ts.map +0 -1
  447. package/lib/ssh/file.js +0 -110
  448. package/lib/ssh/file.js.map +0 -1
  449. package/lib/ssh/index.d.ts.map +0 -1
  450. package/lib/ssh/index.js +0 -8
  451. package/lib/ssh/index.js.map +0 -1
  452. package/lib/ssh/types.d.ts +0 -19
  453. package/lib/ssh/types.d.ts.map +0 -1
  454. package/lib/ssh/types.js +0 -3
  455. package/lib/ssh/types.js.map +0 -1
  456. package/lib/torproxy/deployment.d.ts +0 -31
  457. package/lib/torproxy/deployment.d.ts.map +0 -1
  458. package/lib/torproxy/deployment.js +0 -131
  459. package/lib/torproxy/deployment.js.map +0 -1
  460. package/lib/torproxy/index.d.ts.map +0 -1
  461. package/lib/torproxy/index.js +0 -6
  462. package/lib/torproxy/index.js.map +0 -1
  463. package/lib/traefik/controller.d.ts +0 -50
  464. package/lib/traefik/controller.d.ts.map +0 -1
  465. package/lib/traefik/controller.js +0 -166
  466. package/lib/traefik/controller.js.map +0 -1
  467. package/lib/traefik/index.d.ts.map +0 -1
  468. package/lib/traefik/index.js +0 -10
  469. package/lib/traefik/index.js.map +0 -1
  470. package/lib/traefik/middleware.d.ts +0 -27
  471. package/lib/traefik/middleware.d.ts.map +0 -1
  472. package/lib/traefik/middleware.js +0 -22
  473. package/lib/traefik/middleware.js.map +0 -1
  474. package/lib/traefik/secureIngress.d.ts +0 -32
  475. package/lib/traefik/secureIngress.d.ts.map +0 -1
  476. package/lib/traefik/secureIngress.js +0 -58
  477. package/lib/traefik/secureIngress.js.map +0 -1
  478. package/lib/ubuntu/deployment.d.ts +0 -67
  479. package/lib/ubuntu/deployment.d.ts.map +0 -1
  480. package/lib/ubuntu/deployment.js +0 -230
  481. package/lib/ubuntu/deployment.js.map +0 -1
  482. package/lib/ubuntu/index.d.ts.map +0 -1
  483. package/lib/ubuntu/index.js +0 -6
  484. package/lib/ubuntu/index.js.map +0 -1
  485. package/lib/unifi/controller.d.ts +0 -52
  486. package/lib/unifi/controller.d.ts.map +0 -1
  487. package/lib/unifi/controller.js +0 -232
  488. package/lib/unifi/controller.js.map +0 -1
  489. package/lib/unifi/index.d.ts.map +0 -1
  490. package/lib/unifi/index.js +0 -6
  491. package/lib/unifi/index.js.map +0 -1
  492. package/lib/velero/index.d.ts.map +0 -1
  493. package/lib/velero/index.js +0 -6
  494. package/lib/velero/index.js.map +0 -1
  495. package/lib/velero/operator.d.ts +0 -31
  496. package/lib/velero/operator.d.ts.map +0 -1
  497. package/lib/velero/operator.js +0 -148
  498. package/lib/velero/operator.js.map +0 -1
  499. package/lib/wireguard/deployment.d.ts +0 -82
  500. package/lib/wireguard/deployment.d.ts.map +0 -1
  501. package/lib/wireguard/deployment.js +0 -161
  502. package/lib/wireguard/deployment.js.map +0 -1
  503. package/lib/wireguard/index.d.ts.map +0 -1
  504. package/lib/wireguard/index.js +0 -6
  505. package/lib/wireguard/index.js.map +0 -1
@@ -0,0 +1,1777 @@
1
+ {
2
+ "__inputs": [
3
+ {
4
+ "name": "VAR_BLOCKY_URL",
5
+ "type": "constant",
6
+ "label": "blocky API URL",
7
+ "value": "",
8
+ "description": ""
9
+ }
10
+ ],
11
+ "__elements": [],
12
+ "__requires": [
13
+ {
14
+ "type": "grafana",
15
+ "id": "grafana",
16
+ "name": "Grafana",
17
+ "version": "8.3.3"
18
+ },
19
+ {
20
+ "type": "panel",
21
+ "id": "heatmap",
22
+ "name": "Heatmap",
23
+ "version": ""
24
+ },
25
+ {
26
+ "type": "panel",
27
+ "id": "piechart",
28
+ "name": "Pie chart",
29
+ "version": ""
30
+ },
31
+ {
32
+ "type": "datasource",
33
+ "id": "prometheus",
34
+ "name": "Prometheus",
35
+ "version": "1.0.0"
36
+ },
37
+ {
38
+ "type": "panel",
39
+ "id": "stat",
40
+ "name": "Stat",
41
+ "version": ""
42
+ },
43
+ {
44
+ "type": "panel",
45
+ "id": "text",
46
+ "name": "Text",
47
+ "version": ""
48
+ },
49
+ {
50
+ "type": "panel",
51
+ "id": "timeseries",
52
+ "name": "Time series",
53
+ "version": ""
54
+ }
55
+ ],
56
+ "annotations": {
57
+ "list": [
58
+ {
59
+ "builtIn": 1,
60
+ "datasource": "-- Grafana --",
61
+ "enable": true,
62
+ "hide": true,
63
+ "iconColor": "rgba(0, 211, 255, 1)",
64
+ "name": "Annotations & Alerts",
65
+ "target": {
66
+ "limit": 100,
67
+ "matchAny": false,
68
+ "tags": [],
69
+ "type": "dashboard"
70
+ },
71
+ "type": "dashboard"
72
+ }
73
+ ]
74
+ },
75
+ "editable": true,
76
+ "fiscalYearStartMonth": 0,
77
+ "graphTooltip": 0,
78
+ "id": null,
79
+ "iteration": 1641070862290,
80
+ "links": [
81
+ {
82
+ "icon": "external link",
83
+ "tags": [],
84
+ "title": "blocky @ GitHub",
85
+ "tooltip": "open GitHub repo",
86
+ "type": "link",
87
+ "url": "https://github.com/0xERR0R/blocky"
88
+ }
89
+ ],
90
+ "liveNow": false,
91
+ "panels": [
92
+ {
93
+ "description": "current service state",
94
+ "fieldConfig": {
95
+ "defaults": {
96
+ "mappings": [
97
+ {
98
+ "options": {
99
+ "0": {
100
+ "text": "down"
101
+ },
102
+ "1": {
103
+ "text": "up"
104
+ }
105
+ },
106
+ "type": "value"
107
+ }
108
+ ],
109
+ "thresholds": {
110
+ "mode": "absolute",
111
+ "steps": [
112
+ {
113
+ "color": "#d44a3a",
114
+ "value": null
115
+ },
116
+ {
117
+ "color": "rgba(237, 129, 40, 0.89)",
118
+ "value": 1
119
+ },
120
+ {
121
+ "color": "#299c46",
122
+ "value": 1
123
+ }
124
+ ]
125
+ },
126
+ "unit": "none"
127
+ },
128
+ "overrides": []
129
+ },
130
+ "id": 26,
131
+ "links": [],
132
+ "maxDataPoints": 100,
133
+ "options": {
134
+ "colorMode": "value",
135
+ "graphMode": "none",
136
+ "justifyMode": "auto",
137
+ "orientation": "horizontal",
138
+ "reduceOptions": {
139
+ "calcs": ["lastNotNull"],
140
+ "fields": "",
141
+ "values": false
142
+ },
143
+ "textMode": "auto"
144
+ },
145
+ "pluginVersion": "8.3.3",
146
+ "targets": [
147
+ {
148
+ "datasource": "Prometheus",
149
+ "exemplar": false,
150
+ "expr": "sum(up{job=\"blocky\"})",
151
+ "format": "table",
152
+ "instant": true,
153
+ "interval": "",
154
+ "legendFormat": "",
155
+ "refId": "A"
156
+ }
157
+ ],
158
+ "title": "State",
159
+ "transparent": true,
160
+ "type": "stat"
161
+ },
162
+ {
163
+ "description": "Is blocking enabled?",
164
+ "fieldConfig": {
165
+ "defaults": {
166
+ "mappings": [
167
+ {
168
+ "options": {
169
+ "0": {
170
+ "text": "off"
171
+ },
172
+ "1": {
173
+ "text": "on"
174
+ }
175
+ },
176
+ "type": "value"
177
+ }
178
+ ],
179
+ "thresholds": {
180
+ "mode": "absolute",
181
+ "steps": [
182
+ {
183
+ "color": "#d44a3a",
184
+ "value": null
185
+ },
186
+ {
187
+ "color": "rgba(237, 129, 40, 0.89)",
188
+ "value": 1
189
+ },
190
+ {
191
+ "color": "#299c46",
192
+ "value": 1
193
+ }
194
+ ]
195
+ },
196
+ "unit": "none"
197
+ },
198
+ "overrides": []
199
+ },
200
+ "gridPos": {
201
+ "h": 3,
202
+ "w": 6,
203
+ "x": 6,
204
+ "y": 0
205
+ },
206
+ "id": 43,
207
+ "links": [],
208
+ "maxDataPoints": 100,
209
+ "options": {
210
+ "colorMode": "value",
211
+ "graphMode": "none",
212
+ "justifyMode": "auto",
213
+ "orientation": "horizontal",
214
+ "reduceOptions": {
215
+ "calcs": ["lastNotNull"],
216
+ "fields": "",
217
+ "values": false
218
+ },
219
+ "textMode": "value"
220
+ },
221
+ "pluginVersion": "8.3.3",
222
+ "targets": [
223
+ {
224
+ "datasource": "Prometheus",
225
+ "exemplar": false,
226
+ "expr": "blocky_blocking_enabled",
227
+ "format": "table",
228
+ "instant": true,
229
+ "interval": "",
230
+ "legendFormat": "",
231
+ "refId": "A"
232
+ }
233
+ ],
234
+ "title": "Blocking",
235
+ "transparent": true,
236
+ "type": "stat"
237
+ },
238
+ {
239
+ "datasource": "Prometheus",
240
+ "description": "Enable Ad disable blocking",
241
+ "gridPos": {
242
+ "h": 5,
243
+ "w": 12,
244
+ "x": 12,
245
+ "y": 0
246
+ },
247
+ "id": 42,
248
+ "options": {
249
+ "content": "<style>\n\n.blocky_btn {\n border: none;\n cursor: pointer; \n padding: 12px;\n font-size: 16px;\n min-width: 100px\n}\n\n.blocky_greenbtn { \n background-color: #4CAF50;\n color: white;\n}\n\n.blocky_redbtn { \n background-color: #AF504C;\n color: white;\n}\n\n\n.blocky_alert {\n font-size: 14px\n}\n</style>\n<div class=\"blocky_alert blocky_alert-warning fade in\">\n <a href=\"#\" class=\"close\" data-dismiss=\"blocky_alert\" aria-label=\"close\" style=\"text-decoration:none\">&times;</a>Done!\n</div>\n<div>\n <button class=\"blocky_btn blocky_greenbtn\" onclick=\"blocky_status_enable()\">On</button>\n <button class=\"blocky_btn blocky_redbtn\" onclick=\"blocky_status_disable5m()\">Off 5m</button>\n <button class=\"blocky_btn blocky_redbtn\" onclick=\"blocky_status_disable30m()\">Off 30m</button>\n<div>\n\n\n<script type=\"text/javascript\">\n\nfunction blocky_status_disable() {\n blocky_status_switch(false, 0)\n}\n\nfunction blocky_status_disable5m() {\n blocky_status_switch(false, 5*60)\n}\n\nfunction blocky_status_disable30m() {\n blocky_status_switch(false, 30*60)\n}\n\nfunction blocky_status_enable() {\n blocky_status_switch(true, 0)\n}\n\nfunction blocky_status_switch(enable, duration) {\n var url = '$blocky_url';\n op = enable ? 'enable' : 'disable?duration='+duration+\"s\"\n $.get(url + '/api/blocking/'+op, function(data) {\n showAlert()\n })\n .fail(function() {\n alert( \"error\" );\n })\n}\n\nvar showAlert = function() {\n\t// first show the alert\n $('.blocky_alert').show().fadeTo(500, 1);\n \n // Now set a timeout to hide it\n window.setTimeout(function() {\n $(\".blocky_alert\").fadeTo(500, 0).slideUp(500, function() {\n $(this).hide();\n });\n }, 3000);\n}\n\n// start with the alert hidden\n$('.blocky_alert').hide();\n\n</script>",
250
+ "mode": "html"
251
+ },
252
+ "pluginVersion": "8.3.3",
253
+ "title": "Blocking status",
254
+ "transparent": true,
255
+ "type": "text"
256
+ },
257
+ {
258
+ "description": "Blocky [version](https://github.com/0xERR0R/blocky) number",
259
+ "fieldConfig": {
260
+ "defaults": {
261
+ "mappings": [],
262
+ "thresholds": {
263
+ "mode": "absolute",
264
+ "steps": [
265
+ {
266
+ "color": "green",
267
+ "value": null
268
+ },
269
+ {
270
+ "color": "red",
271
+ "value": 80
272
+ }
273
+ ]
274
+ }
275
+ },
276
+ "overrides": []
277
+ },
278
+ "gridPos": {
279
+ "h": 3,
280
+ "w": 6,
281
+ "x": 0,
282
+ "y": 3
283
+ },
284
+ "id": 55,
285
+ "options": {
286
+ "colorMode": "value",
287
+ "graphMode": "area",
288
+ "justifyMode": "center",
289
+ "orientation": "auto",
290
+ "reduceOptions": {
291
+ "calcs": ["lastNotNull"],
292
+ "fields": "/^version$/",
293
+ "values": false
294
+ },
295
+ "textMode": "auto"
296
+ },
297
+ "pluginVersion": "8.3.3",
298
+ "repeatDirection": "v",
299
+ "targets": [
300
+ {
301
+ "datasource": "Prometheus",
302
+ "exemplar": false,
303
+ "expr": "blocky_build_info ",
304
+ "format": "table",
305
+ "instant": true,
306
+ "interval": "",
307
+ "legendFormat": "",
308
+ "refId": "A"
309
+ }
310
+ ],
311
+ "title": "Version",
312
+ "transformations": [
313
+ {
314
+ "id": "labelsToFields",
315
+ "options": {}
316
+ },
317
+ {
318
+ "id": "merge",
319
+ "options": {}
320
+ }
321
+ ],
322
+ "transparent": true,
323
+ "type": "stat"
324
+ },
325
+ {
326
+ "datasource": "Prometheus",
327
+ "description": "Average query response time for all query types",
328
+ "fieldConfig": {
329
+ "defaults": {
330
+ "mappings": [
331
+ {
332
+ "options": {
333
+ "match": "null",
334
+ "result": {
335
+ "text": "N/A"
336
+ }
337
+ },
338
+ "type": "special"
339
+ }
340
+ ],
341
+ "thresholds": {
342
+ "mode": "absolute",
343
+ "steps": [
344
+ {
345
+ "color": "green",
346
+ "value": null
347
+ },
348
+ {
349
+ "color": "red",
350
+ "value": 80
351
+ }
352
+ ]
353
+ },
354
+ "unit": "ms"
355
+ },
356
+ "overrides": []
357
+ },
358
+ "gridPos": {
359
+ "h": 3,
360
+ "w": 6,
361
+ "x": 6,
362
+ "y": 3
363
+ },
364
+ "id": 24,
365
+ "links": [],
366
+ "maxDataPoints": 100,
367
+ "options": {
368
+ "colorMode": "value",
369
+ "graphMode": "area",
370
+ "justifyMode": "auto",
371
+ "orientation": "horizontal",
372
+ "reduceOptions": {
373
+ "calcs": ["lastNotNull"],
374
+ "fields": "",
375
+ "values": false
376
+ },
377
+ "textMode": "auto"
378
+ },
379
+ "pluginVersion": "8.3.3",
380
+ "targets": [
381
+ {
382
+ "datasource": "Prometheus",
383
+ "exemplar": true,
384
+ "expr": "sum(increase(blocky_request_duration_ms_sum[$__range])) / sum(increase(blocky_request_duration_ms_count[$__range]))",
385
+ "format": "table",
386
+ "instant": false,
387
+ "interval": "",
388
+ "legendFormat": "",
389
+ "refId": "A"
390
+ }
391
+ ],
392
+ "title": "Avg response time",
393
+ "transparent": true,
394
+ "type": "stat"
395
+ },
396
+ {
397
+ "datasource": "Prometheus",
398
+ "description": "Number of blacklist entries",
399
+ "fieldConfig": {
400
+ "defaults": {
401
+ "mappings": [
402
+ {
403
+ "options": {
404
+ "match": "null",
405
+ "result": {
406
+ "text": "N/A"
407
+ }
408
+ },
409
+ "type": "special"
410
+ }
411
+ ],
412
+ "thresholds": {
413
+ "mode": "absolute",
414
+ "steps": [
415
+ {
416
+ "color": "green",
417
+ "value": null
418
+ }
419
+ ]
420
+ },
421
+ "unit": "none"
422
+ },
423
+ "overrides": []
424
+ },
425
+ "gridPos": {
426
+ "h": 3,
427
+ "w": 6,
428
+ "x": 12,
429
+ "y": 5
430
+ },
431
+ "id": 30,
432
+ "links": [],
433
+ "maxDataPoints": 100,
434
+ "options": {
435
+ "colorMode": "value",
436
+ "graphMode": "area",
437
+ "justifyMode": "auto",
438
+ "orientation": "horizontal",
439
+ "reduceOptions": {
440
+ "calcs": ["lastNotNull"],
441
+ "fields": "",
442
+ "values": false
443
+ },
444
+ "textMode": "auto"
445
+ },
446
+ "pluginVersion": "8.3.3",
447
+ "targets": [
448
+ {
449
+ "datasource": "Prometheus",
450
+ "exemplar": true,
451
+ "expr": "sum(blocky_blacklist_cache) / sum(up{job=\"blocky\"})",
452
+ "format": "table",
453
+ "instant": false,
454
+ "interval": "",
455
+ "legendFormat": "",
456
+ "refId": "A"
457
+ }
458
+ ],
459
+ "title": "Blacklist entries total",
460
+ "transparent": true,
461
+ "type": "stat"
462
+ },
463
+ {
464
+ "datasource": "Prometheus",
465
+ "fieldConfig": {
466
+ "defaults": {
467
+ "decimals": 2,
468
+ "mappings": [
469
+ {
470
+ "options": {
471
+ "match": "null",
472
+ "result": {
473
+ "text": "N/A"
474
+ }
475
+ },
476
+ "type": "special"
477
+ }
478
+ ],
479
+ "thresholds": {
480
+ "mode": "absolute",
481
+ "steps": [
482
+ {
483
+ "color": "green",
484
+ "value": null
485
+ }
486
+ ]
487
+ },
488
+ "unit": "bytes"
489
+ },
490
+ "overrides": []
491
+ },
492
+ "gridPos": {
493
+ "h": 3,
494
+ "w": 6,
495
+ "x": 18,
496
+ "y": 5
497
+ },
498
+ "id": 28,
499
+ "links": [],
500
+ "maxDataPoints": 100,
501
+ "options": {
502
+ "colorMode": "value",
503
+ "graphMode": "area",
504
+ "justifyMode": "auto",
505
+ "orientation": "horizontal",
506
+ "reduceOptions": {
507
+ "calcs": ["lastNotNull"],
508
+ "fields": "",
509
+ "values": false
510
+ },
511
+ "textMode": "auto"
512
+ },
513
+ "pluginVersion": "8.3.3",
514
+ "targets": [
515
+ {
516
+ "datasource": "Prometheus",
517
+ "exemplar": true,
518
+ "expr": "sum(go_memstats_sys_bytes{job=\"blocky\"})/sum(up{job=\"blocky\"})",
519
+ "format": "table",
520
+ "instant": false,
521
+ "interval": "",
522
+ "legendFormat": "",
523
+ "refId": "A"
524
+ }
525
+ ],
526
+ "title": "Memory allocated",
527
+ "transparent": true,
528
+ "type": "stat"
529
+ },
530
+ {
531
+ "datasource": "Prometheus",
532
+ "description": "Percentage of blocked queries",
533
+ "fieldConfig": {
534
+ "defaults": {
535
+ "decimals": 2,
536
+ "mappings": [
537
+ {
538
+ "options": {
539
+ "match": "null",
540
+ "result": {
541
+ "text": "N/A"
542
+ }
543
+ },
544
+ "type": "special"
545
+ }
546
+ ],
547
+ "max": 1,
548
+ "min": 0,
549
+ "thresholds": {
550
+ "mode": "absolute",
551
+ "steps": [
552
+ {
553
+ "color": "green",
554
+ "value": null
555
+ },
556
+ {
557
+ "color": "red",
558
+ "value": 80
559
+ }
560
+ ]
561
+ },
562
+ "unit": "percentunit"
563
+ },
564
+ "overrides": []
565
+ },
566
+ "gridPos": {
567
+ "h": 3,
568
+ "w": 6,
569
+ "x": 0,
570
+ "y": 6
571
+ },
572
+ "id": 34,
573
+ "links": [],
574
+ "maxDataPoints": 100,
575
+ "options": {
576
+ "colorMode": "value",
577
+ "graphMode": "area",
578
+ "justifyMode": "auto",
579
+ "orientation": "horizontal",
580
+ "reduceOptions": {
581
+ "calcs": ["lastNotNull"],
582
+ "fields": "",
583
+ "values": false
584
+ },
585
+ "textMode": "auto"
586
+ },
587
+ "pluginVersion": "8.3.3",
588
+ "targets": [
589
+ {
590
+ "datasource": "Prometheus",
591
+ "exemplar": true,
592
+ "expr": "sum(increase(blocky_response_total{response_type=\"BLOCKED\"}[$__range])) / sum(increase(blocky_query_total[$__range])) ",
593
+ "format": "table",
594
+ "instant": false,
595
+ "interval": "",
596
+ "legendFormat": "",
597
+ "refId": "A"
598
+ }
599
+ ],
600
+ "title": "Queries blocked",
601
+ "transparent": true,
602
+ "type": "stat"
603
+ },
604
+ {
605
+ "datasource": "Prometheus",
606
+ "description": "Number of all queries. Shows the last value",
607
+ "fieldConfig": {
608
+ "defaults": {
609
+ "mappings": [
610
+ {
611
+ "options": {
612
+ "match": "null",
613
+ "result": {
614
+ "text": "N/A"
615
+ }
616
+ },
617
+ "type": "special"
618
+ }
619
+ ],
620
+ "thresholds": {
621
+ "mode": "absolute",
622
+ "steps": [
623
+ {
624
+ "color": "green",
625
+ "value": null
626
+ }
627
+ ]
628
+ },
629
+ "unit": "none"
630
+ },
631
+ "overrides": []
632
+ },
633
+ "gridPos": {
634
+ "h": 3,
635
+ "w": 6,
636
+ "x": 6,
637
+ "y": 6
638
+ },
639
+ "hideTimeOverride": true,
640
+ "id": 4,
641
+ "links": [],
642
+ "maxDataPoints": 100,
643
+ "options": {
644
+ "colorMode": "value",
645
+ "graphMode": "area",
646
+ "justifyMode": "auto",
647
+ "orientation": "horizontal",
648
+ "reduceOptions": {
649
+ "calcs": ["lastNotNull"],
650
+ "fields": "",
651
+ "values": false
652
+ },
653
+ "textMode": "auto"
654
+ },
655
+ "pluginVersion": "8.3.3",
656
+ "targets": [
657
+ {
658
+ "datasource": "Prometheus",
659
+ "exemplar": true,
660
+ "expr": "ceil(sum(increase(blocky_query_total[$__range]))) ",
661
+ "format": "table",
662
+ "instant": false,
663
+ "interval": "",
664
+ "legendFormat": "",
665
+ "refId": "A"
666
+ }
667
+ ],
668
+ "title": "Query Count Total",
669
+ "transparent": true,
670
+ "type": "stat"
671
+ },
672
+ {
673
+ "datasource": "Prometheus",
674
+ "description": "Number of entries in the cache. Shows the last value",
675
+ "fieldConfig": {
676
+ "defaults": {
677
+ "mappings": [],
678
+ "thresholds": {
679
+ "mode": "absolute",
680
+ "steps": [
681
+ {
682
+ "color": "green",
683
+ "value": null
684
+ }
685
+ ]
686
+ }
687
+ },
688
+ "overrides": []
689
+ },
690
+ "gridPos": {
691
+ "h": 3,
692
+ "w": 6,
693
+ "x": 12,
694
+ "y": 8
695
+ },
696
+ "id": 45,
697
+ "options": {
698
+ "colorMode": "value",
699
+ "graphMode": "area",
700
+ "justifyMode": "auto",
701
+ "orientation": "auto",
702
+ "reduceOptions": {
703
+ "calcs": ["last"],
704
+ "fields": "",
705
+ "values": false
706
+ },
707
+ "textMode": "auto"
708
+ },
709
+ "pluginVersion": "8.3.3",
710
+ "targets": [
711
+ {
712
+ "datasource": "Prometheus",
713
+ "exemplar": true,
714
+ "expr": "sum(blocky_cache_entry_count)/ sum(up{job=\"blocky\"})",
715
+ "format": "table",
716
+ "instant": false,
717
+ "interval": "",
718
+ "legendFormat": "",
719
+ "refId": "A"
720
+ }
721
+ ],
722
+ "title": "Cache entries count",
723
+ "transparent": true,
724
+ "type": "stat"
725
+ },
726
+ {
727
+ "datasource": "Prometheus",
728
+ "description": "Cache Hit/Miss ratio. 100 % means, all queries could be answered from the cache, 0% - all queries must be resolved via external DNS",
729
+ "fieldConfig": {
730
+ "defaults": {
731
+ "color": {
732
+ "mode": "thresholds"
733
+ },
734
+ "mappings": [],
735
+ "max": 1,
736
+ "min": 0,
737
+ "thresholds": {
738
+ "mode": "absolute",
739
+ "steps": [
740
+ {
741
+ "color": "green",
742
+ "value": null
743
+ }
744
+ ]
745
+ },
746
+ "unit": "percentunit"
747
+ },
748
+ "overrides": []
749
+ },
750
+ "gridPos": {
751
+ "h": 3,
752
+ "w": 6,
753
+ "x": 18,
754
+ "y": 8
755
+ },
756
+ "id": 47,
757
+ "options": {
758
+ "colorMode": "value",
759
+ "graphMode": "area",
760
+ "justifyMode": "auto",
761
+ "orientation": "auto",
762
+ "reduceOptions": {
763
+ "calcs": ["mean"],
764
+ "fields": "",
765
+ "values": false
766
+ },
767
+ "textMode": "auto"
768
+ },
769
+ "pluginVersion": "8.3.3",
770
+ "targets": [
771
+ {
772
+ "datasource": "Prometheus",
773
+ "exemplar": true,
774
+ "expr": "sum(increase(blocky_cache_hit_count[$__range])) / (sum(increase(blocky_cache_hit_count[$__range])) + sum(increase(blocky_cache_miss_count[$__range])))",
775
+ "format": "table",
776
+ "instant": false,
777
+ "interval": "",
778
+ "legendFormat": "",
779
+ "refId": "A"
780
+ }
781
+ ],
782
+ "title": "Cache Hit/Miss ratio",
783
+ "transparent": true,
784
+ "type": "stat"
785
+ },
786
+ {
787
+ "datasource": "Prometheus",
788
+ "description": "Number of occured errors",
789
+ "fieldConfig": {
790
+ "defaults": {
791
+ "decimals": 0,
792
+ "mappings": [
793
+ {
794
+ "options": {
795
+ "match": "null",
796
+ "result": {
797
+ "text": "N/A"
798
+ }
799
+ },
800
+ "type": "special"
801
+ }
802
+ ],
803
+ "thresholds": {
804
+ "mode": "absolute",
805
+ "steps": [
806
+ {
807
+ "color": "#299c46",
808
+ "value": null
809
+ },
810
+ {
811
+ "color": "rgba(237, 129, 40, 0.89)",
812
+ "value": 1
813
+ },
814
+ {
815
+ "color": "#d44a3a"
816
+ }
817
+ ]
818
+ },
819
+ "unit": "short"
820
+ },
821
+ "overrides": []
822
+ },
823
+ "gridPos": {
824
+ "h": 3,
825
+ "w": 6,
826
+ "x": 0,
827
+ "y": 9
828
+ },
829
+ "id": 36,
830
+ "links": [],
831
+ "maxDataPoints": 100,
832
+ "options": {
833
+ "colorMode": "value",
834
+ "graphMode": "area",
835
+ "justifyMode": "auto",
836
+ "orientation": "horizontal",
837
+ "reduceOptions": {
838
+ "calcs": ["lastNotNull"],
839
+ "fields": "",
840
+ "values": false
841
+ },
842
+ "textMode": "auto"
843
+ },
844
+ "pluginVersion": "8.3.3",
845
+ "targets": [
846
+ {
847
+ "datasource": "Prometheus",
848
+ "exemplar": true,
849
+ "expr": "sum(increase(blocky_error_total[$__range]))",
850
+ "format": "table",
851
+ "instant": false,
852
+ "interval": "",
853
+ "legendFormat": "",
854
+ "refId": "A"
855
+ }
856
+ ],
857
+ "title": "Error count",
858
+ "transparent": true,
859
+ "type": "stat"
860
+ },
861
+ {
862
+ "datasource": "Prometheus",
863
+ "description": "Amount of performed DNS queries to prefetch cached queries",
864
+ "fieldConfig": {
865
+ "defaults": {
866
+ "mappings": [],
867
+ "thresholds": {
868
+ "mode": "absolute",
869
+ "steps": [
870
+ {
871
+ "color": "green",
872
+ "value": null
873
+ }
874
+ ]
875
+ }
876
+ },
877
+ "overrides": []
878
+ },
879
+ "gridPos": {
880
+ "h": 3,
881
+ "w": 6,
882
+ "x": 6,
883
+ "y": 9
884
+ },
885
+ "id": 53,
886
+ "options": {
887
+ "colorMode": "value",
888
+ "graphMode": "area",
889
+ "justifyMode": "auto",
890
+ "orientation": "auto",
891
+ "reduceOptions": {
892
+ "calcs": ["lastNotNull"],
893
+ "fields": "",
894
+ "values": false
895
+ },
896
+ "textMode": "auto"
897
+ },
898
+ "pluginVersion": "8.3.3",
899
+ "targets": [
900
+ {
901
+ "datasource": "Prometheus",
902
+ "exemplar": true,
903
+ "expr": "ceil(sum(increase(blocky_prefetch_count[$__range])))",
904
+ "format": "table",
905
+ "interval": "",
906
+ "legendFormat": "",
907
+ "refId": "A"
908
+ }
909
+ ],
910
+ "title": "Prefetch count",
911
+ "transparent": true,
912
+ "type": "stat"
913
+ },
914
+ {
915
+ "datasource": "Prometheus",
916
+ "description": "Amount of prefetch queries per minute",
917
+ "fieldConfig": {
918
+ "defaults": {
919
+ "mappings": [],
920
+ "thresholds": {
921
+ "mode": "absolute",
922
+ "steps": [
923
+ {
924
+ "color": "green",
925
+ "value": null
926
+ },
927
+ {
928
+ "color": "red",
929
+ "value": 80
930
+ }
931
+ ]
932
+ }
933
+ },
934
+ "overrides": []
935
+ },
936
+ "gridPos": {
937
+ "h": 3,
938
+ "w": 6,
939
+ "x": 12,
940
+ "y": 11
941
+ },
942
+ "id": 51,
943
+ "options": {
944
+ "colorMode": "value",
945
+ "graphMode": "area",
946
+ "justifyMode": "auto",
947
+ "orientation": "auto",
948
+ "reduceOptions": {
949
+ "calcs": ["lastNotNull"],
950
+ "fields": "",
951
+ "values": false
952
+ },
953
+ "textMode": "auto"
954
+ },
955
+ "pluginVersion": "8.3.3",
956
+ "targets": [
957
+ {
958
+ "datasource": "Prometheus",
959
+ "exemplar": true,
960
+ "expr": "sum(rate(blocky_prefetch_count[5m])) * 60",
961
+ "format": "table",
962
+ "interval": "",
963
+ "legendFormat": "",
964
+ "refId": "A"
965
+ }
966
+ ],
967
+ "title": "Prefetch rate per min",
968
+ "transparent": true,
969
+ "type": "stat"
970
+ },
971
+ {
972
+ "datasource": "Prometheus",
973
+ "description": "How many of cached entries were prefetched automatically",
974
+ "fieldConfig": {
975
+ "defaults": {
976
+ "color": {
977
+ "mode": "thresholds"
978
+ },
979
+ "mappings": [],
980
+ "max": 1,
981
+ "min": 0,
982
+ "thresholds": {
983
+ "mode": "absolute",
984
+ "steps": [
985
+ {
986
+ "color": "green",
987
+ "value": null
988
+ }
989
+ ]
990
+ },
991
+ "unit": "percentunit"
992
+ },
993
+ "overrides": []
994
+ },
995
+ "gridPos": {
996
+ "h": 3,
997
+ "w": 6,
998
+ "x": 18,
999
+ "y": 11
1000
+ },
1001
+ "id": 58,
1002
+ "options": {
1003
+ "colorMode": "value",
1004
+ "graphMode": "area",
1005
+ "justifyMode": "auto",
1006
+ "orientation": "auto",
1007
+ "reduceOptions": {
1008
+ "calcs": ["mean"],
1009
+ "fields": "",
1010
+ "values": false
1011
+ },
1012
+ "textMode": "auto"
1013
+ },
1014
+ "pluginVersion": "8.3.3",
1015
+ "targets": [
1016
+ {
1017
+ "datasource": "Prometheus",
1018
+ "exemplar": true,
1019
+ "expr": "sum(increase(blocky_prefetch_hit_count[$__range])) / (sum(increase(blocky_cache_hit_count[$__range])))",
1020
+ "format": "table",
1021
+ "instant": false,
1022
+ "interval": "",
1023
+ "legendFormat": "",
1024
+ "refId": "A"
1025
+ }
1026
+ ],
1027
+ "title": "Prefetch Hit ratio",
1028
+ "transparent": true,
1029
+ "type": "stat"
1030
+ },
1031
+ {
1032
+ "description": "Time since last list refresh",
1033
+ "fieldConfig": {
1034
+ "defaults": {
1035
+ "decimals": 0,
1036
+ "mappings": [],
1037
+ "thresholds": {
1038
+ "mode": "absolute",
1039
+ "steps": [
1040
+ {
1041
+ "color": "green",
1042
+ "value": null
1043
+ }
1044
+ ]
1045
+ },
1046
+ "unit": "s"
1047
+ },
1048
+ "overrides": []
1049
+ },
1050
+ "gridPos": {
1051
+ "h": 3,
1052
+ "w": 6,
1053
+ "x": 0,
1054
+ "y": 12
1055
+ },
1056
+ "id": 57,
1057
+ "options": {
1058
+ "colorMode": "value",
1059
+ "graphMode": "area",
1060
+ "justifyMode": "auto",
1061
+ "orientation": "auto",
1062
+ "reduceOptions": {
1063
+ "calcs": ["lastNotNull"],
1064
+ "fields": "",
1065
+ "values": false
1066
+ },
1067
+ "textMode": "auto"
1068
+ },
1069
+ "pluginVersion": "8.3.3",
1070
+ "targets": [
1071
+ {
1072
+ "datasource": "Prometheus",
1073
+ "exemplar": false,
1074
+ "expr": "sum(time() -blocky_last_list_group_refresh)/ sum(up{job=\"blocky\"})",
1075
+ "format": "table",
1076
+ "instant": true,
1077
+ "interval": "",
1078
+ "legendFormat": "",
1079
+ "refId": "A"
1080
+ }
1081
+ ],
1082
+ "title": "Last list refresh",
1083
+ "transparent": true,
1084
+ "type": "stat"
1085
+ },
1086
+ {
1087
+ "datasource": "Prometheus",
1088
+ "description": "Amount of unique domains in the prefetched cache",
1089
+ "fieldConfig": {
1090
+ "defaults": {
1091
+ "mappings": [],
1092
+ "thresholds": {
1093
+ "mode": "absolute",
1094
+ "steps": [
1095
+ {
1096
+ "color": "green",
1097
+ "value": null
1098
+ }
1099
+ ]
1100
+ }
1101
+ },
1102
+ "overrides": []
1103
+ },
1104
+ "gridPos": {
1105
+ "h": 3,
1106
+ "w": 6,
1107
+ "x": 6,
1108
+ "y": 12
1109
+ },
1110
+ "id": 49,
1111
+ "options": {
1112
+ "colorMode": "value",
1113
+ "graphMode": "area",
1114
+ "justifyMode": "auto",
1115
+ "orientation": "auto",
1116
+ "reduceOptions": {
1117
+ "calcs": ["lastNotNull"],
1118
+ "fields": "",
1119
+ "values": false
1120
+ },
1121
+ "textMode": "auto"
1122
+ },
1123
+ "pluginVersion": "8.3.3",
1124
+ "targets": [
1125
+ {
1126
+ "datasource": "Prometheus",
1127
+ "exemplar": true,
1128
+ "expr": "sum(blocky_prefetch_domain_name_cache_count)/ sum(up{job=\"blocky\"})",
1129
+ "format": "table",
1130
+ "interval": "",
1131
+ "legendFormat": "",
1132
+ "refId": "A"
1133
+ }
1134
+ ],
1135
+ "title": "Prefetch domain count",
1136
+ "transparent": true,
1137
+ "type": "stat"
1138
+ },
1139
+ {
1140
+ "fieldConfig": {
1141
+ "defaults": {
1142
+ "color": {
1143
+ "mode": "palette-classic"
1144
+ },
1145
+ "custom": {
1146
+ "axisLabel": "avg requests / min",
1147
+ "axisPlacement": "auto",
1148
+ "barAlignment": 0,
1149
+ "drawStyle": "line",
1150
+ "fillOpacity": 10,
1151
+ "gradientMode": "none",
1152
+ "hideFrom": {
1153
+ "legend": false,
1154
+ "tooltip": false,
1155
+ "viz": false
1156
+ },
1157
+ "lineInterpolation": "linear",
1158
+ "lineWidth": 1,
1159
+ "pointSize": 5,
1160
+ "scaleDistribution": {
1161
+ "type": "linear"
1162
+ },
1163
+ "showPoints": "never",
1164
+ "spanNulls": true,
1165
+ "stacking": {
1166
+ "group": "A",
1167
+ "mode": "none"
1168
+ },
1169
+ "thresholdsStyle": {
1170
+ "mode": "off"
1171
+ }
1172
+ },
1173
+ "links": [],
1174
+ "mappings": [],
1175
+ "thresholds": {
1176
+ "mode": "absolute",
1177
+ "steps": [
1178
+ {
1179
+ "color": "green",
1180
+ "value": null
1181
+ },
1182
+ {
1183
+ "color": "red",
1184
+ "value": 80
1185
+ }
1186
+ ]
1187
+ },
1188
+ "unit": "short"
1189
+ },
1190
+ "overrides": []
1191
+ },
1192
+ "gridPos": {
1193
+ "h": 7,
1194
+ "w": 24,
1195
+ "x": 0,
1196
+ "y": 15
1197
+ },
1198
+ "id": 10,
1199
+ "options": {
1200
+ "legend": {
1201
+ "calcs": [],
1202
+ "displayMode": "hidden",
1203
+ "placement": "bottom"
1204
+ },
1205
+ "tooltip": {
1206
+ "mode": "single"
1207
+ }
1208
+ },
1209
+ "pluginVersion": "8.3.3",
1210
+ "targets": [
1211
+ {
1212
+ "datasource": "Prometheus",
1213
+ "exemplar": true,
1214
+ "expr": "sum(rate(blocky_query_total[5m])) * 60",
1215
+ "format": "time_series",
1216
+ "instant": false,
1217
+ "interval": "",
1218
+ "legendFormat": " ",
1219
+ "refId": "A"
1220
+ }
1221
+ ],
1222
+ "title": "Request rate",
1223
+ "transparent": true,
1224
+ "type": "timeseries"
1225
+ },
1226
+ {
1227
+ "fieldConfig": {
1228
+ "defaults": {
1229
+ "color": {
1230
+ "mode": "palette-classic"
1231
+ },
1232
+ "custom": {
1233
+ "axisLabel": "avg requests / min",
1234
+ "axisPlacement": "auto",
1235
+ "barAlignment": 0,
1236
+ "drawStyle": "bars",
1237
+ "fillOpacity": 100,
1238
+ "gradientMode": "none",
1239
+ "hideFrom": {
1240
+ "legend": false,
1241
+ "tooltip": false,
1242
+ "viz": false
1243
+ },
1244
+ "lineInterpolation": "linear",
1245
+ "lineWidth": 1,
1246
+ "pointSize": 5,
1247
+ "scaleDistribution": {
1248
+ "type": "linear"
1249
+ },
1250
+ "showPoints": "never",
1251
+ "spanNulls": true,
1252
+ "stacking": {
1253
+ "group": "A",
1254
+ "mode": "none"
1255
+ },
1256
+ "thresholdsStyle": {
1257
+ "mode": "off"
1258
+ }
1259
+ },
1260
+ "links": [],
1261
+ "mappings": [],
1262
+ "thresholds": {
1263
+ "mode": "absolute",
1264
+ "steps": [
1265
+ {
1266
+ "color": "green",
1267
+ "value": null
1268
+ },
1269
+ {
1270
+ "color": "red",
1271
+ "value": 80
1272
+ }
1273
+ ]
1274
+ },
1275
+ "unit": "short"
1276
+ },
1277
+ "overrides": []
1278
+ },
1279
+ "gridPos": {
1280
+ "h": 7,
1281
+ "w": 24,
1282
+ "x": 0,
1283
+ "y": 22
1284
+ },
1285
+ "id": 52,
1286
+ "options": {
1287
+ "legend": {
1288
+ "calcs": [],
1289
+ "displayMode": "list",
1290
+ "placement": "bottom"
1291
+ },
1292
+ "tooltip": {
1293
+ "mode": "single"
1294
+ }
1295
+ },
1296
+ "pluginVersion": "8.3.3",
1297
+ "targets": [
1298
+ {
1299
+ "datasource": "Prometheus",
1300
+ "exemplar": true,
1301
+ "expr": "sum by (client) (rate(blocky_query_total[5m])) * 60",
1302
+ "format": "time_series",
1303
+ "instant": false,
1304
+ "interval": "",
1305
+ "legendFormat": " {{client}}",
1306
+ "refId": "A"
1307
+ }
1308
+ ],
1309
+ "title": "Request rate per client",
1310
+ "transparent": true,
1311
+ "type": "timeseries"
1312
+ },
1313
+ {
1314
+ "cards": {},
1315
+ "color": {
1316
+ "cardColor": "#FADE2A",
1317
+ "colorScale": "sqrt",
1318
+ "colorScheme": "interpolateYlOrBr",
1319
+ "exponent": 0.5,
1320
+ "mode": "opacity"
1321
+ },
1322
+ "dataFormat": "tsbuckets",
1323
+ "gridPos": {
1324
+ "h": 9,
1325
+ "w": 24,
1326
+ "x": 0,
1327
+ "y": 29
1328
+ },
1329
+ "heatmap": {},
1330
+ "hideZeroBuckets": false,
1331
+ "highlightCards": true,
1332
+ "id": 22,
1333
+ "legend": {
1334
+ "show": true
1335
+ },
1336
+ "reverseYBuckets": false,
1337
+ "targets": [
1338
+ {
1339
+ "datasource": "Prometheus",
1340
+ "exemplar": true,
1341
+ "expr": "sum(increase(blocky_request_duration_ms_bucket{response_type=\"RESOLVED\"}[$__range])) by (le)",
1342
+ "format": "heatmap",
1343
+ "instant": false,
1344
+ "interval": "",
1345
+ "legendFormat": "{{le}}",
1346
+ "refId": "A"
1347
+ }
1348
+ ],
1349
+ "title": "request duration (upstream)",
1350
+ "tooltip": {
1351
+ "show": true,
1352
+ "showHistogram": false
1353
+ },
1354
+ "transparent": true,
1355
+ "type": "heatmap",
1356
+ "xAxis": {
1357
+ "show": true
1358
+ },
1359
+ "yAxis": {
1360
+ "format": "ms",
1361
+ "logBase": 1,
1362
+ "show": true
1363
+ },
1364
+ "yBucketBound": "auto"
1365
+ },
1366
+ {
1367
+ "fieldConfig": {
1368
+ "defaults": {
1369
+ "color": {
1370
+ "mode": "palette-classic"
1371
+ },
1372
+ "custom": {
1373
+ "hideFrom": {
1374
+ "legend": false,
1375
+ "tooltip": false,
1376
+ "viz": false
1377
+ }
1378
+ },
1379
+ "decimals": 0,
1380
+ "mappings": [],
1381
+ "unit": "short"
1382
+ },
1383
+ "overrides": []
1384
+ },
1385
+ "gridPos": {
1386
+ "h": 8,
1387
+ "w": 12,
1388
+ "x": 0,
1389
+ "y": 38
1390
+ },
1391
+ "id": 2,
1392
+ "links": [],
1393
+ "maxDataPoints": 3,
1394
+ "options": {
1395
+ "legend": {
1396
+ "calcs": [],
1397
+ "displayMode": "table",
1398
+ "placement": "right",
1399
+ "values": ["value", "percent"]
1400
+ },
1401
+ "pieType": "donut",
1402
+ "reduceOptions": {
1403
+ "calcs": ["sum"],
1404
+ "fields": "",
1405
+ "values": false
1406
+ },
1407
+ "tooltip": {
1408
+ "mode": "single"
1409
+ }
1410
+ },
1411
+ "pluginVersion": "6.6.2",
1412
+ "targets": [
1413
+ {
1414
+ "datasource": "Prometheus",
1415
+ "exemplar": false,
1416
+ "expr": " sort_desc(sum by (type) (ceil(increase(blocky_query_total[$__range]))))",
1417
+ "format": "time_series",
1418
+ "instant": true,
1419
+ "interval": "",
1420
+ "legendFormat": "{{ type }}",
1421
+ "refId": "A"
1422
+ }
1423
+ ],
1424
+ "title": "Query by type",
1425
+ "transparent": true,
1426
+ "type": "piechart"
1427
+ },
1428
+ {
1429
+ "fieldConfig": {
1430
+ "defaults": {
1431
+ "color": {
1432
+ "mode": "palette-classic"
1433
+ },
1434
+ "custom": {
1435
+ "hideFrom": {
1436
+ "legend": false,
1437
+ "tooltip": false,
1438
+ "viz": false
1439
+ }
1440
+ },
1441
+ "decimals": 0,
1442
+ "mappings": [],
1443
+ "unit": "short"
1444
+ },
1445
+ "overrides": []
1446
+ },
1447
+ "gridPos": {
1448
+ "h": 8,
1449
+ "w": 12,
1450
+ "x": 12,
1451
+ "y": 38
1452
+ },
1453
+ "id": 8,
1454
+ "links": [],
1455
+ "maxDataPoints": 3,
1456
+ "options": {
1457
+ "legend": {
1458
+ "calcs": [],
1459
+ "displayMode": "table",
1460
+ "placement": "right",
1461
+ "values": ["value", "percent"]
1462
+ },
1463
+ "pieType": "donut",
1464
+ "reduceOptions": {
1465
+ "calcs": ["lastNotNull"],
1466
+ "fields": "",
1467
+ "values": false
1468
+ },
1469
+ "tooltip": {
1470
+ "mode": "single"
1471
+ }
1472
+ },
1473
+ "pluginVersion": "6.6.2",
1474
+ "targets": [
1475
+ {
1476
+ "datasource": "Prometheus",
1477
+ "exemplar": false,
1478
+ "expr": "sort_desc(sum by (client) (ceil(increase(blocky_query_total[$__range]))))",
1479
+ "format": "time_series",
1480
+ "instant": true,
1481
+ "interval": "",
1482
+ "legendFormat": "{{ client }}",
1483
+ "refId": "A"
1484
+ }
1485
+ ],
1486
+ "title": "Query per Client",
1487
+ "transparent": true,
1488
+ "type": "piechart"
1489
+ },
1490
+ {
1491
+ "fieldConfig": {
1492
+ "defaults": {
1493
+ "color": {
1494
+ "mode": "palette-classic"
1495
+ },
1496
+ "custom": {
1497
+ "hideFrom": {
1498
+ "legend": false,
1499
+ "tooltip": false,
1500
+ "viz": false
1501
+ }
1502
+ },
1503
+ "decimals": 0,
1504
+ "mappings": [],
1505
+ "unit": "short"
1506
+ },
1507
+ "overrides": []
1508
+ },
1509
+ "gridPos": {
1510
+ "h": 8,
1511
+ "w": 12,
1512
+ "x": 0,
1513
+ "y": 46
1514
+ },
1515
+ "id": 32,
1516
+ "links": [],
1517
+ "maxDataPoints": 3,
1518
+ "options": {
1519
+ "legend": {
1520
+ "calcs": [],
1521
+ "displayMode": "table",
1522
+ "placement": "right",
1523
+ "values": ["value"]
1524
+ },
1525
+ "pieType": "donut",
1526
+ "reduceOptions": {
1527
+ "calcs": ["lastNotNull"],
1528
+ "fields": "",
1529
+ "values": false
1530
+ },
1531
+ "tooltip": {
1532
+ "mode": "single"
1533
+ }
1534
+ },
1535
+ "pluginVersion": "6.6.2",
1536
+ "targets": [
1537
+ {
1538
+ "datasource": "Prometheus",
1539
+ "exemplar": false,
1540
+ "expr": "topk(1, blocky_blacklist_cache) by (group)",
1541
+ "format": "time_series",
1542
+ "instant": true,
1543
+ "interval": "",
1544
+ "legendFormat": "{{ group }}",
1545
+ "refId": "A"
1546
+ }
1547
+ ],
1548
+ "title": "Blacklist by group",
1549
+ "transparent": true,
1550
+ "type": "piechart"
1551
+ },
1552
+ {
1553
+ "fieldConfig": {
1554
+ "defaults": {
1555
+ "color": {
1556
+ "mode": "palette-classic"
1557
+ },
1558
+ "custom": {
1559
+ "hideFrom": {
1560
+ "legend": false,
1561
+ "tooltip": false,
1562
+ "viz": false
1563
+ }
1564
+ },
1565
+ "decimals": 0,
1566
+ "mappings": [],
1567
+ "unit": "short"
1568
+ },
1569
+ "overrides": []
1570
+ },
1571
+ "gridPos": {
1572
+ "h": 8,
1573
+ "w": 12,
1574
+ "x": 12,
1575
+ "y": 46
1576
+ },
1577
+ "id": 14,
1578
+ "links": [],
1579
+ "maxDataPoints": 3,
1580
+ "options": {
1581
+ "legend": {
1582
+ "calcs": [],
1583
+ "displayMode": "table",
1584
+ "placement": "right",
1585
+ "values": ["value", "percent"]
1586
+ },
1587
+ "pieType": "donut",
1588
+ "reduceOptions": {
1589
+ "calcs": ["lastNotNull"],
1590
+ "fields": "",
1591
+ "values": false
1592
+ },
1593
+ "tooltip": {
1594
+ "mode": "single"
1595
+ }
1596
+ },
1597
+ "targets": [
1598
+ {
1599
+ "datasource": "Prometheus",
1600
+ "exemplar": false,
1601
+ "expr": " sort_desc(sum by (reason) (ceil(increase(blocky_response_total[$__range]))))",
1602
+ "format": "time_series",
1603
+ "instant": true,
1604
+ "interval": "",
1605
+ "legendFormat": "{{reason}}",
1606
+ "refId": "A"
1607
+ }
1608
+ ],
1609
+ "title": "Response Reasons",
1610
+ "transparent": true,
1611
+ "type": "piechart"
1612
+ },
1613
+ {
1614
+ "fieldConfig": {
1615
+ "defaults": {
1616
+ "color": {
1617
+ "mode": "palette-classic"
1618
+ },
1619
+ "custom": {
1620
+ "hideFrom": {
1621
+ "legend": false,
1622
+ "tooltip": false,
1623
+ "viz": false
1624
+ }
1625
+ },
1626
+ "decimals": 0,
1627
+ "mappings": [],
1628
+ "unit": "short"
1629
+ },
1630
+ "overrides": []
1631
+ },
1632
+ "gridPos": {
1633
+ "h": 8,
1634
+ "w": 12,
1635
+ "x": 0,
1636
+ "y": 54
1637
+ },
1638
+ "id": 38,
1639
+ "interval": "",
1640
+ "links": [],
1641
+ "maxDataPoints": 3,
1642
+ "options": {
1643
+ "legend": {
1644
+ "calcs": [],
1645
+ "displayMode": "table",
1646
+ "placement": "right",
1647
+ "values": ["value", "percent"]
1648
+ },
1649
+ "pieType": "donut",
1650
+ "reduceOptions": {
1651
+ "calcs": ["sum"],
1652
+ "fields": "",
1653
+ "values": false
1654
+ },
1655
+ "tooltip": {
1656
+ "mode": "single"
1657
+ }
1658
+ },
1659
+ "targets": [
1660
+ {
1661
+ "datasource": "Prometheus",
1662
+ "exemplar": false,
1663
+ "expr": " sort_desc(sum by (response_type) (ceil(increase(blocky_response_total[$__range]))))",
1664
+ "format": "time_series",
1665
+ "instant": true,
1666
+ "interval": "",
1667
+ "legendFormat": "{{response_type}}",
1668
+ "refId": "A"
1669
+ }
1670
+ ],
1671
+ "title": "Response Type",
1672
+ "transparent": true,
1673
+ "type": "piechart"
1674
+ },
1675
+ {
1676
+ "fieldConfig": {
1677
+ "defaults": {
1678
+ "color": {
1679
+ "mode": "palette-classic"
1680
+ },
1681
+ "custom": {
1682
+ "hideFrom": {
1683
+ "legend": false,
1684
+ "tooltip": false,
1685
+ "viz": false
1686
+ }
1687
+ },
1688
+ "decimals": 0,
1689
+ "mappings": [],
1690
+ "unit": "short"
1691
+ },
1692
+ "overrides": []
1693
+ },
1694
+ "gridPos": {
1695
+ "h": 8,
1696
+ "w": 12,
1697
+ "x": 12,
1698
+ "y": 54
1699
+ },
1700
+ "id": 12,
1701
+ "links": [],
1702
+ "maxDataPoints": 3,
1703
+ "options": {
1704
+ "legend": {
1705
+ "calcs": [],
1706
+ "displayMode": "table",
1707
+ "placement": "right",
1708
+ "values": ["value", "percent"]
1709
+ },
1710
+ "pieType": "donut",
1711
+ "reduceOptions": {
1712
+ "calcs": ["lastNotNull"],
1713
+ "fields": "",
1714
+ "values": false
1715
+ },
1716
+ "tooltip": {
1717
+ "mode": "single"
1718
+ }
1719
+ },
1720
+ "targets": [
1721
+ {
1722
+ "datasource": "Prometheus",
1723
+ "exemplar": false,
1724
+ "expr": " sort_desc(sum by (response_code) (ceil(increase(blocky_response_total[$__range]))))",
1725
+ "format": "time_series",
1726
+ "instant": true,
1727
+ "interval": "",
1728
+ "legendFormat": "{{response_code}}",
1729
+ "refId": "A"
1730
+ }
1731
+ ],
1732
+ "title": "Response status",
1733
+ "transparent": true,
1734
+ "type": "piechart"
1735
+ }
1736
+ ],
1737
+ "refresh": false,
1738
+ "schemaVersion": 34,
1739
+ "style": "dark",
1740
+ "tags": [],
1741
+ "templating": {
1742
+ "list": [
1743
+ {
1744
+ "hide": 2,
1745
+ "label": "blocky API URL",
1746
+ "name": "blocky_url",
1747
+ "query": "${VAR_BLOCKY_URL}",
1748
+ "skipUrlSync": false,
1749
+ "type": "constant",
1750
+ "current": {
1751
+ "value": "${VAR_BLOCKY_URL}",
1752
+ "text": "${VAR_BLOCKY_URL}",
1753
+ "selected": false
1754
+ },
1755
+ "options": [
1756
+ {
1757
+ "value": "${VAR_BLOCKY_URL}",
1758
+ "text": "${VAR_BLOCKY_URL}",
1759
+ "selected": false
1760
+ }
1761
+ ]
1762
+ }
1763
+ ]
1764
+ },
1765
+ "time": {
1766
+ "from": "now-3h",
1767
+ "to": "now"
1768
+ },
1769
+ "timepicker": {
1770
+ "refresh_intervals": ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"]
1771
+ },
1772
+ "timezone": "",
1773
+ "title": "blocky",
1774
+ "uid": "JvOqE4gRk",
1775
+ "version": 1,
1776
+ "weekStart": ""
1777
+ }