@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
@@ -3,10 +3,12 @@ import Host from "../../Models/DatabaseModels/Host";
3
3
  import KubernetesCluster from "../../Models/DatabaseModels/KubernetesCluster";
4
4
  import Label from "../../Models/DatabaseModels/Label";
5
5
  import Monitor from "../../Models/DatabaseModels/Monitor";
6
+ import PodmanHost from "../../Models/DatabaseModels/PodmanHost";
6
7
  import ScheduledMaintenance from "../../Models/DatabaseModels/ScheduledMaintenance";
7
8
  import ScheduledMaintenanceLabelRule from "../../Models/DatabaseModels/ScheduledMaintenanceLabelRule";
8
9
  import Service from "../../Models/DatabaseModels/Service";
9
10
  import DockerHostService from "./DockerHostService";
11
+ import PodmanHostService from "./PodmanHostService";
10
12
  import HostService from "./HostService";
11
13
  import KubernetesClusterService from "./KubernetesClusterService";
12
14
  import LabelService from "./LabelService";
@@ -32,6 +34,7 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
32
34
  * - all labels of the event's hosts when `inheritLabelsFromHosts`
33
35
  * - all labels of the event's Kubernetes clusters when `inheritLabelsFromKubernetesClusters`
34
36
  * - all labels of the event's Docker hosts when `inheritLabelsFromDockerHosts`
37
+ * - all labels of the event's Podman hosts when `inheritLabelsFromPodmanHosts`
35
38
  * - all labels of the event's services when `inheritLabelsFromServices`
36
39
  * The union is deduped against labels already on the event before insert
37
40
  * to avoid PK conflicts on the ScheduledMaintenanceLabel join table.
@@ -67,6 +70,7 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
67
70
  inheritLabelsFromHosts: true,
68
71
  inheritLabelsFromKubernetesClusters: true,
69
72
  inheritLabelsFromDockerHosts: true,
73
+ inheritLabelsFromPodmanHosts: true,
70
74
  inheritLabelsFromServices: true,
71
75
  },
72
76
  limit: 100,
@@ -82,6 +86,7 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
82
86
  let inheritFromHosts: boolean = false;
83
87
  let inheritFromKubernetesClusters: boolean = false;
84
88
  let inheritFromDockerHosts: boolean = false;
89
+ let inheritFromPodmanHosts: boolean = false;
85
90
  let inheritFromServices: boolean = false;
86
91
  const matchedRules: Array<ScheduledMaintenanceLabelRule> = [];
87
92
 
@@ -111,6 +116,9 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
111
116
  if (rule.inheritLabelsFromDockerHosts) {
112
117
  inheritFromDockerHosts = true;
113
118
  }
119
+ if (rule.inheritLabelsFromPodmanHosts) {
120
+ inheritFromPodmanHosts = true;
121
+ }
114
122
  if (rule.inheritLabelsFromServices) {
115
123
  inheritFromServices = true;
116
124
  }
@@ -120,6 +128,7 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
120
128
  inheritFromHosts ||
121
129
  inheritFromKubernetesClusters ||
122
130
  inheritFromDockerHosts ||
131
+ inheritFromPodmanHosts ||
123
132
  inheritFromServices;
124
133
 
125
134
  let eventWithResources: ScheduledMaintenance | null = null;
@@ -130,6 +139,7 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
130
139
  hosts: { _id: true },
131
140
  kubernetesClusters: { _id: true },
132
141
  dockerHosts: { _id: true },
142
+ podmanHosts: { _id: true },
133
143
  services: { _id: true },
134
144
  },
135
145
  props: { isRoot: true },
@@ -213,6 +223,25 @@ class ScheduledMaintenanceLabelRuleEngineServiceClass {
213
223
  }
214
224
  }
215
225
 
