@oneuptime/common 11.0.1 → 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 (577) hide show
  1. package/Models/DatabaseModels/Alert.ts +276 -0
  2. package/Models/DatabaseModels/AlertLabelRule.ts +38 -0
  3. package/Models/DatabaseModels/AlertOwnerRule.ts +38 -0
  4. package/Models/DatabaseModels/CephCluster.ts +964 -0
  5. package/Models/DatabaseModels/CephClusterLabelRule.ts +514 -0
  6. package/Models/DatabaseModels/CephClusterOwnerRule.ts +596 -0
  7. package/Models/DatabaseModels/CephClusterOwnerTeam.ts +487 -0
  8. package/Models/DatabaseModels/CephClusterOwnerUser.ts +486 -0
  9. package/Models/DatabaseModels/CephResource.ts +809 -0
  10. package/Models/DatabaseModels/DockerSwarmCluster.ts +989 -0
  11. package/Models/DatabaseModels/DockerSwarmClusterLabelRule.ts +514 -0
  12. package/Models/DatabaseModels/DockerSwarmClusterOwnerRule.ts +596 -0
  13. package/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.ts +487 -0
  14. package/Models/DatabaseModels/DockerSwarmClusterOwnerUser.ts +486 -0
  15. package/Models/DatabaseModels/DockerSwarmResource.ts +750 -0
  16. package/Models/DatabaseModels/Host.ts +64 -0
  17. package/Models/DatabaseModels/Incident.ts +276 -0
  18. package/Models/DatabaseModels/IncidentLabelRule.ts +38 -0
  19. package/Models/DatabaseModels/IncidentOwnerRule.ts +38 -0
  20. package/Models/DatabaseModels/IncidentTemplate.ts +56 -0
  21. package/Models/DatabaseModels/Index.ts +48 -0
  22. package/Models/DatabaseModels/PodmanHost.ts +859 -0
  23. package/Models/DatabaseModels/PodmanHostLabelRule.ts +514 -0
  24. package/Models/DatabaseModels/PodmanHostOwnerRule.ts +596 -0
  25. package/Models/DatabaseModels/PodmanHostOwnerTeam.ts +487 -0
  26. package/Models/DatabaseModels/PodmanHostOwnerUser.ts +486 -0
  27. package/Models/DatabaseModels/PodmanResource.ts +498 -0
  28. package/Models/DatabaseModels/ProxmoxCluster.ts +943 -0
  29. package/Models/DatabaseModels/ProxmoxClusterLabelRule.ts +514 -0
  30. package/Models/DatabaseModels/ProxmoxClusterOwnerRule.ts +596 -0
  31. package/Models/DatabaseModels/ProxmoxClusterOwnerTeam.ts +487 -0
  32. package/Models/DatabaseModels/ProxmoxClusterOwnerUser.ts +486 -0
  33. package/Models/DatabaseModels/ProxmoxResource.ts +726 -0
  34. package/Models/DatabaseModels/ScheduledMaintenance.ts +220 -0
  35. package/Models/DatabaseModels/ScheduledMaintenanceLabelRule.ts +38 -0
  36. package/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.ts +38 -0
  37. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +56 -0
  38. package/Models/DatabaseModels/TelemetryException.ts +2 -0
  39. package/Server/API/BillingInvoiceAPI.ts +47 -7
  40. package/Server/API/CephResourceAPI.ts +134 -0
  41. package/Server/API/DashboardAPI.ts +135 -0
  42. package/Server/API/DockerSwarmResourceAPI.ts +137 -0
  43. package/Server/API/ProjectAPI.ts +15 -0
  44. package/Server/API/ProxmoxResourceAPI.ts +132 -0
  45. package/Server/API/ResellerPlanAPI.ts +17 -0
  46. package/Server/API/TelemetryAPI.ts +8 -1
  47. package/Server/Infrastructure/GlobalCache.ts +8 -2
  48. package/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.ts +163 -0
  49. package/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.ts +3199 -0
  50. package/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.ts +211 -0
  51. package/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.ts +590 -0
  52. package/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.ts +64 -0
  53. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +10 -0
  54. package/Server/Infrastructure/Redis.ts +40 -12
  55. package/Server/Services/AlertLabelRuleEngineService.ts +29 -0
  56. package/Server/Services/AlertOwnerRuleEngineService.ts +67 -0
  57. package/Server/Services/AnalyticsDatabaseService.ts +1 -1
  58. package/Server/Services/BillingService.ts +109 -21
  59. package/Server/Services/CephClusterLabelRuleEngineService.ts +200 -0
  60. package/Server/Services/CephClusterLabelRuleService.ts +14 -0
  61. package/Server/Services/CephClusterOwnerRuleEngineService.ts +218 -0
  62. package/Server/Services/CephClusterOwnerRuleService.ts +14 -0
  63. package/Server/Services/CephClusterOwnerTeamService.ts +10 -0
  64. package/Server/Services/CephClusterOwnerUserService.ts +10 -0
  65. package/Server/Services/CephClusterService.ts +401 -0
  66. package/Server/Services/CephResourceService.ts +383 -0
  67. package/Server/Services/CloudResourceService.ts +11 -3
  68. package/Server/Services/DockerHostService.ts +11 -3
  69. package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +214 -0
  70. package/Server/Services/DockerSwarmClusterLabelRuleService.ts +14 -0
  71. package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +232 -0
  72. package/Server/Services/DockerSwarmClusterOwnerRuleService.ts +14 -0
  73. package/Server/Services/DockerSwarmClusterOwnerTeamService.ts +10 -0
  74. package/Server/Services/DockerSwarmClusterOwnerUserService.ts +10 -0
  75. package/Server/Services/DockerSwarmClusterService.ts +404 -0
  76. package/Server/Services/DockerSwarmResourceService.ts +381 -0
  77. package/Server/Services/ExceptionAggregationService.ts +3 -0
  78. package/Server/Services/HostService.ts +11 -3
  79. package/Server/Services/IncidentLabelRuleEngineService.ts +27 -0
  80. package/Server/Services/IncidentOwnerRuleEngineService.ts +67 -0
  81. package/Server/Services/IncidentService.ts +11 -0
  82. package/Server/Services/Index.ts +38 -0
  83. package/Server/Services/KubernetesClusterService.ts +11 -3
  84. package/Server/Services/LogAggregationService.ts +3 -0
  85. package/Server/Services/MetricAggregationService.ts +3 -0
  86. package/Server/Services/OpenTelemetryIngestService.ts +73 -0
  87. package/Server/Services/PodmanHostLabelRuleEngineService.ts +198 -0
  88. package/Server/Services/PodmanHostLabelRuleService.ts +14 -0
  89. package/Server/Services/PodmanHostOwnerRuleEngineService.ts +216 -0
  90. package/Server/Services/PodmanHostOwnerRuleService.ts +14 -0
  91. package/Server/Services/PodmanHostOwnerTeamService.ts +10 -0
  92. package/Server/Services/PodmanHostOwnerUserService.ts +10 -0
  93. package/Server/Services/PodmanHostService.ts +368 -0
  94. package/Server/Services/PodmanResourceService.ts +310 -0
  95. package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +204 -0
  96. package/Server/Services/ProxmoxClusterLabelRuleService.ts +14 -0
  97. package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +222 -0
  98. package/Server/Services/ProxmoxClusterOwnerRuleService.ts +14 -0
  99. package/Server/Services/ProxmoxClusterOwnerTeamService.ts +10 -0
  100. package/Server/Services/ProxmoxClusterOwnerUserService.ts +10 -0
  101. package/Server/Services/ProxmoxClusterService.ts +382 -0
  102. package/Server/Services/ProxmoxResourceService.ts +404 -0
  103. package/Server/Services/RumApplicationService.ts +11 -3
  104. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +29 -0
  105. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +67 -0
  106. package/Server/Services/ServerlessFunctionService.ts +11 -3
  107. package/Server/Services/TelemetryUsageBillingService.ts +59 -3
  108. package/Server/Services/TraceAggregationService.ts +3 -0
  109. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +8 -23
  110. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +13 -0
  111. package/Server/Utils/Monitor/MonitorAlert.ts +55 -0
  112. package/Server/Utils/Monitor/MonitorClusterContext.ts +158 -0
  113. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +650 -4
  114. package/Server/Utils/Monitor/MonitorIncident.ts +175 -7
  115. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +56 -6
  116. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +6 -1
  117. package/Server/Utils/Monitor/SeriesResourceLabels.ts +59 -0
  118. package/Server/Utils/Profiling.ts +37 -2
  119. package/Server/Utils/Telemetry/EntityRegistry.ts +4 -0
  120. package/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.ts +1096 -0
  121. package/Server/Utils/Telemetry/ResourceFacetResolver.ts +49 -0
  122. package/Server/Utils/Telemetry/Telemetry.ts +10 -0
  123. package/Server/Utils/Telemetry/TelemetryEntity.ts +107 -0
  124. package/Server/Utils/Telemetry.ts +8 -19
  125. package/Tests/Server/API/BillingInvoiceAPI.test.ts +194 -0
  126. package/Tests/Server/API/ProjectAPI.test.ts +91 -0
  127. package/Tests/Server/API/ResellerPlanAPI.test.ts +207 -0
  128. package/Tests/Server/Infrastructure/GlobalCache.test.ts +100 -0
  129. package/Tests/Server/Services/BillingService.test.ts +323 -0
  130. package/Tests/Server/Services/CephResourceService.test.ts +264 -0
  131. package/Tests/Server/Services/ProxmoxResourceService.test.ts +326 -0
  132. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +322 -0
  133. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +14 -0
  134. package/Tests/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.test.ts +879 -0
  135. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +196 -0
  136. package/Tests/Types/DockerSwarm/DockerSwarmInventoryExtractor.test.ts +667 -0
  137. package/Tests/Types/Monitor/CephAlertTemplates.test.ts +1231 -0
  138. package/Tests/Types/Monitor/DockerSwarmAlertTemplates.test.ts +528 -0
  139. package/Tests/Types/Monitor/ProxmoxAlertTemplates.test.ts +732 -0
  140. package/Tests/Utils/Telemetry/EntityRelationship.test.ts +49 -0
  141. package/Tests/Utils/Telemetry/HeartbeatAvailability.test.ts +423 -0
  142. package/Types/BaseDatabase/AggregationIntervalUtil.ts +74 -0
  143. package/Types/Dashboard/DashboardComponentType.ts +11 -0
  144. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +4 -0
  145. package/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.ts +15 -0
  146. package/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.ts +14 -0
  147. package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.ts +17 -0
  148. package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.ts +17 -0
  149. package/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.ts +16 -0
  150. package/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.ts +15 -0
  151. package/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.ts +16 -0
  152. package/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.ts +15 -0
  153. package/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.ts +15 -0
  154. package/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.ts +17 -0
  155. package/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.ts +16 -0
  156. package/Types/Dashboard/DashboardTemplates.ts +640 -0
  157. package/Types/DockerSwarm/DockerSwarmInventoryExtractor.ts +452 -0
  158. package/Types/Icon/IconProp.ts +3 -0
  159. package/Types/Monitor/CephAlertTemplates.ts +1647 -0
  160. package/Types/Monitor/CephMetricCatalog.ts +409 -0
  161. package/Types/Monitor/DockerSwarmAlertTemplates.ts +461 -0
  162. package/Types/Monitor/DockerSwarmMetricCatalog.ts +139 -0
  163. package/Types/Monitor/HostAlertTemplates.ts +455 -0
  164. package/Types/Monitor/HostMetricCatalog.ts +177 -0
  165. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +65 -0
  166. package/Types/Monitor/MonitorStep.ts +163 -0
  167. package/Types/Monitor/MonitorStepCephMonitor.ts +57 -0
  168. package/Types/Monitor/MonitorStepDockerSwarmMonitor.ts +74 -0
  169. package/Types/Monitor/MonitorStepHostMonitor.ts +30 -0
  170. package/Types/Monitor/MonitorStepPodmanMonitor.ts +38 -0
  171. package/Types/Monitor/MonitorStepProxmoxMonitor.ts +81 -0
  172. package/Types/Monitor/MonitorType.ts +71 -1
  173. package/Types/Monitor/PodmanAlertTemplates.ts +507 -0
  174. package/Types/Monitor/PodmanMetricCatalog.ts +226 -0
  175. package/Types/Monitor/ProxmoxAlertTemplates.ts +899 -0
  176. package/Types/Monitor/ProxmoxMetricCatalog.ts +382 -0
  177. package/Types/Permission.ts +1029 -104
  178. package/Types/Podman/PodmanInventoryExtractor.ts +343 -0
  179. package/Types/Telemetry/EntityType.ts +23 -0
  180. package/Types/Telemetry/ServiceType.ts +4 -0
  181. package/UI/Components/Icon/Icon.tsx +141 -0
  182. package/UI/Components/LogsViewer/LogsViewer.tsx +44 -1
  183. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +28 -0
  184. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +15 -5
  185. package/UI/Utils/Telemetry/Telemetry.ts +16 -21
  186. package/UI/Utils/TelemetryService.ts +8 -3
  187. package/Utils/Dashboard/Components/DashboardCephOsdListComponent.ts +63 -0
  188. package/Utils/Dashboard/Components/DashboardCephPoolListComponent.ts +32 -0
  189. package/Utils/Dashboard/Components/DashboardCephResourceListShared.ts +61 -0
  190. package/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.ts +70 -0
  191. package/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.ts +61 -0
  192. package/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.ts +71 -0
  193. package/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.ts +100 -0
  194. package/Utils/Dashboard/Components/DashboardPodmanHostListComponent.ts +88 -0
  195. package/Utils/Dashboard/Components/DashboardPodmanImageListComponent.ts +97 -0
  196. package/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.ts +87 -0
  197. package/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.ts +87 -0
  198. package/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.ts +69 -0
  199. package/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.ts +55 -0
  200. package/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.ts +61 -0
  201. package/Utils/Dashboard/Components/Index.ts +79 -0
  202. package/Utils/Telemetry/EntityKey.ts +53 -0
  203. package/Utils/Telemetry/EntityRelationship.ts +6 -0
  204. package/Utils/Telemetry/HeartbeatAvailability.ts +262 -0
  205. package/build/dist/Models/DatabaseModels/Alert.js +270 -0
  206. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  207. package/build/dist/Models/DatabaseModels/AlertLabelRule.js +39 -0
  208. package/build/dist/Models/DatabaseModels/AlertLabelRule.js.map +1 -1
  209. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js +39 -0
  210. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js.map +1 -1
  211. package/build/dist/Models/DatabaseModels/CephCluster.js +992 -0
  212. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -0
  213. package/build/dist/Models/DatabaseModels/CephClusterLabelRule.js +522 -0
  214. package/build/dist/Models/DatabaseModels/CephClusterLabelRule.js.map +1 -0
  215. package/build/dist/Models/DatabaseModels/CephClusterOwnerRule.js +603 -0
  216. package/build/dist/Models/DatabaseModels/CephClusterOwnerRule.js.map +1 -0
  217. package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js +503 -0
  218. package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js.map +1 -0
  219. package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js +502 -0
  220. package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js.map +1 -0
  221. package/build/dist/Models/DatabaseModels/CephResource.js +846 -0
  222. package/build/dist/Models/DatabaseModels/CephResource.js.map +1 -0
  223. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +1018 -0
  224. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -0
  225. package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js +522 -0
  226. package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js.map +1 -0
  227. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js +603 -0
  228. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js.map +1 -0
  229. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js +503 -0
  230. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js.map +1 -0
  231. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js +502 -0
  232. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js.map +1 -0
  233. package/build/dist/Models/DatabaseModels/DockerSwarmResource.js +787 -0
  234. package/build/dist/Models/DatabaseModels/DockerSwarmResource.js.map +1 -0
  235. package/build/dist/Models/DatabaseModels/Host.js +63 -0
  236. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  237. package/build/dist/Models/DatabaseModels/Incident.js +270 -0
  238. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  239. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js +39 -0
  240. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js.map +1 -1
  241. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js +39 -0
  242. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js.map +1 -1
  243. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +54 -0
  244. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  245. package/build/dist/Models/DatabaseModels/Index.js +48 -0
  246. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  247. package/build/dist/Models/DatabaseModels/PodmanHost.js +885 -0
  248. package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -0
  249. package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js +522 -0
  250. package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js.map +1 -0
  251. package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js +603 -0
  252. package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js.map +1 -0
  253. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js +503 -0
  254. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js.map +1 -0
  255. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js +502 -0
  256. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js.map +1 -0
  257. package/build/dist/Models/DatabaseModels/PodmanResource.js +526 -0
  258. package/build/dist/Models/DatabaseModels/PodmanResource.js.map +1 -0
  259. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +967 -0
  260. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -0
  261. package/build/dist/Models/DatabaseModels/ProxmoxClusterLabelRule.js +522 -0
  262. package/build/dist/Models/DatabaseModels/ProxmoxClusterLabelRule.js.map +1 -0
  263. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerRule.js +603 -0
  264. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerRule.js.map +1 -0
  265. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js +503 -0
  266. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js.map +1 -0
  267. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js +502 -0
  268. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js.map +1 -0
  269. package/build/dist/Models/DatabaseModels/ProxmoxResource.js +761 -0
  270. package/build/dist/Models/DatabaseModels/ProxmoxResource.js.map +1 -0
  271. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +216 -0
  272. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  273. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js +39 -0
  274. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js.map +1 -1
  275. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js +39 -0
  276. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js.map +1 -1
  277. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +54 -0
  278. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  279. package/build/dist/Models/DatabaseModels/TelemetryException.js +2 -0
  280. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  281. package/build/dist/Server/API/BillingInvoiceAPI.js +35 -5
  282. package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
  283. package/build/dist/Server/API/CephResourceAPI.js +98 -0
  284. package/build/dist/Server/API/CephResourceAPI.js.map +1 -0
  285. package/build/dist/Server/API/DashboardAPI.js +135 -0
  286. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  287. package/build/dist/Server/API/DockerSwarmResourceAPI.js +100 -0
  288. package/build/dist/Server/API/DockerSwarmResourceAPI.js.map +1 -0
  289. package/build/dist/Server/API/ProjectAPI.js +11 -0
  290. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  291. package/build/dist/Server/API/ProxmoxResourceAPI.js +95 -0
  292. package/build/dist/Server/API/ProxmoxResourceAPI.js.map +1 -0
  293. package/build/dist/Server/API/ResellerPlanAPI.js +17 -3
  294. package/build/dist/Server/API/ResellerPlanAPI.js.map +1 -1
  295. package/build/dist/Server/API/TelemetryAPI.js +8 -1
  296. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  297. package/build/dist/Server/Infrastructure/GlobalCache.js +7 -2
  298. package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
  299. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.js +76 -0
  300. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.js.map +1 -0
  301. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js +1100 -0
  302. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js.map +1 -0
  303. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.js +108 -0
  304. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.js.map +1 -0
  305. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.js +253 -0
  306. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.js.map +1 -0
  307. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.js +43 -0
  308. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.js.map +1 -0
  309. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +10 -0
  310. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  311. package/build/dist/Server/Infrastructure/Redis.js +31 -8
  312. package/build/dist/Server/Infrastructure/Redis.js.map +1 -1
  313. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +30 -4
  314. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  315. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +62 -5
  316. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  317. package/build/dist/Server/Services/AnalyticsDatabaseService.js +1 -1
  318. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  319. package/build/dist/Server/Services/BillingService.js +85 -23
  320. package/build/dist/Server/Services/BillingService.js.map +1 -1
  321. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +166 -0
  322. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -0
  323. package/build/dist/Server/Services/CephClusterLabelRuleService.js +13 -0
  324. package/build/dist/Server/Services/CephClusterLabelRuleService.js.map +1 -0
  325. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +186 -0
  326. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -0
  327. package/build/dist/Server/Services/CephClusterOwnerRuleService.js +13 -0
  328. package/build/dist/Server/Services/CephClusterOwnerRuleService.js.map +1 -0
  329. package/build/dist/Server/Services/CephClusterOwnerTeamService.js +9 -0
  330. package/build/dist/Server/Services/CephClusterOwnerTeamService.js.map +1 -0
  331. package/build/dist/Server/Services/CephClusterOwnerUserService.js +9 -0
  332. package/build/dist/Server/Services/CephClusterOwnerUserService.js.map +1 -0
  333. package/build/dist/Server/Services/CephClusterService.js +353 -0
  334. package/build/dist/Server/Services/CephClusterService.js.map +1 -0
  335. package/build/dist/Server/Services/CephResourceService.js +257 -0
  336. package/build/dist/Server/Services/CephResourceService.js.map +1 -0
  337. package/build/dist/Server/Services/CloudResourceService.js +10 -2
  338. package/build/dist/Server/Services/CloudResourceService.js.map +1 -1
  339. package/build/dist/Server/Services/DockerHostService.js +10 -2
  340. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  341. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +168 -0
  342. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -0
  343. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js +13 -0
  344. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js.map +1 -0
  345. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +188 -0
  346. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -0
  347. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js +13 -0
  348. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js.map +1 -0
  349. package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js +9 -0
  350. package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js.map +1 -0
  351. package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js +9 -0
  352. package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js.map +1 -0
  353. package/build/dist/Server/Services/DockerSwarmClusterService.js +353 -0
  354. package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -0
  355. package/build/dist/Server/Services/DockerSwarmResourceService.js +258 -0
  356. package/build/dist/Server/Services/DockerSwarmResourceService.js.map +1 -0
  357. package/build/dist/Server/Services/ExceptionAggregationService.js +3 -0
  358. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  359. package/build/dist/Server/Services/HostService.js +10 -2
  360. package/build/dist/Server/Services/HostService.js.map +1 -1
  361. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +28 -4
  362. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
  363. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +62 -5
  364. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
  365. package/build/dist/Server/Services/IncidentService.js +8 -0
  366. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  367. package/build/dist/Server/Services/Index.js +38 -0
  368. package/build/dist/Server/Services/Index.js.map +1 -1
  369. package/build/dist/Server/Services/KubernetesClusterService.js +10 -2
  370. package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
  371. package/build/dist/Server/Services/LogAggregationService.js +3 -0
  372. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  373. package/build/dist/Server/Services/MetricAggregationService.js +3 -0
  374. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  375. package/build/dist/Server/Services/OpenTelemetryIngestService.js +69 -9
  376. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  377. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +166 -0
  378. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -0
  379. package/build/dist/Server/Services/PodmanHostLabelRuleService.js +13 -0
  380. package/build/dist/Server/Services/PodmanHostLabelRuleService.js.map +1 -0
  381. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +186 -0
  382. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -0
  383. package/build/dist/Server/Services/PodmanHostOwnerRuleService.js +13 -0
  384. package/build/dist/Server/Services/PodmanHostOwnerRuleService.js.map +1 -0
  385. package/build/dist/Server/Services/PodmanHostOwnerTeamService.js +9 -0
  386. package/build/dist/Server/Services/PodmanHostOwnerTeamService.js.map +1 -0
  387. package/build/dist/Server/Services/PodmanHostOwnerUserService.js +9 -0
  388. package/build/dist/Server/Services/PodmanHostOwnerUserService.js.map +1 -0
  389. package/build/dist/Server/Services/PodmanHostService.js +319 -0
  390. package/build/dist/Server/Services/PodmanHostService.js.map +1 -0
  391. package/build/dist/Server/Services/PodmanResourceService.js +196 -0
  392. package/build/dist/Server/Services/PodmanResourceService.js.map +1 -0
  393. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +166 -0
  394. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -0
  395. package/build/dist/Server/Services/ProxmoxClusterLabelRuleService.js +13 -0
  396. package/build/dist/Server/Services/ProxmoxClusterLabelRuleService.js.map +1 -0
  397. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +186 -0
  398. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -0
  399. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleService.js +13 -0
  400. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleService.js.map +1 -0
  401. package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js +9 -0
  402. package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js.map +1 -0
  403. package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js +9 -0
  404. package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js.map +1 -0
  405. package/build/dist/Server/Services/ProxmoxClusterService.js +337 -0
  406. package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -0
  407. package/build/dist/Server/Services/ProxmoxResourceService.js +285 -0
  408. package/build/dist/Server/Services/ProxmoxResourceService.js.map +1 -0
  409. package/build/dist/Server/Services/RumApplicationService.js +10 -2
  410. package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
  411. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +30 -4
  412. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  413. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +62 -5
  414. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  415. package/build/dist/Server/Services/ServerlessFunctionService.js +10 -2
  416. package/build/dist/Server/Services/ServerlessFunctionService.js.map +1 -1
  417. package/build/dist/Server/Services/TelemetryUsageBillingService.js +43 -3
  418. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  419. package/build/dist/Server/Services/TraceAggregationService.js +3 -0
  420. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  421. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +8 -25
  422. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  423. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +13 -0
  424. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  425. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +44 -0
  426. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  427. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +118 -0
  428. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -0
  429. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +422 -4
  430. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  431. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +137 -8
  432. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  433. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +32 -6
  434. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  435. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +6 -1
  436. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  437. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +39 -0
  438. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  439. package/build/dist/Server/Utils/Profiling.js +24 -3
  440. package/build/dist/Server/Utils/Profiling.js.map +1 -1
  441. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +4 -0
  442. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  443. package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js +854 -0
  444. package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js.map +1 -0
  445. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +30 -0
  446. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  447. package/build/dist/Server/Utils/Telemetry/Telemetry.js +6 -0
  448. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  449. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +80 -0
  450. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  451. package/build/dist/Server/Utils/Telemetry.js +8 -10
  452. package/build/dist/Server/Utils/Telemetry.js.map +1 -1
  453. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js +69 -0
  454. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js.map +1 -0
  455. package/build/dist/Types/Dashboard/DashboardComponentType.js +11 -0
  456. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  457. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +4 -0
  458. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  459. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.js +2 -0
  460. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.js.map +1 -0
  461. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.js +2 -0
  462. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.js.map +1 -0
  463. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js +2 -0
  464. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js.map +1 -0
  465. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js +2 -0
  466. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js.map +1 -0
  467. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js +2 -0
  468. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js.map +1 -0
  469. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js +2 -0
  470. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js.map +1 -0
  471. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js +2 -0
  472. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js.map +1 -0
  473. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js +2 -0
  474. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js.map +1 -0
  475. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js +2 -0
  476. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js.map +1 -0
  477. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.js +2 -0
  478. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.js.map +1 -0
  479. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.js +2 -0
  480. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.js.map +1 -0
  481. package/build/dist/Types/Dashboard/DashboardTemplates.js +562 -0
  482. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  483. package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.js +359 -0
  484. package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.js.map +1 -0
  485. package/build/dist/Types/Icon/IconProp.js +3 -0
  486. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  487. package/build/dist/Types/Monitor/CephAlertTemplates.js +1379 -0
  488. package/build/dist/Types/Monitor/CephAlertTemplates.js.map +1 -0
  489. package/build/dist/Types/Monitor/CephMetricCatalog.js +353 -0
  490. package/build/dist/Types/Monitor/CephMetricCatalog.js.map +1 -0
  491. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js +358 -0
  492. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js.map +1 -0
  493. package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js +103 -0
  494. package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js.map +1 -0
  495. package/build/dist/Types/Monitor/HostAlertTemplates.js +365 -0
  496. package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -0
  497. package/build/dist/Types/Monitor/HostMetricCatalog.js +138 -0
  498. package/build/dist/Types/Monitor/HostMetricCatalog.js.map +1 -0
  499. package/build/dist/Types/Monitor/MonitorStep.js +115 -0
  500. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  501. package/build/dist/Types/Monitor/MonitorStepCephMonitor.js +34 -0
  502. package/build/dist/Types/Monitor/MonitorStepCephMonitor.js.map +1 -0
  503. package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js +21 -0
  504. package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js.map +1 -0
  505. package/build/dist/Types/Monitor/MonitorStepHostMonitor.js +20 -0
  506. package/build/dist/Types/Monitor/MonitorStepHostMonitor.js.map +1 -0
  507. package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js +21 -0
  508. package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js.map +1 -0
  509. package/build/dist/Types/Monitor/MonitorStepProxmoxMonitor.js +36 -0
  510. package/build/dist/Types/Monitor/MonitorStepProxmoxMonitor.js.map +1 -0
  511. package/build/dist/Types/Monitor/MonitorType.js +66 -1
  512. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  513. package/build/dist/Types/Monitor/PodmanAlertTemplates.js +410 -0
  514. package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -0
  515. package/build/dist/Types/Monitor/PodmanMetricCatalog.js +192 -0
  516. package/build/dist/Types/Monitor/PodmanMetricCatalog.js.map +1 -0
  517. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +743 -0
  518. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js.map +1 -0
  519. package/build/dist/Types/Monitor/ProxmoxMetricCatalog.js +320 -0
  520. package/build/dist/Types/Monitor/ProxmoxMetricCatalog.js.map +1 -0
  521. package/build/dist/Types/Permission.js +824 -0
  522. package/build/dist/Types/Permission.js.map +1 -1
  523. package/build/dist/Types/Podman/PodmanInventoryExtractor.js +293 -0
  524. package/build/dist/Types/Podman/PodmanInventoryExtractor.js.map +1 -0
  525. package/build/dist/Types/Telemetry/EntityType.js +23 -0
  526. package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
  527. package/build/dist/Types/Telemetry/ServiceType.js +4 -0
  528. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  529. package/build/dist/UI/Components/Icon/Icon.js +49 -0
  530. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  531. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +30 -2
  532. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  533. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +22 -0
  534. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  535. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +11 -1
  536. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  537. package/build/dist/UI/Utils/Telemetry/Telemetry.js +11 -10
  538. package/build/dist/UI/Utils/Telemetry/Telemetry.js.map +1 -1
  539. package/build/dist/UI/Utils/TelemetryService.js +6 -2
  540. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  541. package/build/dist/Utils/Dashboard/Components/DashboardCephOsdListComponent.js +50 -0
  542. package/build/dist/Utils/Dashboard/Components/DashboardCephOsdListComponent.js.map +1 -0
  543. package/build/dist/Utils/Dashboard/Components/DashboardCephPoolListComponent.js +27 -0
  544. package/build/dist/Utils/Dashboard/Components/DashboardCephPoolListComponent.js.map +1 -0
  545. package/build/dist/Utils/Dashboard/Components/DashboardCephResourceListShared.js +46 -0
  546. package/build/dist/Utils/Dashboard/Components/DashboardCephResourceListShared.js.map +1 -0
  547. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js +55 -0
  548. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js.map +1 -0
  549. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js +46 -0
  550. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js.map +1 -0
  551. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js +55 -0
  552. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js.map +1 -0
  553. package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js +77 -0
  554. package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js.map +1 -0
  555. package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js +71 -0
  556. package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js.map +1 -0
  557. package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js +77 -0
  558. package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js.map +1 -0
  559. package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js +68 -0
  560. package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js.map +1 -0
  561. package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js +68 -0
  562. package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js.map +1 -0
  563. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.js +55 -0
  564. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.js.map +1 -0
  565. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.js +42 -0
  566. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.js.map +1 -0
  567. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.js +46 -0
  568. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.js.map +1 -0
  569. package/build/dist/Utils/Dashboard/Components/Index.js +44 -0
  570. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  571. package/build/dist/Utils/Telemetry/EntityKey.js +41 -0
  572. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
  573. package/build/dist/Utils/Telemetry/EntityRelationship.js +3 -0
  574. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -1
  575. package/build/dist/Utils/Telemetry/HeartbeatAvailability.js +174 -0
  576. package/build/dist/Utils/Telemetry/HeartbeatAvailability.js.map +1 -0
  577. package/package.json +29 -21
