@oneuptime/common 11.0.2 → 11.0.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 (344) hide show
  1. package/Models/DatabaseModels/Alert.ts +166 -0
  2. package/Models/DatabaseModels/AlertLabelRule.ts +38 -0
  3. package/Models/DatabaseModels/AlertOwnerRule.ts +38 -0
  4. package/Models/DatabaseModels/DockerSwarmCluster.ts +989 -0
  5. package/Models/DatabaseModels/DockerSwarmClusterLabelRule.ts +514 -0
  6. package/Models/DatabaseModels/DockerSwarmClusterOwnerRule.ts +596 -0
  7. package/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.ts +487 -0
  8. package/Models/DatabaseModels/DockerSwarmClusterOwnerUser.ts +486 -0
  9. package/Models/DatabaseModels/DockerSwarmResource.ts +750 -0
  10. package/Models/DatabaseModels/Incident.ts +166 -0
  11. package/Models/DatabaseModels/IncidentLabelRule.ts +38 -0
  12. package/Models/DatabaseModels/IncidentOwnerRule.ts +38 -0
  13. package/Models/DatabaseModels/IncidentTemplate.ts +56 -0
  14. package/Models/DatabaseModels/Index.ts +24 -0
  15. package/Models/DatabaseModels/PodmanHost.ts +859 -0
  16. package/Models/DatabaseModels/PodmanHostLabelRule.ts +514 -0
  17. package/Models/DatabaseModels/PodmanHostOwnerRule.ts +596 -0
  18. package/Models/DatabaseModels/PodmanHostOwnerTeam.ts +487 -0
  19. package/Models/DatabaseModels/PodmanHostOwnerUser.ts +486 -0
  20. package/Models/DatabaseModels/PodmanResource.ts +498 -0
  21. package/Models/DatabaseModels/ScheduledMaintenance.ts +110 -0
  22. package/Models/DatabaseModels/ScheduledMaintenanceLabelRule.ts +38 -0
  23. package/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.ts +38 -0
  24. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +56 -0
  25. package/Models/DatabaseModels/TelemetryException.ts +2 -0
  26. package/Server/API/DashboardAPI.ts +89 -0
  27. package/Server/API/DockerSwarmResourceAPI.ts +137 -0
  28. package/Server/API/TelemetryAPI.ts +8 -1
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.ts +3199 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  31. package/Server/Services/AlertLabelRuleEngineService.ts +29 -0
  32. package/Server/Services/AlertOwnerRuleEngineService.ts +67 -0
  33. package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +214 -0
  34. package/Server/Services/DockerSwarmClusterLabelRuleService.ts +14 -0
  35. package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +232 -0
  36. package/Server/Services/DockerSwarmClusterOwnerRuleService.ts +14 -0
  37. package/Server/Services/DockerSwarmClusterOwnerTeamService.ts +10 -0
  38. package/Server/Services/DockerSwarmClusterOwnerUserService.ts +10 -0
  39. package/Server/Services/DockerSwarmClusterService.ts +404 -0
  40. package/Server/Services/DockerSwarmResourceService.ts +381 -0
  41. package/Server/Services/ExceptionAggregationService.ts +1 -0
  42. package/Server/Services/IncidentLabelRuleEngineService.ts +27 -0
  43. package/Server/Services/IncidentOwnerRuleEngineService.ts +67 -0
  44. package/Server/Services/IncidentService.ts +11 -0
  45. package/Server/Services/Index.ts +14 -0
  46. package/Server/Services/LogAggregationService.ts +1 -0
  47. package/Server/Services/MetricAggregationService.ts +1 -0
  48. package/Server/Services/OpenTelemetryIngestService.ts +37 -0
  49. package/Server/Services/PodmanHostLabelRuleEngineService.ts +198 -0
  50. package/Server/Services/PodmanHostLabelRuleService.ts +14 -0
  51. package/Server/Services/PodmanHostOwnerRuleEngineService.ts +216 -0
  52. package/Server/Services/PodmanHostOwnerRuleService.ts +14 -0
  53. package/Server/Services/PodmanHostOwnerTeamService.ts +10 -0
  54. package/Server/Services/PodmanHostOwnerUserService.ts +10 -0
  55. package/Server/Services/PodmanHostService.ts +368 -0
  56. package/Server/Services/PodmanResourceService.ts +310 -0
  57. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +29 -0
  58. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +67 -0
  59. package/Server/Services/TelemetryUsageBillingService.ts +18 -0
  60. package/Server/Services/TraceAggregationService.ts +1 -0
  61. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +13 -0
  62. package/Server/Utils/Monitor/MonitorAlert.ts +10 -0
  63. package/Server/Utils/Monitor/MonitorClusterContext.ts +35 -6
  64. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +306 -0
  65. package/Server/Utils/Monitor/MonitorIncident.ts +45 -0
  66. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +17 -0
  67. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +3 -0
  68. package/Server/Utils/Monitor/SeriesResourceLabels.ts +26 -0
  69. package/Server/Utils/Telemetry/ResourceFacetResolver.ts +49 -0
  70. package/Server/Utils/Telemetry/Telemetry.ts +10 -0
  71. package/Server/Utils/Telemetry/TelemetryEntity.ts +22 -0
  72. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +1 -0
  73. package/Tests/Types/DockerSwarm/DockerSwarmInventoryExtractor.test.ts +667 -0
  74. package/Tests/Types/Monitor/DockerSwarmAlertTemplates.test.ts +528 -0
  75. package/Types/Dashboard/DashboardComponentType.ts +7 -0
  76. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +2 -0
  77. package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.ts +17 -0
  78. package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.ts +17 -0
  79. package/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.ts +16 -0
  80. package/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.ts +15 -0
  81. package/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.ts +16 -0
  82. package/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.ts +15 -0
  83. package/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.ts +15 -0
  84. package/Types/Dashboard/DashboardTemplates.ts +194 -0
  85. package/Types/DockerSwarm/DockerSwarmInventoryExtractor.ts +452 -0
  86. package/Types/Icon/IconProp.ts +1 -0
  87. package/Types/Monitor/DockerSwarmAlertTemplates.ts +461 -0
  88. package/Types/Monitor/DockerSwarmMetricCatalog.ts +139 -0
  89. package/Types/Monitor/HostAlertTemplates.ts +455 -0
  90. package/Types/Monitor/HostMetricCatalog.ts +177 -0
  91. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +21 -0
  92. package/Types/Monitor/MonitorStep.ts +99 -0
  93. package/Types/Monitor/MonitorStepDockerSwarmMonitor.ts +74 -0
  94. package/Types/Monitor/MonitorStepHostMonitor.ts +30 -0
  95. package/Types/Monitor/MonitorStepPodmanMonitor.ts +38 -0
  96. package/Types/Monitor/MonitorType.ts +42 -0
  97. package/Types/Monitor/PodmanAlertTemplates.ts +507 -0
  98. package/Types/Monitor/PodmanMetricCatalog.ts +226 -0
  99. package/Types/Permission.ts +465 -4
  100. package/Types/Podman/PodmanInventoryExtractor.ts +343 -0
  101. package/Types/Telemetry/EntityType.ts +12 -0
  102. package/Types/Telemetry/ServiceType.ts +2 -0
  103. package/UI/Components/Icon/Icon.tsx +57 -0
  104. package/UI/Components/LogsViewer/LogsViewer.tsx +44 -1
  105. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +28 -0
  106. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +6 -0
  107. package/UI/Utils/TelemetryService.ts +1 -0
  108. package/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.ts +70 -0
  109. package/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.ts +61 -0
  110. package/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.ts +71 -0
  111. package/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.ts +100 -0
  112. package/Utils/Dashboard/Components/DashboardPodmanHostListComponent.ts +88 -0
  113. package/Utils/Dashboard/Components/DashboardPodmanImageListComponent.ts +97 -0
  114. package/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.ts +87 -0
  115. package/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.ts +87 -0
  116. package/Utils/Dashboard/Components/Index.ts +51 -0
  117. package/Utils/Telemetry/EntityKey.ts +18 -0
  118. package/build/dist/Models/DatabaseModels/Alert.js +162 -0
  119. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  120. package/build/dist/Models/DatabaseModels/AlertLabelRule.js +39 -0
  121. package/build/dist/Models/DatabaseModels/AlertLabelRule.js.map +1 -1
  122. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js +39 -0
  123. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js.map +1 -1
  124. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +1018 -0
  125. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -0
  126. package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js +522 -0
  127. package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js.map +1 -0
  128. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js +603 -0
  129. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js.map +1 -0
  130. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js +503 -0
  131. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js.map +1 -0
  132. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js +502 -0
  133. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js.map +1 -0
  134. package/build/dist/Models/DatabaseModels/DockerSwarmResource.js +787 -0
  135. package/build/dist/Models/DatabaseModels/DockerSwarmResource.js.map +1 -0
  136. package/build/dist/Models/DatabaseModels/Incident.js +162 -0
  137. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  138. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js +39 -0
  139. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js.map +1 -1
  140. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js +39 -0
  141. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js.map +1 -1
  142. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +54 -0
  143. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  144. package/build/dist/Models/DatabaseModels/Index.js +24 -0
  145. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  146. package/build/dist/Models/DatabaseModels/PodmanHost.js +885 -0
  147. package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -0
  148. package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js +522 -0
  149. package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js.map +1 -0
  150. package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js +603 -0
  151. package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js.map +1 -0
  152. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js +503 -0
  153. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js.map +1 -0
  154. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js +502 -0
  155. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js.map +1 -0
  156. package/build/dist/Models/DatabaseModels/PodmanResource.js +526 -0
  157. package/build/dist/Models/DatabaseModels/PodmanResource.js.map +1 -0
  158. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +108 -0
  159. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  160. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js +39 -0
  161. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js.map +1 -1
  162. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js +39 -0
  163. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js.map +1 -1
  164. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +54 -0
  165. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  166. package/build/dist/Models/DatabaseModels/TelemetryException.js +2 -0
  167. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  168. package/build/dist/Server/API/DashboardAPI.js +89 -0
  169. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  170. package/build/dist/Server/API/DockerSwarmResourceAPI.js +100 -0
  171. package/build/dist/Server/API/DockerSwarmResourceAPI.js.map +1 -0
  172. package/build/dist/Server/API/TelemetryAPI.js +8 -1
  173. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  174. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js +1100 -0
  175. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js.map +1 -0
  176. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  177. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  178. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +30 -4
  179. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  180. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +62 -5
  181. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  182. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +168 -0
  183. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -0
  184. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js +13 -0
  185. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js.map +1 -0
  186. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +188 -0
  187. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -0
  188. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js +13 -0
  189. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js.map +1 -0
  190. package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js +9 -0
  191. package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js.map +1 -0
  192. package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js +9 -0
  193. package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js.map +1 -0
  194. package/build/dist/Server/Services/DockerSwarmClusterService.js +353 -0
  195. package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -0
  196. package/build/dist/Server/Services/DockerSwarmResourceService.js +258 -0
  197. package/build/dist/Server/Services/DockerSwarmResourceService.js.map +1 -0
  198. package/build/dist/Server/Services/ExceptionAggregationService.js +1 -0
  199. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  200. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +28 -4
  201. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
  202. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +62 -5
  203. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
  204. package/build/dist/Server/Services/IncidentService.js +8 -0
  205. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  206. package/build/dist/Server/Services/Index.js +14 -0
  207. package/build/dist/Server/Services/Index.js.map +1 -1
  208. package/build/dist/Server/Services/LogAggregationService.js +1 -0
  209. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  210. package/build/dist/Server/Services/MetricAggregationService.js +1 -0
  211. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  212. package/build/dist/Server/Services/OpenTelemetryIngestService.js +43 -13
  213. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  214. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +166 -0
  215. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -0
  216. package/build/dist/Server/Services/PodmanHostLabelRuleService.js +13 -0
  217. package/build/dist/Server/Services/PodmanHostLabelRuleService.js.map +1 -0
  218. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +186 -0
  219. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -0
  220. package/build/dist/Server/Services/PodmanHostOwnerRuleService.js +13 -0
  221. package/build/dist/Server/Services/PodmanHostOwnerRuleService.js.map +1 -0
  222. package/build/dist/Server/Services/PodmanHostOwnerTeamService.js +9 -0
  223. package/build/dist/Server/Services/PodmanHostOwnerTeamService.js.map +1 -0
  224. package/build/dist/Server/Services/PodmanHostOwnerUserService.js +9 -0
  225. package/build/dist/Server/Services/PodmanHostOwnerUserService.js.map +1 -0
  226. package/build/dist/Server/Services/PodmanHostService.js +319 -0
  227. package/build/dist/Server/Services/PodmanHostService.js.map +1 -0
  228. package/build/dist/Server/Services/PodmanResourceService.js +196 -0
  229. package/build/dist/Server/Services/PodmanResourceService.js.map +1 -0
  230. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +30 -4
  231. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  232. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +62 -5
  233. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  234. package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
  235. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  236. package/build/dist/Server/Services/TraceAggregationService.js +1 -0
  237. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  238. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +13 -0
  239. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  240. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +8 -0
  241. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  242. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +35 -7
  243. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
  244. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +194 -0
  245. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  246. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +35 -1
  247. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  248. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +9 -0
  249. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  250. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +3 -0
  251. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  252. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +16 -0
  253. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  254. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +30 -0
  255. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  256. package/build/dist/Server/Utils/Telemetry/Telemetry.js +6 -0
  257. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  258. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +18 -0
  259. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  260. package/build/dist/Types/Dashboard/DashboardComponentType.js +7 -0
  261. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  262. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +2 -0
  263. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  264. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js +2 -0
  265. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js.map +1 -0
  266. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js +2 -0
  267. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js.map +1 -0
  268. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js +2 -0
  269. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js.map +1 -0
  270. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js +2 -0
  271. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js.map +1 -0
  272. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js +2 -0
  273. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js.map +1 -0
  274. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js +2 -0
  275. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js.map +1 -0
  276. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js +2 -0
  277. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js.map +1 -0
  278. package/build/dist/Types/Dashboard/DashboardTemplates.js +168 -0
  279. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  280. package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.js +359 -0
  281. package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.js.map +1 -0
  282. package/build/dist/Types/Icon/IconProp.js +1 -0
  283. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  284. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js +358 -0
  285. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js.map +1 -0
  286. package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js +103 -0
  287. package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js.map +1 -0
  288. package/build/dist/Types/Monitor/HostAlertTemplates.js +365 -0
  289. package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -0
  290. package/build/dist/Types/Monitor/HostMetricCatalog.js +138 -0
  291. package/build/dist/Types/Monitor/HostMetricCatalog.js.map +1 -0
  292. package/build/dist/Types/Monitor/MonitorStep.js +69 -0
  293. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  294. package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js +21 -0
  295. package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js.map +1 -0
  296. package/build/dist/Types/Monitor/MonitorStepHostMonitor.js +20 -0
  297. package/build/dist/Types/Monitor/MonitorStepHostMonitor.js.map +1 -0
  298. package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js +21 -0
  299. package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js.map +1 -0
  300. package/build/dist/Types/Monitor/MonitorType.js +39 -0
  301. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  302. package/build/dist/Types/Monitor/PodmanAlertTemplates.js +410 -0
  303. package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -0
  304. package/build/dist/Types/Monitor/PodmanMetricCatalog.js +192 -0
  305. package/build/dist/Types/Monitor/PodmanMetricCatalog.js.map +1 -0
  306. package/build/dist/Types/Permission.js +420 -4
  307. package/build/dist/Types/Permission.js.map +1 -1
  308. package/build/dist/Types/Podman/PodmanInventoryExtractor.js +293 -0
  309. package/build/dist/Types/Podman/PodmanInventoryExtractor.js.map +1 -0
  310. package/build/dist/Types/Telemetry/EntityType.js +12 -0
  311. package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
  312. package/build/dist/Types/Telemetry/ServiceType.js +2 -0
  313. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  314. package/build/dist/UI/Components/Icon/Icon.js +16 -0
  315. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  316. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +30 -2
  317. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  318. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +22 -0
  319. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  320. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +6 -0
  321. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  322. package/build/dist/UI/Utils/TelemetryService.js +1 -0
  323. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  324. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js +55 -0
  325. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js.map +1 -0
  326. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js +46 -0
  327. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js.map +1 -0
  328. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js +55 -0
  329. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js.map +1 -0
  330. package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js +77 -0
  331. package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js.map +1 -0
  332. package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js +71 -0
  333. package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js.map +1 -0
  334. package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js +77 -0
  335. package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js.map +1 -0
  336. package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js +68 -0
  337. package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js.map +1 -0
  338. package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js +68 -0
  339. package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js.map +1 -0
  340. package/build/dist/Utils/Dashboard/Components/Index.js +28 -0
  341. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  342. package/build/dist/Utils/Telemetry/EntityKey.js +14 -0
  343. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
  344. package/package.json +1 -1