226
+ if (inheritFromPodmanHosts && eventWithResources?.podmanHosts?.length) {
227
+ for (const eventPodmanHost of eventWithResources.podmanHosts) {
228
+ if (!eventPodmanHost.id) {
229
+ continue;
230
+ }
231
+ const podmanHost: PodmanHost | null =
232
+ await PodmanHostService.findOneById({
233
+ id: eventPodmanHost.id,
234
+ select: { labels: { _id: true } },
235
+ props: { isRoot: true },
236
+ });
237
+ for (const label of podmanHost?.labels || []) {
238
+ if (label.id) {
239
+ labelIdsToAdd.add(label.id.toString());
240
+ }
241
+ }
242
+ }
243
+ }
244
+
216
245
  if (inheritFromServices && eventWithResources?.services?.length) {
217
246
  for (const eventService of eventWithResources.services) {
218
247
  if (!eventService.id) {
@@ -11,6 +11,9 @@ import Label from "../../Models/DatabaseModels/Label";
11
11
  import Monitor from "../../Models/DatabaseModels/Monitor";
12
12
  import MonitorOwnerTeam from "../../Models/DatabaseModels/MonitorOwnerTeam";
13
13
  import MonitorOwnerUser from "../../Models/DatabaseModels/MonitorOwnerUser";
14
+ import PodmanHost from "../../Models/DatabaseModels/PodmanHost";
15
+ import PodmanHostOwnerTeam from "../../Models/DatabaseModels/PodmanHostOwnerTeam";
16
+ import PodmanHostOwnerUser from "../../Models/DatabaseModels/PodmanHostOwnerUser";
14
17
  import ScheduledMaintenance from "../../Models/DatabaseModels/ScheduledMaintenance";
15
18
  import ScheduledMaintenanceOwnerRule from "../../Models/DatabaseModels/ScheduledMaintenanceOwnerRule";
16
19
  import Service from "../../Models/DatabaseModels/Service";
@@ -27,6 +30,8 @@ import KubernetesClusterOwnerUserService from "./KubernetesClusterOwnerUserServi
27
30
  import MonitorOwnerTeamService from "./MonitorOwnerTeamService";
28
31
  import MonitorOwnerUserService from "./MonitorOwnerUserService";
29
32
  import MonitorService from "./MonitorService";
33
+ import PodmanHostOwnerTeamService from "./PodmanHostOwnerTeamService";
34
+ import PodmanHostOwnerUserService from "./PodmanHostOwnerUserService";
30
35
  import ScheduledMaintenanceFeedService from "./ScheduledMaintenanceFeedService";
31
36
  import ScheduledMaintenanceOwnerRuleService from "./ScheduledMaintenanceOwnerRuleService";
32
37
  import ScheduledMaintenanceService from "./ScheduledMaintenanceService";
@@ -82,6 +87,7 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
82
87
  inheritOwnersFromHosts: true,
83
88
  inheritOwnersFromKubernetesClusters: true,
84
89
  inheritOwnersFromDockerHosts: true,
90
+ inheritOwnersFromPodmanHosts: true,
85
91
  inheritOwnersFromServices: true,
86
92
  },
87
93
  limit: 100,
@@ -108,6 +114,7 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
108
114
  let inheritFromHosts: boolean = false;
109
115
  let inheritFromKubernetesClusters: boolean = false;
110
116
  let inheritFromDockerHosts: boolean = false;
117
+ let inheritFromPodmanHosts: boolean = false;
111
118
  let inheritFromServices: boolean = false;
112
119
  const inheritNotifyMode: { value: boolean | null } = { value: null };
113
120
 
@@ -159,6 +166,12 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
159
166
  inheritNotifyMode.value =
160
167
  inheritNotifyMode.value === true ? true : notify;
161
168
  }
169
+ if (rule.inheritOwnersFromPodmanHosts) {
170
+ inheritFromPodmanHosts = true;
171
+ ruleAddedAny = true;
172
+ inheritNotifyMode.value =
173
+ inheritNotifyMode.value === true ? true : notify;
174
+ }
162
175
  if (rule.inheritOwnersFromServices) {
163
176
  inheritFromServices = true;
164
177
  ruleAddedAny = true;
@@ -178,6 +191,8 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
178
191
  const inheritedFromKubernetesClusterTeamIds: Set<string> = new Set();
179
192
  const inheritedFromDockerHostUserIds: Set<string> = new Set();
180
193
  const inheritedFromDockerHostTeamIds: Set<string> = new Set();
194
+ const inheritedFromPodmanHostUserIds: Set<string> = new Set();
195
+ const inheritedFromPodmanHostTeamIds: Set<string> = new Set();
181
196
  const inheritedFromServiceUserIds: Set<string> = new Set();
182
197
  const inheritedFromServiceTeamIds: Set<string> = new Set();
183
198
 
@@ -353,6 +368,47 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
353
368
  }
354
369
  }