@@ -149,3 +149,56 @@ export function keyForKubernetesCluster(
149
149
  identifyingAttributes: { "k8s.cluster.name": clusterIdentifier },
150
150
  });
151
151
  }
152
+
153
+ /**
154
+ * `proxmox.cluster.name` is the cluster identity (matches the ProxmoxCluster
155
+ * row's `name`, the project-unique join key written by
156
+ * `findOrCreateByName`; the ingest resolver is name-only — see
157
+ * `TelemetryEntity.proxmoxClusterIdentity`). Pass `ProxmoxCluster.name`.
158
+ */
159
+ export function keyForProxmoxCluster(
160
+ projectId: string,
161
+ clusterName: string,
162
+ ): string {
163
+ return computeEntityKey({
164
+ projectId,
165
+ entityType: EntityType.ProxmoxCluster,
166
+ identifyingAttributes: { "proxmox.cluster.name": clusterName },
167
+ });
168
+ }
169
+
170
+ /**
171
+ * `ceph.cluster.name` is the cluster identity (matches the CephCluster
172
+ * row's `name`, the project-unique join key written by
173
+ * `findOrCreateByName`; the ingest resolver is name-only —
174
+ * `ceph.cluster.fsid` is descriptive, never identity). Pass
175
+ * `CephCluster.name`.
176
+ */
177
+ export function keyForCephCluster(
178
+ projectId: string,
179
+ clusterName: string,
180
+ ): string {
181
+ return computeEntityKey({
182
+ projectId,
183
+ entityType: EntityType.CephCluster,
184
+ identifyingAttributes: { "ceph.cluster.name": clusterName },
185
+ });
186
+ }
187
+
188
+ /**
189
+ * `docker.swarm.cluster.name` is the cluster identity (matches the
190
+ * DockerSwarmCluster row's `name`, the project-unique join key written by
191
+ * `findOrCreateByName`; the ingest resolver is name-only — see
192
+ * `TelemetryEntity` docker.swarm.cluster resolver). Pass
193
+ * `DockerSwarmCluster.name`.
194
+ */
195
+ export function keyForDockerSwarmCluster(
196
+ projectId: string,
197
+ clusterName: string,
198
+ ): string {
199
+ return computeEntityKey({
200
+ projectId,
201
+ entityType: EntityType.DockerSwarmCluster,
202
+ identifyingAttributes: { "docker.swarm.cluster.name": clusterName },
203
+ });
204
+ }
@@ -57,6 +57,12 @@ const RULES: Record<string, EntityRelationshipType> = {
57
57
  EntityRelationshipType.MemberOf,
58
58
  [`${EntityType.KubernetesDeployment}|${EntityType.KubernetesCluster}`]:
59
59
  EntityRelationshipType.MemberOf,
60
+ [`${EntityType.ProxmoxNode}|${EntityType.ProxmoxCluster}`]:
61
+ EntityRelationshipType.MemberOf,
62
+ [`${EntityType.ProxmoxGuest}|${EntityType.ProxmoxNode}`]:
63
+ EntityRelationshipType.RunsOn,
64
+ [`${EntityType.ProxmoxGuest}|${EntityType.ProxmoxCluster}`]:
65
+ EntityRelationshipType.MemberOf,
60
66
  };