@@ -0,0 +1,70 @@
1
+ import DashboardDockerSwarmNodeListComponent from "../../../Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent";
2
+ import { ObjectType } from "../../../Types/JSON";
3
+ import ObjectID from "../../../Types/ObjectID";
4
+ import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
+ import {
6
+ ComponentArgument,
7
+ ComponentInputType,
8
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
9
+ import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
10
+ import {
11
+ DockerSwarmFiltersSection,
12
+ getDockerSwarmCommonArguments,
13
+ } from "./DashboardDockerSwarmResourceListShared";
14
+
15
+ export default class DashboardDockerSwarmNodeListComponentUtil extends DashboardBaseComponentUtil {
16
+ public static override getDefaultComponent(): DashboardDockerSwarmNodeListComponent {
17
+ return {
18
+ _type: ObjectType.DashboardComponent,
19
+ componentType: DashboardComponentType.DockerSwarmNodeList,
20
+ widthInDashboardUnits: 6,
21
+ heightInDashboardUnits: 4,
22
+ topInDashboardUnits: 0,
23
+ leftInDashboardUnits: 0,
24
+ componentId: ObjectID.generate(),
25
+ minHeightInDashboardUnits: 3,
26
+ minWidthInDashboardUnits: 6,
27
+ arguments: {
28
+ maxRows: 25,
29
+ },
30
+ };
31
+ }
32
+
33
+ public static override getComponentConfigArguments(): Array<
34
+ ComponentArgument<DashboardDockerSwarmNodeListComponent>
35
+ > {
36
+ const args: Array<
37
+ ComponentArgument<DashboardDockerSwarmNodeListComponent>
38
+ > = getDockerSwarmCommonArguments<DashboardDockerSwarmNodeListComponent>();
39
+
40
+ args.push({
41
+ name: "Role",
42
+ description: "Show only manager nodes or only worker nodes",
43
+ required: false,
44
+ type: ComponentInputType.Dropdown,
45
+ id: "roleFilter",
46
+ section: DockerSwarmFiltersSection,
47
+ dropdownOptions: [
48
+ { label: "All", value: "" },
49
+ { label: "Managers only", value: "manager" },
50
+ { label: "Workers only", value: "worker" },
51
+ ],
52
+ });
53
+
54
+ args.push({
55
+ name: "Status",
56
+ description: "Quick filter by node readiness",
57
+ required: false,
58
+ type: ComponentInputType.Dropdown,
59
+ id: "statusFilter",
60
+ section: DockerSwarmFiltersSection,
61
+ dropdownOptions: [
62
+ { label: "All", value: "" },
63
+ { label: "Ready only", value: "ready" },
64
+ { label: "Not ready only", value: "notready" },
65
+ ],
66
+ });
67
+
68
+ return args;
69
+ }
70
+ }
@@ -0,0 +1,61 @@
1
+ import {
2
+ ComponentArgument,
3
+ ComponentArgumentSection,
4
+ ComponentInputType,
5
+ EntityFilterModelType,
6
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
7
+ import DashboardBaseComponent from "../../../Types/Dashboard/DashboardComponents/DashboardBaseComponent";
8
+ import { getViewModeArgument } from "./DashboardListSharedArgs";
9
+
10
+ export const DockerSwarmDisplaySection: ComponentArgumentSection = {
11
+ name: "Display Options",
12
+ description: "Configure the widget title and row limit",
13
+ order: 1,
14
+ };
15
+
16
+ export const DockerSwarmFiltersSection: ComponentArgumentSection = {
17
+ name: "Filters",
18
+ description: "Narrow down which resources are shown",
19
+ order: 2,
20
+ defaultCollapsed: true,
21
+ };
22
+
23
+ export function getDockerSwarmCommonArguments<
24
+ T extends DashboardBaseComponent,
25
+ >(): Array<ComponentArgument<T>> {
26
+ const args: Array<ComponentArgument<T>> = [];
27
+
28
+ args.push({
29
+ name: "Title",
30
+ description: "Header shown above the list",
31
+ required: false,
32
+ type: ComponentInputType.Text,
33
+ id: "title" as keyof T["arguments"],
34
+ section: DockerSwarmDisplaySection,
35
+ });
36
+
37
+ args.push({
38
+ name: "Max Rows",
39
+ description: "Maximum number of rows to show",
40
+ required: false,
41
+ type: ComponentInputType.Number,
42
+ id: "maxRows" as keyof T["arguments"],
43
+ placeholder: "25",
44
+ section: DockerSwarmDisplaySection,
45
+ });
46
+
47
+ args.push(getViewModeArgument<T>(DockerSwarmDisplaySection));
48
+
49
+ args.push({
50
+ name: "Clusters",
51
+ description: "Show only resources from the selected Docker Swarm clusters",
52
+ required: false,
53
+ type: ComponentInputType.EntityMultiSelectDropdown,
54
+ id: "dockerSwarmClusterIds" as keyof T["arguments"],
55
+ placeholder: "All clusters",
56
+ section: DockerSwarmFiltersSection,
57
+ entityFilterModelType: EntityFilterModelType.DockerSwarmCluster,
58
+ });
59
+
60
+ return args;
61
+ }
@@ -0,0 +1,71 @@
1
+ import DashboardDockerSwarmServiceListComponent from "../../../Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent";
2
+ import { ObjectType } from "../../../Types/JSON";
3
+ import ObjectID from "../../../Types/ObjectID";
4
+ import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
+ import {
6
+ ComponentArgument,
7
+ ComponentInputType,
8
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
9
+ import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
10
+ import {
11
+ DockerSwarmFiltersSection,
12
+ getDockerSwarmCommonArguments,
13
+ } from "./DashboardDockerSwarmResourceListShared";
14
+
15
+ export default class DashboardDockerSwarmServiceListComponentUtil extends DashboardBaseComponentUtil {
16
+ public static override getDefaultComponent(): DashboardDockerSwarmServiceListComponent {
17
+ return {
18
+ _type: ObjectType.DashboardComponent,
19
+ componentType: DashboardComponentType.DockerSwarmServiceList,
20
+ widthInDashboardUnits: 6,
21
+ heightInDashboardUnits: 4,
22
+ topInDashboardUnits: 0,
23
+ leftInDashboardUnits: 0,
24
+ componentId: ObjectID.generate(),
25
+ minHeightInDashboardUnits: 3,
26
+ minWidthInDashboardUnits: 6,
27
+ arguments: {
28
+ maxRows: 25,
29
+ },
30
+ };
31
+ }
32
+
33
+ public static override getComponentConfigArguments(): Array<
34
+ ComponentArgument<DashboardDockerSwarmServiceListComponent>
35
+ > {
36
+ const args: Array<
37
+ ComponentArgument<DashboardDockerSwarmServiceListComponent>
38
+ > =
39
+ getDockerSwarmCommonArguments<DashboardDockerSwarmServiceListComponent>();
40
+
41
+ args.push({
42
+ name: "Service Mode",
43
+ description: "Show only replicated services or only global services",
44
+ required: false,
45
+ type: ComponentInputType.Dropdown,
46
+ id: "serviceModeFilter",
47
+ section: DockerSwarmFiltersSection,
48
+ dropdownOptions: [
49
+ { label: "All", value: "" },
50
+ { label: "Replicated only", value: "replicated" },
51
+ { label: "Global only", value: "global" },
52
+ ],
53
+ });
54
+
55
+ args.push({
56
+ name: "Status",
57
+ description: "Quick filter by whether the service is fully converged",
58
+ required: false,
59
+ type: ComponentInputType.Dropdown,
60
+ id: "statusFilter",
61
+ section: DockerSwarmFiltersSection,
62
+ dropdownOptions: [
63
+ { label: "All", value: "" },
64
+ { label: "Converged only", value: "converged" },
65
+ { label: "Not converged only", value: "notconverged" },
66
+ ],
67
+ });
68
+
69
+ return args;
70
+ }
71
+ }
@@ -0,0 +1,100 @@
1
+ import DashboardPodmanContainerListComponent from "../../../Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent";
2
+ import { ObjectType } from "../../../Types/JSON";
3
+ import ObjectID from "../../../Types/ObjectID";
4
+ import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
+ import {
6
+ ComponentArgument,
7
+ ComponentArgumentSection,
8
+ ComponentInputType,
9
+ EntityFilterModelType,
10
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
11
+ import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
12
+ import { getViewModeArgument } from "./DashboardListSharedArgs";
13
+
14
+ const DisplaySection: ComponentArgumentSection = {
15
+ name: "Display Options",
16
+ description: "Configure the widget title and row limit",
17
+ order: 1,
18
+ };
19
+
20
+ const FiltersSection: ComponentArgumentSection = {
21
+ name: "Filters",
22
+ description: "Narrow down which containers are shown",
23
+ order: 2,
24
+ defaultCollapsed: true,
25
+ };
26
+
27
+ export default class DashboardPodmanContainerListComponentUtil extends DashboardBaseComponentUtil {
28
+ public static override getDefaultComponent(): DashboardPodmanContainerListComponent {
29
+ return {
30
+ _type: ObjectType.DashboardComponent,
31
+ componentType: DashboardComponentType.PodmanContainerList,
32
+ widthInDashboardUnits: 6,
33
+ heightInDashboardUnits: 4,
34
+ topInDashboardUnits: 0,
35
+ leftInDashboardUnits: 0,
36
+ componentId: ObjectID.generate(),
37
+ minHeightInDashboardUnits: 3,
38
+ minWidthInDashboardUnits: 6,
39
+ arguments: {
40
+ maxRows: 25,
41
+ },
42
+ };
43
+ }
44
+
45
+ public static override getComponentConfigArguments(): Array<
46
+ ComponentArgument<DashboardPodmanContainerListComponent>
47
+ > {
48
+ const args: Array<
49
+ ComponentArgument<DashboardPodmanContainerListComponent>
50
+ > = [];
51
+
52
+ args.push({
53
+ name: "Title",
54
+ description: "Header shown above the container list",
55
+ required: false,
56
+ type: ComponentInputType.Text,
57
+ id: "title",
58
+ section: DisplaySection,
59
+ });
60
+
61
+ args.push({
62
+ name: "Max Rows",
63
+ description: "Maximum number of containers to show",
64
+ required: false,
65
+ type: ComponentInputType.Number,
66
+ id: "maxRows",
67
+ placeholder: "25",
68
+ section: DisplaySection,
69
+ });
70
+
71
+ args.push(
72
+ getViewModeArgument<DashboardPodmanContainerListComponent>(
73
+ DisplaySection,
74
+ ),
75
+ );
76
+
77
+ args.push({
78
+ name: "Hosts",
79
+ description: "Show only containers from the selected hosts",
80
+ required: false,
81
+ type: ComponentInputType.EntityMultiSelectDropdown,
82
+ id: "podmanHostIds",
83
+ placeholder: "All hosts",
84
+ section: FiltersSection,
85
+ entityFilterModelType: EntityFilterModelType.PodmanHost,
86
+ });
87
+
88
+ args.push({
89
+ name: "Image Name",
90
+ description: "Substring of the container image to match (e.g. nginx)",
91
+ required: false,
92
+ type: ComponentInputType.Text,
93
+ id: "imageName",
94
+ placeholder: "nginx",
95
+ section: FiltersSection,
96
+ });
97
+
98
+ return args;
99
+ }
100
+ }
@@ -0,0 +1,88 @@
1
+ import DashboardPodmanHostListComponent from "../../../Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent";
2
+ import { ObjectType } from "../../../Types/JSON";
3
+ import ObjectID from "../../../Types/ObjectID";
4
+ import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
+ import {
6
+ ComponentArgument,
7
+ ComponentArgumentSection,
8
+ ComponentInputType,
9
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
10
+ import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
11
+ import { getViewModeArgument } from "./DashboardListSharedArgs";
12
+
13
+ const DisplaySection: ComponentArgumentSection = {
14
+ name: "Display Options",
15
+ description: "Configure the widget title and row limit",
16
+ order: 1,
17
+ };
18
+
19
+ const FiltersSection: ComponentArgumentSection = {
20
+ name: "Filters",
21
+ description: "Narrow down which Podman hosts are shown",
22
+ order: 2,
23
+ defaultCollapsed: true,
24
+ };
25
+
26
+ export default class DashboardPodmanHostListComponentUtil extends DashboardBaseComponentUtil {
27
+ public static override getDefaultComponent(): DashboardPodmanHostListComponent {
28
+ return {
29
+ _type: ObjectType.DashboardComponent,
30
+ componentType: DashboardComponentType.PodmanHostList,
31
+ widthInDashboardUnits: 6,
32
+ heightInDashboardUnits: 4,
33
+ topInDashboardUnits: 0,
34
+ leftInDashboardUnits: 0,
35
+ componentId: ObjectID.generate(),
36
+ minHeightInDashboardUnits: 3,
37
+ minWidthInDashboardUnits: 6,
38
+ arguments: {
39
+ maxRows: 25,
40
+ },
41
+ };
42
+ }
43
+
44
+ public static override getComponentConfigArguments(): Array<
45
+ ComponentArgument<DashboardPodmanHostListComponent>
46
+ > {
47
+ const args: Array<ComponentArgument<DashboardPodmanHostListComponent>> = [];
48
+
49
+ args.push({
50
+ name: "Title",
51
+ description: "Header shown above the host list",
52
+ required: false,
53
+ type: ComponentInputType.Text,
54
+ id: "title",
55
+ section: DisplaySection,
56
+ });
57
+
58
+ args.push({
59
+ name: "Max Rows",
60
+ description: "Maximum number of hosts to show",
61
+ required: false,
62
+ type: ComponentInputType.Number,
63
+ id: "maxRows",
64
+ placeholder: "25",
65
+ section: DisplaySection,
66
+ });
67
+
68
+ args.push(
69
+ getViewModeArgument<DashboardPodmanHostListComponent>(DisplaySection),
70
+ );
71
+
72
+ args.push({
73
+ name: "Connection Status",
74
+ description: "Quick filter by OTel collector status",
75
+ required: false,
76
+ type: ComponentInputType.Dropdown,
77
+ id: "statusFilter",
78
+ section: FiltersSection,
79
+ dropdownOptions: [
80
+ { label: "All", value: "" },
81
+ { label: "Connected only", value: "connected" },
82
+ { label: "Disconnected only", value: "disconnected" },
83
+ ],
84
+ });
85
+
86
+ return args;
87
+ }
88
+ }
@@ -0,0 +1,97 @@
1
+ import DashboardPodmanImageListComponent from "../../../Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent";
2
+ import { ObjectType } from "../../../Types/JSON";
3
+ import ObjectID from "../../../Types/ObjectID";
4
+ import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
+ import {
6
+ ComponentArgument,
7
+ ComponentArgumentSection,
8
+ ComponentInputType,
9
+ EntityFilterModelType,
10
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
11
+ import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
12
+ import { getViewModeArgument } from "./DashboardListSharedArgs";
13
+
14
+ const DisplaySection: ComponentArgumentSection = {
15
+ name: "Display Options",
16
+ description: "Configure the widget title and row limit",
17
+ order: 1,
18
+ };
19
+
20
+ const FiltersSection: ComponentArgumentSection = {
21
+ name: "Filters",
22
+ description: "Narrow down which images are shown",
23
+ order: 2,
24
+ defaultCollapsed: true,
25
+ };
26
+
27
+ export default class DashboardPodmanImageListComponentUtil extends DashboardBaseComponentUtil {
28
+ public static override getDefaultComponent(): DashboardPodmanImageListComponent {
29
+ return {
30
+ _type: ObjectType.DashboardComponent,
31
+ componentType: DashboardComponentType.PodmanImageList,
32
+ widthInDashboardUnits: 6,
33
+ heightInDashboardUnits: 4,
34
+ topInDashboardUnits: 0,
35
+ leftInDashboardUnits: 0,
36
+ componentId: ObjectID.generate(),
37
+ minHeightInDashboardUnits: 3,
38
+ minWidthInDashboardUnits: 6,
39
+ arguments: {
40
+ maxRows: 25,
41
+ },
42
+ };
43
+ }
44
+
45
+ public static override getComponentConfigArguments(): Array<
46
+ ComponentArgument<DashboardPodmanImageListComponent>
47
+ > {
48
+ const args: Array<ComponentArgument<DashboardPodmanImageListComponent>> =
49
+ [];
50
+
51
+ args.push({
52
+ name: "Title",
53
+ description: "Header shown above the image list",
54
+ required: false,
55
+ type: ComponentInputType.Text,
56
+ id: "title",
57
+ section: DisplaySection,
58
+ });
59
+
60
+ args.push({
61
+ name: "Max Rows",
62
+ description: "Maximum number of images to show",
63
+ required: false,
64
+ type: ComponentInputType.Number,
65
+ id: "maxRows",
66
+ placeholder: "25",
67
+ section: DisplaySection,
68
+ });
69
+
70
+ args.push(
71
+ getViewModeArgument<DashboardPodmanImageListComponent>(DisplaySection),
72
+ );
73
+
74
+ args.push({
75
+ name: "Hosts",
76
+ description: "Show only images from the selected hosts",
77
+ required: false,
78
+ type: ComponentInputType.EntityMultiSelectDropdown,
79
+ id: "podmanHostIds",
80
+ placeholder: "All hosts",
81
+ section: FiltersSection,
82
+ entityFilterModelType: EntityFilterModelType.PodmanHost,
83
+ });
84
+
85
+ args.push({
86
+ name: "Name Contains",
87
+ description: "Show only images whose name contains this substring",
88
+ required: false,
89
+ type: ComponentInputType.Text,
90
+ id: "nameSearch",
91
+ placeholder: "nginx",
92
+ section: FiltersSection,
93
+ });
94
+
95
+ return args;
96
+ }
97
+ }
@@ -0,0 +1,87 @@
1
+ import DashboardPodmanNetworkListComponent from "../../../Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent";
2
+ import { ObjectType } from "../../../Types/JSON";
3
+ import ObjectID from "../../../Types/ObjectID";
4
+ import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
+ import {
6
+ ComponentArgument,
7
+ ComponentArgumentSection,
8
+ ComponentInputType,
9
+ EntityFilterModelType,
10
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
11
+ import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
12
+ import { getViewModeArgument } from "./DashboardListSharedArgs";
13
+
14
+ const DisplaySection: ComponentArgumentSection = {
15
+ name: "Display Options",
16
+ description: "Configure the widget title and row limit",
17
+ order: 1,
18
+ };
19
+
20
+ const FiltersSection: ComponentArgumentSection = {
21
+ name: "Filters",
22
+ description: "Narrow down which networks are shown",
23
+ order: 2,
24
+ defaultCollapsed: true,
25
+ };
26
+
27
+ export default class DashboardPodmanNetworkListComponentUtil extends DashboardBaseComponentUtil {
28
+ public static override getDefaultComponent(): DashboardPodmanNetworkListComponent {
29
+ return {
30
+ _type: ObjectType.DashboardComponent,
31
+ componentType: DashboardComponentType.PodmanNetworkList,
32
+ widthInDashboardUnits: 6,
33
+ heightInDashboardUnits: 4,
34
+ topInDashboardUnits: 0,
35
+ leftInDashboardUnits: 0,
36
+ componentId: ObjectID.generate(),
37
+ minHeightInDashboardUnits: 3,
38
+ minWidthInDashboardUnits: 6,
39
+ arguments: {
40
+ maxRows: 25,
41
+ },
42
+ };
43
+ }
44
+
45
+ public static override getComponentConfigArguments(): Array<
46
+ ComponentArgument<DashboardPodmanNetworkListComponent>
47
+ > {
48
+ const args: Array<ComponentArgument<DashboardPodmanNetworkListComponent>> =
49
+ [];
50
+
51
+ args.push({
52
+ name: "Title",
53
+ description: "Header shown above the network list",
54
+ required: false,
55
+ type: ComponentInputType.Text,
56
+ id: "title",
57
+ section: DisplaySection,
58
+ });
59
+
60
+ args.push({
61
+ name: "Max Rows",
62
+ description: "Maximum number of networks to show",
63
+ required: false,
64
+ type: ComponentInputType.Number,
65
+ id: "maxRows",
66
+ placeholder: "25",
67
+ section: DisplaySection,
68
+ });
69
+
70
+ args.push(
71
+ getViewModeArgument<DashboardPodmanNetworkListComponent>(DisplaySection),
72
+ );
73
+
74
+ args.push({
75
+ name: "Hosts",
76
+ description: "Show only networks from the selected hosts",
77
+ required: false,
78
+ type: ComponentInputType.EntityMultiSelectDropdown,
79
+ id: "podmanHostIds",
80
+ placeholder: "All hosts",
81
+ section: FiltersSection,
82
+ entityFilterModelType: EntityFilterModelType.PodmanHost,
83
+ });
84
+
85
+ return args;
86
+ }
87
+ }
@@ -0,0 +1,87 @@
1
+ import DashboardPodmanVolumeListComponent from "../../../Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent";
2
+ import { ObjectType } from "../../../Types/JSON";
3
+ import ObjectID from "../../../Types/ObjectID";
4
+ import DashboardBaseComponentUtil from "./DashboardBaseComponent";
5
+ import {
6
+ ComponentArgument,
7
+ ComponentArgumentSection,
8
+ ComponentInputType,
9
+ EntityFilterModelType,
10
+ } from "../../../Types/Dashboard/DashboardComponents/ComponentArgument";
11
+ import DashboardComponentType from "../../../Types/Dashboard/DashboardComponentType";
12
+ import { getViewModeArgument } from "./DashboardListSharedArgs";
13
+
14
+ const DisplaySection: ComponentArgumentSection = {
15
+ name: "Display Options",
16
+ description: "Configure the widget title and row limit",
17
+ order: 1,
18
+ };
19
+
20
+ const FiltersSection: ComponentArgumentSection = {
21
+ name: "Filters",
22
+ description: "Narrow down which volumes are shown",
23
+ order: 2,
24
+ defaultCollapsed: true,
25
+ };
26
+
27
+ export default class DashboardPodmanVolumeListComponentUtil extends DashboardBaseComponentUtil {
28
+ public static override getDefaultComponent(): DashboardPodmanVolumeListComponent {
29
+ return {
30
+ _type: ObjectType.DashboardComponent,
31
+ componentType: DashboardComponentType.PodmanVolumeList,
32
+ widthInDashboardUnits: 6,
33
+ heightInDashboardUnits: 4,
34
+ topInDashboardUnits: 0,
35
+ leftInDashboardUnits: 0,
36
+ componentId: ObjectID.generate(),
37
+ minHeightInDashboardUnits: 3,
38
+ minWidthInDashboardUnits: 6,
39
+ arguments: {
40
+ maxRows: 25,
41
+ },
42
+ };
43
+ }
44
+
45
+ public static override getComponentConfigArguments(): Array<
46
+ ComponentArgument<DashboardPodmanVolumeListComponent>
47
+ > {
48
+ const args: Array<ComponentArgument<DashboardPodmanVolumeListComponent>> =
49
+ [];
50
+
51
+ args.push({
52
+ name: "Title",
53
+ description: "Header shown above the volume list",
54
+ required: false,
55
+ type: ComponentInputType.Text,
56
+ id: "title",
57
+ section: DisplaySection,
58
+ });
59
+
60
+ args.push({
61
+ name: "Max Rows",
62
+ description: "Maximum number of volumes to show",
63
+ required: false,
64
+ type: ComponentInputType.Number,
65
+ id: "maxRows",
66
+ placeholder: "25",
67
+ section: DisplaySection,
68
+ });
69
+
70
+ args.push(
71
+ getViewModeArgument<DashboardPodmanVolumeListComponent>(DisplaySection),
72
+ );
73
+
74
+ args.push({
75
+ name: "Hosts",
76
+ description: "Show only volumes from the selected hosts",
77
+ required: false,
78
+ type: ComponentInputType.EntityMultiSelectDropdown,
79
+ id: "podmanHostIds",
80
+ placeholder: "All hosts",
81
+ section: FiltersSection,
82
+ entityFilterModelType: EntityFilterModelType.PodmanHost,
83
+ });
84
+
85
+ return args;
86
+ }
87
+ }