355
370
 
371
+ if (inheritFromPodmanHosts && scheduledMaintenance.podmanHosts?.length) {
372
+ const podmanHostIds: Array<ObjectID> = scheduledMaintenance.podmanHosts
373
+ .map((p: PodmanHost) => {
374
+ return p.id;
375
+ })
376
+ .filter((id: ObjectID | null | undefined): id is ObjectID => {
377
+ return Boolean(id);
378
+ });
379
+ if (podmanHostIds.length > 0) {
380
+ const [podmanHostOwnerUsers, podmanHostOwnerTeams]: [
381
+ Array<PodmanHostOwnerUser>,
382
+ Array<PodmanHostOwnerTeam>,
383
+ ] = await Promise.all([
384
+ PodmanHostOwnerUserService.findBy({
385
+ query: { podmanHostId: QueryHelper.any(podmanHostIds) },
386
+ select: { userId: true },
387
+ props: { isRoot: true },
388
+ limit: LIMIT_MAX,
389
+ skip: 0,
390
+ }),
391
+ PodmanHostOwnerTeamService.findBy({
392
+ query: { podmanHostId: QueryHelper.any(podmanHostIds) },
393
+ select: { teamId: true },
394
+ props: { isRoot: true },
395
+ limit: LIMIT_MAX,
396
+ skip: 0,
397
+ }),
398
+ ]);
399
+ for (const ownerUser of podmanHostOwnerUsers) {
400
+ if (ownerUser.userId) {
401
+ inheritedFromPodmanHostUserIds.add(ownerUser.userId.toString());
402
+ }
403
+ }
404
+ for (const ownerTeam of podmanHostOwnerTeams) {
405
+ if (ownerTeam.teamId) {
406
+ inheritedFromPodmanHostTeamIds.add(ownerTeam.teamId.toString());
407
+ }
408
+ }
409
+ }
410
+ }
411
+
356
412
  if (inheritFromServices && scheduledMaintenance.services?.length) {
357
413
  const serviceIds: Array<ObjectID> = scheduledMaintenance.services
358
414
  .map((s: Service) => {
@@ -399,6 +455,7 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
399
455
  ...inheritedFromHostUserIds,
400
456
  ...inheritedFromKubernetesClusterUserIds,
401
457
  ...inheritedFromDockerHostUserIds,
458
+ ...inheritedFromPodmanHostUserIds,
402
459
  ...inheritedFromServiceUserIds,
403
460
  ]);
404
461
  const inheritedTeamIds: Set<string> = new Set([
@@ -406,6 +463,7 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
406
463
  ...inheritedFromHostTeamIds,
407
464
  ...inheritedFromKubernetesClusterTeamIds,
408
465
  ...inheritedFromDockerHostTeamIds,
466
+ ...inheritedFromPodmanHostTeamIds,
409
467
  ...inheritedFromServiceTeamIds,
410
468
  ]);
411
469
 
@@ -480,6 +538,10 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
480
538
  inheritedFromDockerHostUserIds.size +
481
539
  inheritedFromDockerHostTeamIds.size >
482
540
  0,
541
+ inheritedFromPodmanHosts:
542
+ inheritedFromPodmanHostUserIds.size +
543
+ inheritedFromPodmanHostTeamIds.size >
544
+ 0,
483
545
  inheritedFromServices:
484
546
  inheritedFromServiceUserIds.size + inheritedFromServiceTeamIds.size >
485
547
  0,
@@ -505,6 +567,7 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
505
567
  inheritedFromHosts: boolean;
506
568
  inheritedFromKubernetesClusters: boolean;
507
569
  inheritedFromDockerHosts: boolean;
570
+ inheritedFromPodmanHosts: boolean;
508
571
  inheritedFromServices: boolean;
509
572
  }): Promise<void> {
510
573
  const {
@@ -516,6 +579,7 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
516
579
  inheritedFromHosts,
517
580
  inheritedFromKubernetesClusters,
518
581
  inheritedFromDockerHosts,
582
+ inheritedFromPodmanHosts,
519
583
  inheritedFromServices,
520
584
  } = data;
521
585
  if (
@@ -600,6 +664,9 @@ class ScheduledMaintenanceOwnerRuleEngineServiceClass {
600
664
  if (inheritedFromDockerHosts) {
601
665
  inheritedSources.push("Docker hosts");
602
666
  }
667
+ if (inheritedFromPodmanHosts) {
668
+ inheritedSources.push("Podman hosts");
669
+ }
603
670
  if (inheritedFromServices) {
604
671
  inheritedSources.push("services");
605
672
  }
@@ -25,11 +25,13 @@ import logger from "../Utils/Logger";
25
25
  import ServiceModel from "../../Models/DatabaseModels/Service";
26
26
  import HostService from "./HostService";
27
27
  import DockerHostService from "./DockerHostService";
28
+ import PodmanHostService from "./PodmanHostService";
28
29
  import KubernetesClusterService from "./KubernetesClusterService";
29
30
  import ProxmoxClusterService from "./ProxmoxClusterService";
30
31
  import CephClusterService from "./CephClusterService";
31
32
  import Host from "../../Models/DatabaseModels/Host";
32
33
  import DockerHost from "../../Models/DatabaseModels/DockerHost";
34
+ import PodmanHost from "../../Models/DatabaseModels/PodmanHost";
33
35
  import KubernetesCluster from "../../Models/DatabaseModels/KubernetesCluster";
34
36
  import ProxmoxCluster from "../../Models/DatabaseModels/ProxmoxCluster";
35
37
  import CephCluster from "../../Models/DatabaseModels/CephCluster";
@@ -410,6 +412,22 @@ export class Service extends DatabaseService<Model> {
410
412
  }
411
413
  }
412
414
 
415
+ const podmanHosts: Array<PodmanHost> = await PodmanHostService.findBy({
416
+ query: { projectId: projectId },
417
+ select: { _id: true, retainTelemetryDataForDays: true },
418
+ skip: 0,
419
+ limit: LIMIT_MAX,
420
+ props: { isRoot: true },
421
+ });
422
+ for (const podmanHost of podmanHosts) {
423
+ if (podmanHost.id && podmanHost.retainTelemetryDataForDays) {
424
+ retentionByServiceId.set(
425
+ podmanHost.id.toString(),
426
+ podmanHost.retainTelemetryDataForDays,
427
+ );
428
+ }
429
+ }
430
+
413
431
  const clusters: Array<KubernetesCluster> =
414
432
  await KubernetesClusterService.findBy({
415
433
  query: { projectId: projectId },
@@ -158,6 +158,7 @@ export class TraceAggregationService {
158
158
  new Map([
159
159
  ["hostId", ServiceType.Host],
160
160
  ["dockerHostId", ServiceType.DockerHost],
161
+ ["podmanHostId", ServiceType.PodmanHost],
161
162
  ["kubernetesClusterId", ServiceType.KubernetesCluster],
162
163
  ["proxmoxClusterId", ServiceType.ProxmoxCluster],
163
164
  ["cephClusterId", ServiceType.CephCluster],
@@ -18,6 +18,8 @@ import HostOwnerTeamService from "../../../Services/HostOwnerTeamService";
18
18
  import HostOwnerUserService from "../../../Services/HostOwnerUserService";
19
19
  import DockerHostOwnerTeamService from "../../../Services/DockerHostOwnerTeamService";
20
20
  import DockerHostOwnerUserService from "../../../Services/DockerHostOwnerUserService";
21
+ import PodmanHostOwnerTeamService from "../../../Services/PodmanHostOwnerTeamService";
22
+ import PodmanHostOwnerUserService from "../../../Services/PodmanHostOwnerUserService";
21
23
  import KubernetesClusterOwnerTeamService from "../../../Services/KubernetesClusterOwnerTeamService";
22
24
  import KubernetesClusterOwnerUserService from "../../../Services/KubernetesClusterOwnerUserService";
23
25
  import ServerlessFunctionOwnerTeamService from "../../../Services/ServerlessFunctionOwnerTeamService";
@@ -40,6 +42,7 @@ import ServiceService from "../../../Services/ServiceService";
40
42
  import MonitorService from "../../../Services/MonitorService";
41
43
  import HostService from "../../../Services/HostService";
42
44
  import DockerHostService from "../../../Services/DockerHostService";
45
+ import PodmanHostService from "../../../Services/PodmanHostService";
43
46
  import KubernetesClusterService from "../../../Services/KubernetesClusterService";
44
47
  import ServerlessFunctionService from "../../../Services/ServerlessFunctionService";
45
48
  import CloudResourceService from "../../../Services/CloudResourceService";
@@ -180,6 +183,16 @@ const ownerTableRegistry: Map<string, OwnerTablePair> = new Map<
180
183
  modelService: DockerHostService,
181
184
  },
182
185
  ],
186
+ [
187
+ "PodmanHost",
188
+ {
189
+ ownerUserService: PodmanHostOwnerUserService,
190
+ ownerTeamService: PodmanHostOwnerTeamService,
191
+ fkColumn: "podmanHostId",
192
+ canOwnTelemetry: true,
193
+ modelService: PodmanHostService,
194
+ },
195
+ ],
183
196
  [
184
197
  "KubernetesCluster",
185
198
  {
@@ -2,6 +2,7 @@ import Alert from "../../../Models/DatabaseModels/Alert";
2
2
  import AlertSeverity from "../../../Models/DatabaseModels/AlertSeverity";
3
3
  import AlertStateTimeline from "../../../Models/DatabaseModels/AlertStateTimeline";
4
4
  import CephCluster from "../../../Models/DatabaseModels/CephCluster";
5
+ import DockerSwarmCluster from "../../../Models/DatabaseModels/DockerSwarmCluster";
5
6
  import Host from "../../../Models/DatabaseModels/Host";
6
7
  import Label from "../../../Models/DatabaseModels/Label";
7
8
  import Monitor from "../../../Models/DatabaseModels/Monitor";
@@ -420,6 +421,15 @@ export default class MonitorAlert {
420
421
  },
421
422
  );
422
423
  }
424
+ if (clusterContext.dockerSwarmClusterIds.length > 0) {
425
+ alert.dockerSwarmClusters = clusterContext.dockerSwarmClusterIds.map(
426
+ (id: string): DockerSwarmCluster => {
427
+ const cluster: DockerSwarmCluster = new DockerSwarmCluster();
428
+ cluster._id = id;
429
+ return cluster;
430
+ },
431
+ );
432
+ }
423
433
 
424
434
  alert.onCallDutyPolicies =
425
435
  criteriaAlert.onCallPolicyIds?.map((id: ObjectID) => {
@@ -1,9 +1,11 @@
1
1
  import CephCluster from "../../../Models/DatabaseModels/CephCluster";
2
+ import DockerSwarmCluster from "../../../Models/DatabaseModels/DockerSwarmCluster";
2
3
  import Monitor from "../../../Models/DatabaseModels/Monitor";
3
4
  import ProxmoxCluster from "../../../Models/DatabaseModels/ProxmoxCluster";
4
5
  import MonitorStep from "../../../Types/Monitor/MonitorStep";
5
6
  import MonitorType from "../../../Types/Monitor/MonitorType";
6
7
  import CephClusterService from "../../Services/CephClusterService";
8
+ import DockerSwarmClusterService from "../../Services/DockerSwarmClusterService";
7
9
  import ProxmoxClusterService from "../../Services/ProxmoxClusterService";
8
10
  import QueryHelper from "../../Types/Database/QueryHelper";
9
11
  import logger from "../Logger";
@@ -23,6 +25,7 @@ import logger from "../Logger";
23
25
  export interface MonitorClusterContext {
24
26
  proxmoxClusterIds: Array<string>;
25
27
  cephClusterIds: Array<string>;
28
+ dockerSwarmClusterIds: Array<string>;
26
29
  }
27
30
 
28
31
  export default class MonitorClusterContextUtil {
@@ -42,13 +45,15 @@ export default class MonitorClusterContextUtil {
42
45
  const context: MonitorClusterContext = {
43
46
  proxmoxClusterIds: [],
44
47
  cephClusterIds: [],
48
+ dockerSwarmClusterIds: [],
45
49
  };
46
50
 
47
51
  const monitorType: MonitorType | undefined = input.monitor.monitorType;
48
52
 
49
53
  if (
50
54
  monitorType !== MonitorType.Proxmox &&
51
- monitorType !== MonitorType.Ceph
55
+ monitorType !== MonitorType.Ceph &&
56
+ monitorType !== MonitorType.DockerSwarm
52
57
  ) {
53
58
  return context;
54
59
  }
@@ -63,10 +68,16 @@ export default class MonitorClusterContextUtil {
63
68
  const clusterIdentifiers: Set<string> = new Set<string>();
64
69
 
65
70
  for (const monitorStep of monitorSteps) {
66
- const clusterIdentifier: string | undefined =
67
- monitorType === MonitorType.Proxmox
68
- ? monitorStep.data?.proxmoxMonitor?.clusterIdentifier
69
- : monitorStep.data?.cephMonitor?.clusterIdentifier;
71
+ let clusterIdentifier: string | undefined = undefined;
72
+
73
+ if (monitorType === MonitorType.Proxmox) {
74
+ clusterIdentifier = monitorStep.data?.proxmoxMonitor?.clusterIdentifier;
75
+ } else if (monitorType === MonitorType.Ceph) {
76
+ clusterIdentifier = monitorStep.data?.cephMonitor?.clusterIdentifier;
77
+ } else if (monitorType === MonitorType.DockerSwarm) {
78
+ clusterIdentifier =
79
+ monitorStep.data?.dockerSwarmMonitor?.clusterIdentifier;
80
+ }
70
81
 
71
82
  if (clusterIdentifier && clusterIdentifier.trim().length > 0) {
72
83
  clusterIdentifiers.add(clusterIdentifier.trim());
@@ -98,7 +109,7 @@ export default class MonitorClusterContextUtil {
98
109
  if (proxmoxCluster?._id) {
99
110
  context.proxmoxClusterIds.push(String(proxmoxCluster._id));
100
111
  }
101
- } else {
112
+ } else if (monitorType === MonitorType.Ceph) {
102
113
  const cephCluster: CephCluster | null =
103
114
  await CephClusterService.findOneBy({
104
115
  query: {
@@ -116,6 +127,24 @@ export default class MonitorClusterContextUtil {
116
127
  if (cephCluster?._id) {
117
128
  context.cephClusterIds.push(String(cephCluster._id));
118
129
  }
130
+ } else {
131
+ const dockerSwarmCluster: DockerSwarmCluster | null =
132
+ await DockerSwarmClusterService.findOneBy({
133
+ query: {
134
+ projectId: input.monitor.projectId,
135
+ name: QueryHelper.findWithSameText(clusterIdentifier),
136
+ },
137
+ select: {
138
+ _id: true,
139
+ },
140
+ props: {
141
+ isRoot: true,
142
+ },
143
+ });
144
+
145
+ if (dockerSwarmCluster?._id) {
146
+ context.dockerSwarmClusterIds.push(String(dockerSwarmCluster._id));
147
+ }
119
148
  }
120
149
  } catch (err) {
121
150
  logger.error(