61
67
 
62
68
  /** The relationship `fromType` → `toType` implies, or null if none. */
@@ -0,0 +1,262 @@
1
+ import AggregatedModel from "../../Types/BaseDatabase/AggregatedModel";
2
+ import AggregationInterval from "../../Types/BaseDatabase/AggregationInterval";
3
+ import AggregationIntervalUtil from "../../Types/BaseDatabase/AggregationIntervalUtil";
4
+
5
+ /*
6
+ * Shared availability-series builder for the synthetic
7
+ * `oneuptime.host.heartbeat` metric, used by the Host, Docker host,
8
+ * and Kubernetes cluster overview pages. Input is the result of a
9
+ * Count aggregation over the heartbeat metric; output is a step
10
+ * series (100 = up, 0 = down) plus an uptime percentage.
11
+ *
12
+ * ClickHouse only returns rows for buckets that contain data, so the
13
+ * empty (down) buckets must be synthesized client-side. Doing that
14
+ * naively — exact-match every grid timestamp against returned rows,
15
+ * count every miss as down — made the chart flap for healthy hosts
16
+ * (one ~30-60s heartbeat per bucket leaves zero margin), so this
17
+ * builder applies three rules the naive version lacked:
18
+ *
19
+ * 1. The bucket width is derived from the query window with the same
20
+ * thresholds the server's statement generator uses
21
+ * (AggregationIntervalUtil), never inferred from gaps in the data
22
+ * — inferring from gaps let a missing bucket double the inferred
23
+ * width and knock real rows off the reconstructed grid.
24
+ *
25
+ * 2. A bucket that cannot be fully evaluated yet — the in-progress
26
+ * bucket at the window's trailing edge, plus an ingest-lag buffer
27
+ * behind it — can prove the host UP (a heartbeat already arrived)
28
+ * but never DOWN (silence may just mean the batch is still in the
29
+ * ingest queue). Silent unevaluable buckets are excluded from both
30
+ * the series and the uptime %, instead of rendering as a false
31
+ * 0% spike that disappears on the next auto-refresh.
32
+ *
33
+ * 3. Hysteresis, on the Minute grid only: a single empty bucket whose
34
+ * grid neighbors show no downtime (at least one up, the other up or
35
+ * unevaluable) is bridged to UP. One missing beat is overwhelmingly
36
+ * export/transport jitter when the emission interval (~30-60s) is
37
+ * the same order as the bucket width; a real outage at that
38
+ * resolution always spans >= 2 consecutive buckets. At Hour and
39
+ * coarser widths an empty bucket means dozens of consecutive
40
+ * missed beats — genuine downtime — so no bridging applies there.
41
+ */
42
+
43
+ export interface HeartbeatAvailabilityPoint {
44
+ x: Date;
45
+ y: number;
46
+ }
47
+
48
+ export interface HeartbeatAvailabilityResult {
49
+ points: Array<HeartbeatAvailabilityPoint>;
50
+ /** Percentage 0-100, or null when no bucket could be evaluated. */
51
+ uptimePercent: number | null;
52
+ }
53
+
54
+ /*
55
+ * How long after a bucket closes we keep treating silence in it as
56
+ * "not evaluable yet" rather than "down". Covers collector export
57
+ * jitter + transport + ingest-queue wait for a heartbeat stamped near
58
+ * the end of the bucket.
59
+ *
60
+ * Worst-case downtime-onset-to-report on the Minute grid is the sum
61
+ * of: up to one bucket of in-bucket residual (outage right after a
62
+ * beat at a bucket start), one bucket to close, this lag buffer, and
63
+ * one more bucket for the bridge's right-neighbor witness to turn
64
+ * down — ~4 minutes total. The old behavior (report instantly, flap
65
+ * constantly on every refresh) was not worth those minutes.
66
+ */
67
+ export const HEARTBEAT_INGEST_LAG_MS: number = 60_000;
68
+
69
+ /*
70
+ * Upper bound on how far the ingest pipeline may backdate a heartbeat
71
+ * from the ingest wall clock when trusting the batch's own scrape
72
+ * timestamps (see the heartbeat stamping in OtelMetricsIngestService,
73
+ * which imports this). The invariant that keeps a floored heartbeat
74
+ * rendering as UP here: this bound must stay <= one Minute bucket
75
+ * (60s, where the floored stamp lands and proves the bucket up)
76
+ * + HEARTBEAT_INGEST_LAG_MS (the unevaluable shadow) — with the
77
+ * single transitional bucket in between rescued by the Minute-grid
78
+ * bridge. Raise it past that and behind-skewed host clocks get a
79
+ * permanent false "down" tail at the chart's right edge.
80
+ */
81
+ export const HEARTBEAT_MAX_BACKDATE_MS: number = 2 * 60_000;
82
+
83
+ export class HeartbeatAvailabilityUtil {
84
+ public static buildAvailabilitySeries(data: {
85
+ heartbeatData: Array<AggregatedModel>;
86
+ windowStart: Date;
87
+ windowEnd: Date;
88
+ now: Date;
89
+ }): HeartbeatAvailabilityResult {
90
+ const windowStartMs: number = data.windowStart.getTime();
91
+ const windowEndMs: number = data.windowEnd.getTime();
92
+ const nowMs: number = data.now.getTime();
93
+
94
+ if (
95
+ !Number.isFinite(windowStartMs) ||
96
+ !Number.isFinite(windowEndMs) ||
97
+ windowEndMs <= windowStartMs
98
+ ) {
99
+ return { points: [], uptimePercent: null };
100
+ }
101
+
102
+ const interval: AggregationInterval =
103
+ AggregationIntervalUtil.getAggregationIntervalForWindow({
104
+ startDate: data.windowStart,
105
+ endDate: data.windowEnd,
106
+ });
107
+ const bucketMs: number =
108
+ AggregationIntervalUtil.getAggregationIntervalMs(interval);
109
+
110
+ const rowTimestamps: Array<number> = [];
111
+ for (const p of data.heartbeatData) {
112
+ const t: number = this.getBucketTimestamp(p);
113
+ const c: number = Number(p["value"]);
114
+ if (Number.isFinite(t) && Number.isFinite(c) && c > 0) {
115
+ rowTimestamps.push(t);
116
+ }
117
+ }
118
+ rowTimestamps.sort((a: number, b: number): number => {
119
+ return a - b;
120
+ });
121
+
122
+ /*
123
+ * Anchor the grid to the first returned row rather than to the
124
+ * window start: server buckets are `toStartOfInterval`-aligned and
125
+ * the window start generally isn't, and anchoring to real data
126
+ * also absorbs any constant offset introduced by timestamp
127
+ * serialization. With no rows at all, anchor to the window start —
128
+ * everything is down regardless of alignment.
129
+ */
130
+ const anchorMs: number =
131
+ rowTimestamps.length > 0 ? rowTimestamps[0]! : windowStartMs;
132
+ const stepsBack: number = Math.ceil((anchorMs - windowStartMs) / bucketMs);
133
+ const gridStartMs: number = anchorMs - stepsBack * bucketMs;
134
+ const lastIndex: number = Math.floor(
135
+ (windowEndMs - gridStartMs) / bucketMs,
136
+ );
137
+
138
+ /*
139
+ * Snap each row to its nearest grid slot instead of requiring
140
+ * exact equality. Minute/hour buckets land exactly; day buckets
141
+ * can drift by an hour against a fixed 24h step when timestamps
142
+ * cross a DST boundary in the rendering timezone, and Month/Year
143
+ * widths are calendar-approximate — nearest-slot matching with a
144
+ * half-bucket tolerance absorbs all of those without ever mapping
145
+ * one row to two slots.
146
+ */
147
+ const presentSlots: Set<number> = new Set<number>();
148
+ for (const t of rowTimestamps) {
149
+ const index: number = Math.round((t - gridStartMs) / bucketMs);
150
+ if (index >= 0 && index <= lastIndex) {
151
+ presentSlots.add(index);
152
+ }
153
+ }
154
+
155
+ /*
156
+ * A bucket is only evaluable as DOWN once it has fully closed and
157
+ * the ingest-lag buffer has passed. Buckets are also partial when
158
+ * they start before the window does (leading edge of the grid).
159
+ */
160
+ const evaluableEndMs: number = Math.min(
161
+ windowEndMs,
162
+ nowMs - HEARTBEAT_INGEST_LAG_MS,
163
+ );
164
+
165
+ /*
166
+ * Classify every grid slot. "excluded" = unevaluable and silent
167
+ * (partial leading bucket, or trailing buckets still inside the
168
+ * in-progress/ingest-lag shadow) — neither up nor down, just
169
+ * unknown; it contributes nothing to the series or the uptime %.
170
+ */
171
+ type SlotState = "up" | "down" | "excluded";
172
+ const states: Array<SlotState> = [];
173
+ for (let index: number = 0; index <= lastIndex; index++) {
174
+ const startMs: number = gridStartMs + index * bucketMs;
175
+ const up: boolean = presentSlots.has(index);
176
+ const isPartial: boolean =
177
+ startMs < windowStartMs || startMs + bucketMs > evaluableEndMs;
178
+ if (up) {
179
+ states.push("up");
180
+ } else if (isPartial) {
181
+ states.push("excluded");
182
+ } else {
183
+ states.push("down");
184
+ }
185
+ }
186
+
187
+ /*
188
+ * Bridge single-bucket gaps — but only on the Minute grid. The
189
+ * hysteresis is justified by one missed 30-60s heartbeat emptying
190
+ * a 60s bucket; at Hour+ widths an empty bucket is dozens of
191
+ * consecutive missed beats — a real outage — and bridging it
192
+ * would erase up to a full bucket of genuine downtime from both
193
+ * the chart and the uptime %.
194
+ *
195
+ * Neighbor checks run in grid-index space against the ORIGINAL
196
+ * states (no chaining): a down slot bridges when both grid
197
+ * neighbors show no downtime AND at least one of them is a real
198
+ * up — an excluded or out-of-grid neighbor is unknown, not
199
+ * evidence of life, so it counts as a wildcard but never as the
200
+ * sole witness. This covers the window edges regardless of
201
+ * whether the window happens to align with a bucket boundary: a
202
+ * jitter miss in the first or last evaluable bucket bridges off
203
+ * its single up neighbor instead of rendering a one-refresh
204
+ * false-down flap.
205
+ */
206
+ const allowBridge: boolean = bucketMs <= 2 * 60_000;
207
+ const isBridged: (index: number) => boolean = (index: number): boolean => {
208
+ if (!allowBridge) {
209
+ return false;
210
+ }
211
+ const left: SlotState | undefined = states[index - 1];
212
+ const right: SlotState | undefined = states[index + 1];
213
+ const leftOk: boolean = left !== "down";
214
+ const rightOk: boolean = right !== "down";
215
+ return leftOk && rightOk && (left === "up" || right === "up");
216
+ };
217
+
218
+ const points: Array<HeartbeatAvailabilityPoint> = [];
219
+ let upCount: number = 0;
220
+ let evaluatedCount: number = 0;
221
+ for (let index: number = 0; index <= lastIndex; index++) {
222
+ const state: SlotState = states[index]!;
223
+ if (state === "excluded") {
224
+ continue;
225
+ }
226
+ const up: boolean = state === "up" || isBridged(index);
227
+ points.push({
228
+ x: new Date(gridStartMs + index * bucketMs),
229
+ y: up ? 100 : 0,
230
+ });
231
+ evaluatedCount++;
232
+ if (up) {
233
+ upCount++;
234
+ }
235
+ }
236
+
237
+ return {
238
+ points,
239
+ uptimePercent:
240
+ evaluatedCount > 0 ? (upCount / evaluatedCount) * 100 : null,
241
+ };
242
+ }
243
+
244
+ /*
245
+ * AggregatedModel exposes the bucket timestamp on `timestamp`, but
246
+ * the MV statement path aliases its time column to `time` — read
247
+ * whichever is present so rows are never silently dropped.
248
+ */
249
+ private static getBucketTimestamp(p: AggregatedModel): number {
250
+ const raw: unknown =
251
+ p["timestamp"] !== undefined ? p["timestamp"] : p["time"];
252
+ if (raw instanceof Date) {
253
+ return raw.getTime();
254
+ }
255
+ if (typeof raw === "string" || typeof raw === "number") {
256
+ return new Date(raw).getTime();
257
+ }
258
+ return NaN;
259
+ }
260
+ }
261
+
262
+ export default HeartbeatAvailabilityUtil;
@@ -10,8 +10,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import AlertEpisode from "./AlertEpisode";
11
11
  import AlertSeverity from "./AlertSeverity";
12
12
  import AlertState from "./AlertState";
13
+ import CephCluster from "./CephCluster";
13
14
  import DockerHost from "./DockerHost";
14
15
  import DockerResource from "./DockerResource";
16
+ import PodmanHost from "./PodmanHost";
17
+ import PodmanResource from "./PodmanResource";
15
18
  import Host from "./Host";
16
19
  import KubernetesCluster from "./KubernetesCluster";
17
20
  import KubernetesContainer from "./KubernetesContainer";
@@ -22,6 +25,8 @@ import MonitorStatus from "./MonitorStatus";
22
25
  import OnCallDutyPolicy from "./OnCallDutyPolicy";
23
26
  import Probe from "./Probe";
24
27
  import Project from "./Project";
28
+ import ProxmoxCluster from "./ProxmoxCluster";
29
+ import DockerSwarmCluster from "./DockerSwarmCluster";
25
30
  import Service from "./Service";
26
31
  import User from "./User";
27
32
  import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
@@ -66,7 +71,12 @@ let Alert = class Alert extends BaseModel {
66
71
  this.kubernetesResources = undefined;
67
72
  this.kubernetesContainers = undefined;
68
73
  this.dockerHosts = undefined;
74
+ this.podmanHosts = undefined;
75
+ this.proxmoxClusters = undefined;
76
+ this.dockerSwarmClusters = undefined;
77
+ this.cephClusters = undefined;
69
78
  this.dockerResources = undefined;
79
+ this.podmanResources = undefined;
70
80
  this.services = undefined;
71
81
  this.labels = undefined;
72
82
  this.currentAlertState = undefined;
@@ -779,6 +789,214 @@ __decorate([
779
789
  }),
780
790
  __metadata("design:type", Array)
781
791
  ], Alert.prototype, "dockerHosts", void 0);
792
+ __decorate([
793
+ ColumnAccessControl({
794
+ create: [
795
+ Permission.ProjectOwner,
796
+ Permission.ProjectAdmin,
797
+ Permission.ProjectMember,
798
+ Permission.AlertAdmin,
799
+ Permission.AlertMember,
800
+ Permission.CreateAlert,
801
+ ],
802
+ read: [
803
+ Permission.ProjectOwner,
804
+ Permission.ProjectAdmin,
805
+ Permission.ProjectMember,
806
+ Permission.Viewer,
807
+ Permission.AlertAdmin,
808
+ Permission.AlertMember,
809
+ Permission.AlertViewer,
810
+ Permission.ReadAlert,
811
+ ],
812
+ update: [
813
+ Permission.ProjectOwner,
814
+ Permission.ProjectAdmin,
815
+ Permission.ProjectMember,
816
+ Permission.AlertAdmin,
817
+ Permission.AlertMember,
818
+ Permission.EditAlert,
819
+ ],
820
+ }),
821
+ TableColumn({
822
+ required: false,
823
+ type: TableColumnType.EntityArray,
824
+ modelType: PodmanHost,
825
+ title: "Podman Hosts",
826
+ description: "List of Podman hosts affected by this alert.",
827
+ }),
828
+ ManyToMany(() => {
829
+ return PodmanHost;
830
+ }, { eager: false }),
831
+ JoinTable({
832
+ name: "AlertPodmanHost",
833
+ inverseJoinColumn: {
834
+ name: "podmanHostId",
835
+ referencedColumnName: "_id",
836
+ },
837
+ joinColumn: {
838
+ name: "alertId",
839
+ referencedColumnName: "_id",
840
+ },
841
+ }),
842
+ __metadata("design:type", Array)
843
+ ], Alert.prototype, "podmanHosts", void 0);
844
+ __decorate([
845
+ ColumnAccessControl({
846
+ create: [
847
+ Permission.ProjectOwner,
848
+ Permission.ProjectAdmin,
849
+ Permission.ProjectMember,
850
+ Permission.AlertAdmin,
851
+ Permission.AlertMember,
852
+ Permission.CreateAlert,
853
+ ],
854
+ read: [
855
+ Permission.ProjectOwner,
856
+ Permission.ProjectAdmin,
857
+ Permission.ProjectMember,
858
+ Permission.Viewer,
859
+ Permission.AlertAdmin,
860
+ Permission.AlertMember,
861
+ Permission.AlertViewer,
862
+ Permission.ReadAlert,
863
+ ],
864
+ update: [
865
+ Permission.ProjectOwner,
866
+ Permission.ProjectAdmin,
867
+ Permission.ProjectMember,
868
+ Permission.AlertAdmin,
869
+ Permission.AlertMember,
870
+ Permission.EditAlert,
871
+ ],
872
+ }),
873
+ TableColumn({
874
+ required: false,
875
+ type: TableColumnType.EntityArray,
876
+ modelType: ProxmoxCluster,
877
+ title: "Proxmox Clusters",
878
+ description: "List of Proxmox clusters affected by this alert.",
879
+ }),
880
+ ManyToMany(() => {
881
+ return ProxmoxCluster;
882
+ }, { eager: false }),
883
+ JoinTable({
884
+ name: "AlertProxmoxCluster",
885
+ inverseJoinColumn: {
886
+ name: "proxmoxClusterId",
887
+ referencedColumnName: "_id",
888
+ },
889
+ joinColumn: {
890
+ name: "alertId",
891
+ referencedColumnName: "_id",
892
+ },
893
+ }),
894
+ __metadata("design:type", Array)
895
+ ], Alert.prototype, "proxmoxClusters", void 0);
896
+ __decorate([
897
+ ColumnAccessControl({
898
+ create: [
899
+ Permission.ProjectOwner,
900
+ Permission.ProjectAdmin,
901
+ Permission.ProjectMember,
902
+ Permission.AlertAdmin,
903
+ Permission.AlertMember,
904
+ Permission.CreateAlert,
905
+ ],
906
+ read: [
907
+ Permission.ProjectOwner,
908
+ Permission.ProjectAdmin,
909
+ Permission.ProjectMember,
910
+ Permission.Viewer,
911
+ Permission.AlertAdmin,
912
+ Permission.AlertMember,
913
+ Permission.AlertViewer,
914
+ Permission.ReadAlert,
915
+ ],
916
+ update: [
917
+ Permission.ProjectOwner,
918
+ Permission.ProjectAdmin,
919
+ Permission.ProjectMember,
920
+ Permission.AlertAdmin,
921
+ Permission.AlertMember,
922
+ Permission.EditAlert,
923
+ ],
924
+ }),
925
+ TableColumn({
926
+ required: false,
927
+ type: TableColumnType.EntityArray,
928
+ modelType: DockerSwarmCluster,
929
+ title: "Docker Swarm Clusters",
930
+ description: "List of Docker Swarm clusters affected by this alert.",
931
+ }),
932
+ ManyToMany(() => {
933
+ return DockerSwarmCluster;
934
+ }, { eager: false }),
935
+ JoinTable({
936
+ name: "AlertDockerSwarmCluster",
937
+ inverseJoinColumn: {
938
+ name: "dockerSwarmClusterId",
939
+ referencedColumnName: "_id",
940
+ },
941
+ joinColumn: {
942
+ name: "alertId",
943
+ referencedColumnName: "_id",
944
+ },
945
+ }),
946
+ __metadata("design:type", Array)
947
+ ], Alert.prototype, "dockerSwarmClusters", void 0);
948
+ __decorate([
949
+ ColumnAccessControl({
950
+ create: [
951
+ Permission.ProjectOwner,
952
+ Permission.ProjectAdmin,
953
+ Permission.ProjectMember,
954
+ Permission.AlertAdmin,
955
+ Permission.AlertMember,
956
+ Permission.CreateAlert,
957
+ ],
958
+ read: [
959
+ Permission.ProjectOwner,
960
+ Permission.ProjectAdmin,
961
+ Permission.ProjectMember,
962
+ Permission.Viewer,
963
+ Permission.AlertAdmin,
964
+ Permission.AlertMember,
965
+ Permission.AlertViewer,
966
+ Permission.ReadAlert,
967
+ ],
968
+ update: [
969
+ Permission.ProjectOwner,
970
+ Permission.ProjectAdmin,
971
+ Permission.ProjectMember,
972
+ Permission.AlertAdmin,
973
+ Permission.AlertMember,
974
+ Permission.EditAlert,
975
+ ],
976
+ }),
977
+ TableColumn({
978
+ required: false,
979
+ type: TableColumnType.EntityArray,
980
+ modelType: CephCluster,
981
+ title: "Ceph Clusters",
982
+ description: "List of Ceph clusters affected by this alert.",
983
+ }),
984
+ ManyToMany(() => {
985
+ return CephCluster;
986
+ }, { eager: false }),
987
+ JoinTable({
988
+ name: "AlertCephCluster",
989
+ inverseJoinColumn: {
990
+ name: "cephClusterId",
991
+ referencedColumnName: "_id",
992
+ },
993
+ joinColumn: {
994
+ name: "alertId",
995
+ referencedColumnName: "_id",
996
+ },
997
+ }),
998
+ __metadata("design:type", Array)
999
+ ], Alert.prototype, "cephClusters", void 0);
782
1000
  __decorate([
783
1001
  ColumnAccessControl({
784
1002
  create: [
@@ -831,6 +1049,58 @@ __decorate([
831
1049
  }),
832
1050
  __metadata("design:type", Array)
833
1051
  ], Alert.prototype, "dockerResources", void 0);
1052
+ __decorate([
1053
+ ColumnAccessControl({
1054
+ create: [
1055
+ Permission.ProjectOwner,
1056
+ Permission.ProjectAdmin,
1057
+ Permission.ProjectMember,
1058
+ Permission.AlertAdmin,
1059
+ Permission.AlertMember,
1060
+ Permission.CreateAlert,
1061
+ ],
1062
+ read: [
1063
+ Permission.ProjectOwner,
1064
+ Permission.ProjectAdmin,
1065
+ Permission.ProjectMember,
1066
+ Permission.Viewer,
1067
+ Permission.AlertAdmin,
1068
+ Permission.AlertMember,
1069
+ Permission.AlertViewer,
1070
+ Permission.ReadAlert,
1071
+ ],
1072
+ update: [
1073
+ Permission.ProjectOwner,
1074
+ Permission.ProjectAdmin,
1075
+ Permission.ProjectMember,
1076
+ Permission.AlertAdmin,
1077
+ Permission.AlertMember,
1078
+ Permission.EditAlert,
1079
+ ],
1080
+ }),
1081
+ TableColumn({
1082
+ required: false,
1083
+ type: TableColumnType.EntityArray,
1084
+ modelType: PodmanResource,
1085
+ title: "Podman Resources",
1086
+ description: "List of Podman resources (containers, images, networks, volumes) affected by this alert.",
1087
+ }),
1088
+ ManyToMany(() => {
1089
+ return PodmanResource;
1090
+ }, { eager: false }),
1091
+ JoinTable({
1092
+ name: "AlertPodmanResource",
1093
+ inverseJoinColumn: {
1094
+ name: "podmanResourceId",
1095
+ referencedColumnName: "_id",
1096
+ },
1097
+ joinColumn: {
1098
+ name: "alertId",
1099
+ referencedColumnName: "_id",
1100
+ },
1101
+ }),
1102
+ __metadata("design:type", Array)
1103
+ ], Alert.prototype, "podmanResources", void 0);
834
1104
  __decorate([
835
1105
  ColumnAccessControl({
836
1106
  create: [