@oneuptime/common 11.0.2 → 11.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/Models/DatabaseModels/Alert.ts +166 -0
  2. package/Models/DatabaseModels/AlertLabelRule.ts +38 -0
  3. package/Models/DatabaseModels/AlertOwnerRule.ts +38 -0
  4. package/Models/DatabaseModels/DockerSwarmCluster.ts +989 -0
  5. package/Models/DatabaseModels/DockerSwarmClusterLabelRule.ts +514 -0
  6. package/Models/DatabaseModels/DockerSwarmClusterOwnerRule.ts +596 -0
  7. package/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.ts +487 -0
  8. package/Models/DatabaseModels/DockerSwarmClusterOwnerUser.ts +486 -0
  9. package/Models/DatabaseModels/DockerSwarmResource.ts +750 -0
  10. package/Models/DatabaseModels/Incident.ts +166 -0
  11. package/Models/DatabaseModels/IncidentLabelRule.ts +38 -0
  12. package/Models/DatabaseModels/IncidentOwnerRule.ts +38 -0
  13. package/Models/DatabaseModels/IncidentTemplate.ts +56 -0
  14. package/Models/DatabaseModels/Index.ts +24 -0
  15. package/Models/DatabaseModels/PodmanHost.ts +859 -0
  16. package/Models/DatabaseModels/PodmanHostLabelRule.ts +514 -0
  17. package/Models/DatabaseModels/PodmanHostOwnerRule.ts +596 -0
  18. package/Models/DatabaseModels/PodmanHostOwnerTeam.ts +487 -0
  19. package/Models/DatabaseModels/PodmanHostOwnerUser.ts +486 -0
  20. package/Models/DatabaseModels/PodmanResource.ts +498 -0
  21. package/Models/DatabaseModels/ScheduledMaintenance.ts +110 -0
  22. package/Models/DatabaseModels/ScheduledMaintenanceLabelRule.ts +38 -0
  23. package/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.ts +38 -0
  24. package/Models/DatabaseModels/ScheduledMaintenanceTemplate.ts +56 -0
  25. package/Models/DatabaseModels/TelemetryException.ts +2 -0
  26. package/Server/API/DashboardAPI.ts +89 -0
  27. package/Server/API/DockerSwarmResourceAPI.ts +137 -0
  28. package/Server/API/TelemetryAPI.ts +8 -1
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.ts +3199 -0
  30. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +2 -0
  31. package/Server/Services/AlertLabelRuleEngineService.ts +29 -0
  32. package/Server/Services/AlertOwnerRuleEngineService.ts +67 -0
  33. package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +214 -0
  34. package/Server/Services/DockerSwarmClusterLabelRuleService.ts +14 -0
  35. package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +232 -0
  36. package/Server/Services/DockerSwarmClusterOwnerRuleService.ts +14 -0
  37. package/Server/Services/DockerSwarmClusterOwnerTeamService.ts +10 -0
  38. package/Server/Services/DockerSwarmClusterOwnerUserService.ts +10 -0
  39. package/Server/Services/DockerSwarmClusterService.ts +404 -0
  40. package/Server/Services/DockerSwarmResourceService.ts +381 -0
  41. package/Server/Services/ExceptionAggregationService.ts +1 -0
  42. package/Server/Services/IncidentLabelRuleEngineService.ts +27 -0
  43. package/Server/Services/IncidentOwnerRuleEngineService.ts +67 -0
  44. package/Server/Services/IncidentService.ts +11 -0
  45. package/Server/Services/Index.ts +14 -0
  46. package/Server/Services/LogAggregationService.ts +1 -0
  47. package/Server/Services/MetricAggregationService.ts +1 -0
  48. package/Server/Services/OpenTelemetryIngestService.ts +37 -0
  49. package/Server/Services/PodmanHostLabelRuleEngineService.ts +198 -0
  50. package/Server/Services/PodmanHostLabelRuleService.ts +14 -0
  51. package/Server/Services/PodmanHostOwnerRuleEngineService.ts +216 -0
  52. package/Server/Services/PodmanHostOwnerRuleService.ts +14 -0
  53. package/Server/Services/PodmanHostOwnerTeamService.ts +10 -0
  54. package/Server/Services/PodmanHostOwnerUserService.ts +10 -0
  55. package/Server/Services/PodmanHostService.ts +368 -0
  56. package/Server/Services/PodmanResourceService.ts +310 -0
  57. package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +29 -0
  58. package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +67 -0
  59. package/Server/Services/TelemetryUsageBillingService.ts +18 -0
  60. package/Server/Services/TraceAggregationService.ts +1 -0
  61. package/Server/Types/Database/Permissions/OwnerTableRegistry.ts +13 -0
  62. package/Server/Utils/Monitor/MonitorAlert.ts +10 -0
  63. package/Server/Utils/Monitor/MonitorClusterContext.ts +35 -6
  64. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +306 -0
  65. package/Server/Utils/Monitor/MonitorIncident.ts +45 -0
  66. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +17 -0
  67. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +3 -0
  68. package/Server/Utils/Monitor/SeriesResourceLabels.ts +26 -0
  69. package/Server/Utils/Telemetry/ResourceFacetResolver.ts +49 -0
  70. package/Server/Utils/Telemetry/Telemetry.ts +10 -0
  71. package/Server/Utils/Telemetry/TelemetryEntity.ts +22 -0
  72. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +1 -0
  73. package/Tests/Types/DockerSwarm/DockerSwarmInventoryExtractor.test.ts +667 -0
  74. package/Tests/Types/Monitor/DockerSwarmAlertTemplates.test.ts +528 -0
  75. package/Types/Dashboard/DashboardComponentType.ts +7 -0
  76. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +2 -0
  77. package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.ts +17 -0
  78. package/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.ts +17 -0
  79. package/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.ts +16 -0
  80. package/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.ts +15 -0
  81. package/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.ts +16 -0
  82. package/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.ts +15 -0
  83. package/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.ts +15 -0
  84. package/Types/Dashboard/DashboardTemplates.ts +194 -0
  85. package/Types/DockerSwarm/DockerSwarmInventoryExtractor.ts +452 -0
  86. package/Types/Icon/IconProp.ts +1 -0
  87. package/Types/Monitor/DockerSwarmAlertTemplates.ts +461 -0
  88. package/Types/Monitor/DockerSwarmMetricCatalog.ts +139 -0
  89. package/Types/Monitor/HostAlertTemplates.ts +455 -0
  90. package/Types/Monitor/HostMetricCatalog.ts +177 -0
  91. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +21 -0
  92. package/Types/Monitor/MonitorStep.ts +99 -0
  93. package/Types/Monitor/MonitorStepDockerSwarmMonitor.ts +74 -0
  94. package/Types/Monitor/MonitorStepHostMonitor.ts +30 -0
  95. package/Types/Monitor/MonitorStepPodmanMonitor.ts +38 -0
  96. package/Types/Monitor/MonitorType.ts +42 -0
  97. package/Types/Monitor/PodmanAlertTemplates.ts +507 -0
  98. package/Types/Monitor/PodmanMetricCatalog.ts +226 -0
  99. package/Types/Permission.ts +465 -4
  100. package/Types/Podman/PodmanInventoryExtractor.ts +343 -0
  101. package/Types/Telemetry/EntityType.ts +12 -0
  102. package/Types/Telemetry/ServiceType.ts +2 -0
  103. package/UI/Components/Icon/Icon.tsx +57 -0
  104. package/UI/Components/LogsViewer/LogsViewer.tsx +44 -1
  105. package/UI/Components/LogsViewer/components/LogsFacetSidebar.tsx +28 -0
  106. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +6 -0
  107. package/UI/Utils/TelemetryService.ts +1 -0
  108. package/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.ts +70 -0
  109. package/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.ts +61 -0
  110. package/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.ts +71 -0
  111. package/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.ts +100 -0
  112. package/Utils/Dashboard/Components/DashboardPodmanHostListComponent.ts +88 -0
  113. package/Utils/Dashboard/Components/DashboardPodmanImageListComponent.ts +97 -0
  114. package/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.ts +87 -0
  115. package/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.ts +87 -0
  116. package/Utils/Dashboard/Components/Index.ts +51 -0
  117. package/Utils/Telemetry/EntityKey.ts +18 -0
  118. package/build/dist/Models/DatabaseModels/Alert.js +162 -0
  119. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  120. package/build/dist/Models/DatabaseModels/AlertLabelRule.js +39 -0
  121. package/build/dist/Models/DatabaseModels/AlertLabelRule.js.map +1 -1
  122. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js +39 -0
  123. package/build/dist/Models/DatabaseModels/AlertOwnerRule.js.map +1 -1
  124. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js +1018 -0
  125. package/build/dist/Models/DatabaseModels/DockerSwarmCluster.js.map +1 -0
  126. package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js +522 -0
  127. package/build/dist/Models/DatabaseModels/DockerSwarmClusterLabelRule.js.map +1 -0
  128. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js +603 -0
  129. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerRule.js.map +1 -0
  130. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js +503 -0
  131. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerTeam.js.map +1 -0
  132. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js +502 -0
  133. package/build/dist/Models/DatabaseModels/DockerSwarmClusterOwnerUser.js.map +1 -0
  134. package/build/dist/Models/DatabaseModels/DockerSwarmResource.js +787 -0
  135. package/build/dist/Models/DatabaseModels/DockerSwarmResource.js.map +1 -0
  136. package/build/dist/Models/DatabaseModels/Incident.js +162 -0
  137. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  138. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js +39 -0
  139. package/build/dist/Models/DatabaseModels/IncidentLabelRule.js.map +1 -1
  140. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js +39 -0
  141. package/build/dist/Models/DatabaseModels/IncidentOwnerRule.js.map +1 -1
  142. package/build/dist/Models/DatabaseModels/IncidentTemplate.js +54 -0
  143. package/build/dist/Models/DatabaseModels/IncidentTemplate.js.map +1 -1
  144. package/build/dist/Models/DatabaseModels/Index.js +24 -0
  145. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  146. package/build/dist/Models/DatabaseModels/PodmanHost.js +885 -0
  147. package/build/dist/Models/DatabaseModels/PodmanHost.js.map +1 -0
  148. package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js +522 -0
  149. package/build/dist/Models/DatabaseModels/PodmanHostLabelRule.js.map +1 -0
  150. package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js +603 -0
  151. package/build/dist/Models/DatabaseModels/PodmanHostOwnerRule.js.map +1 -0
  152. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js +503 -0
  153. package/build/dist/Models/DatabaseModels/PodmanHostOwnerTeam.js.map +1 -0
  154. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js +502 -0
  155. package/build/dist/Models/DatabaseModels/PodmanHostOwnerUser.js.map +1 -0
  156. package/build/dist/Models/DatabaseModels/PodmanResource.js +526 -0
  157. package/build/dist/Models/DatabaseModels/PodmanResource.js.map +1 -0
  158. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +108 -0
  159. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  160. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js +39 -0
  161. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceLabelRule.js.map +1 -1
  162. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js +39 -0
  163. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceOwnerRule.js.map +1 -1
  164. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js +54 -0
  165. package/build/dist/Models/DatabaseModels/ScheduledMaintenanceTemplate.js.map +1 -1
  166. package/build/dist/Models/DatabaseModels/TelemetryException.js +2 -0
  167. package/build/dist/Models/DatabaseModels/TelemetryException.js.map +1 -1
  168. package/build/dist/Server/API/DashboardAPI.js +89 -0
  169. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  170. package/build/dist/Server/API/DockerSwarmResourceAPI.js +100 -0
  171. package/build/dist/Server/API/DockerSwarmResourceAPI.js.map +1 -0
  172. package/build/dist/Server/API/TelemetryAPI.js +8 -1
  173. package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
  174. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js +1100 -0
  175. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.js.map +1 -0
  176. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +2 -0
  177. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  178. package/build/dist/Server/Services/AlertLabelRuleEngineService.js +30 -4
  179. package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
  180. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +62 -5
  181. package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
  182. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +168 -0
  183. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -0
  184. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js +13 -0
  185. package/build/dist/Server/Services/DockerSwarmClusterLabelRuleService.js.map +1 -0
  186. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +188 -0
  187. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -0
  188. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js +13 -0
  189. package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleService.js.map +1 -0
  190. package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js +9 -0
  191. package/build/dist/Server/Services/DockerSwarmClusterOwnerTeamService.js.map +1 -0
  192. package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js +9 -0
  193. package/build/dist/Server/Services/DockerSwarmClusterOwnerUserService.js.map +1 -0
  194. package/build/dist/Server/Services/DockerSwarmClusterService.js +353 -0
  195. package/build/dist/Server/Services/DockerSwarmClusterService.js.map +1 -0
  196. package/build/dist/Server/Services/DockerSwarmResourceService.js +258 -0
  197. package/build/dist/Server/Services/DockerSwarmResourceService.js.map +1 -0
  198. package/build/dist/Server/Services/ExceptionAggregationService.js +1 -0
  199. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  200. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +28 -4
  201. package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
  202. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +62 -5
  203. package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
  204. package/build/dist/Server/Services/IncidentService.js +8 -0
  205. package/build/dist/Server/Services/IncidentService.js.map +1 -1
  206. package/build/dist/Server/Services/Index.js +14 -0
  207. package/build/dist/Server/Services/Index.js.map +1 -1
  208. package/build/dist/Server/Services/LogAggregationService.js +1 -0
  209. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  210. package/build/dist/Server/Services/MetricAggregationService.js +1 -0
  211. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  212. package/build/dist/Server/Services/OpenTelemetryIngestService.js +43 -13
  213. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  214. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +166 -0
  215. package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -0
  216. package/build/dist/Server/Services/PodmanHostLabelRuleService.js +13 -0
  217. package/build/dist/Server/Services/PodmanHostLabelRuleService.js.map +1 -0
  218. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +186 -0
  219. package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -0
  220. package/build/dist/Server/Services/PodmanHostOwnerRuleService.js +13 -0
  221. package/build/dist/Server/Services/PodmanHostOwnerRuleService.js.map +1 -0
  222. package/build/dist/Server/Services/PodmanHostOwnerTeamService.js +9 -0
  223. package/build/dist/Server/Services/PodmanHostOwnerTeamService.js.map +1 -0
  224. package/build/dist/Server/Services/PodmanHostOwnerUserService.js +9 -0
  225. package/build/dist/Server/Services/PodmanHostOwnerUserService.js.map +1 -0
  226. package/build/dist/Server/Services/PodmanHostService.js +319 -0
  227. package/build/dist/Server/Services/PodmanHostService.js.map +1 -0
  228. package/build/dist/Server/Services/PodmanResourceService.js +196 -0
  229. package/build/dist/Server/Services/PodmanResourceService.js.map +1 -0
  230. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +30 -4
  231. package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
  232. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +62 -5
  233. package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
  234. package/build/dist/Server/Services/TelemetryUsageBillingService.js +13 -0
  235. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  236. package/build/dist/Server/Services/TraceAggregationService.js +1 -0
  237. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  238. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js +13 -0
  239. package/build/dist/Server/Types/Database/Permissions/OwnerTableRegistry.js.map +1 -1
  240. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +8 -0
  241. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  242. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +35 -7
  243. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -1
  244. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +194 -0
  245. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  246. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +35 -1
  247. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  248. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +9 -0
  249. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  250. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +3 -0
  251. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  252. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +16 -0
  253. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  254. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js +30 -0
  255. package/build/dist/Server/Utils/Telemetry/ResourceFacetResolver.js.map +1 -1
  256. package/build/dist/Server/Utils/Telemetry/Telemetry.js +6 -0
  257. package/build/dist/Server/Utils/Telemetry/Telemetry.js.map +1 -1
  258. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +18 -0
  259. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  260. package/build/dist/Types/Dashboard/DashboardComponentType.js +7 -0
  261. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  262. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +2 -0
  263. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  264. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js +2 -0
  265. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmNodeListComponent.js.map +1 -0
  266. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js +2 -0
  267. package/build/dist/Types/Dashboard/DashboardComponents/DashboardDockerSwarmServiceListComponent.js.map +1 -0
  268. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js +2 -0
  269. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanContainerListComponent.js.map +1 -0
  270. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js +2 -0
  271. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanHostListComponent.js.map +1 -0
  272. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js +2 -0
  273. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanImageListComponent.js.map +1 -0
  274. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js +2 -0
  275. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanNetworkListComponent.js.map +1 -0
  276. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js +2 -0
  277. package/build/dist/Types/Dashboard/DashboardComponents/DashboardPodmanVolumeListComponent.js.map +1 -0
  278. package/build/dist/Types/Dashboard/DashboardTemplates.js +168 -0
  279. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  280. package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.js +359 -0
  281. package/build/dist/Types/DockerSwarm/DockerSwarmInventoryExtractor.js.map +1 -0
  282. package/build/dist/Types/Icon/IconProp.js +1 -0
  283. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  284. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js +358 -0
  285. package/build/dist/Types/Monitor/DockerSwarmAlertTemplates.js.map +1 -0
  286. package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js +103 -0
  287. package/build/dist/Types/Monitor/DockerSwarmMetricCatalog.js.map +1 -0
  288. package/build/dist/Types/Monitor/HostAlertTemplates.js +365 -0
  289. package/build/dist/Types/Monitor/HostAlertTemplates.js.map +1 -0
  290. package/build/dist/Types/Monitor/HostMetricCatalog.js +138 -0
  291. package/build/dist/Types/Monitor/HostMetricCatalog.js.map +1 -0
  292. package/build/dist/Types/Monitor/MonitorStep.js +69 -0
  293. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  294. package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js +21 -0
  295. package/build/dist/Types/Monitor/MonitorStepDockerSwarmMonitor.js.map +1 -0
  296. package/build/dist/Types/Monitor/MonitorStepHostMonitor.js +20 -0
  297. package/build/dist/Types/Monitor/MonitorStepHostMonitor.js.map +1 -0
  298. package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js +21 -0
  299. package/build/dist/Types/Monitor/MonitorStepPodmanMonitor.js.map +1 -0
  300. package/build/dist/Types/Monitor/MonitorType.js +39 -0
  301. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  302. package/build/dist/Types/Monitor/PodmanAlertTemplates.js +410 -0
  303. package/build/dist/Types/Monitor/PodmanAlertTemplates.js.map +1 -0
  304. package/build/dist/Types/Monitor/PodmanMetricCatalog.js +192 -0
  305. package/build/dist/Types/Monitor/PodmanMetricCatalog.js.map +1 -0
  306. package/build/dist/Types/Permission.js +420 -4
  307. package/build/dist/Types/Permission.js.map +1 -1
  308. package/build/dist/Types/Podman/PodmanInventoryExtractor.js +293 -0
  309. package/build/dist/Types/Podman/PodmanInventoryExtractor.js.map +1 -0
  310. package/build/dist/Types/Telemetry/EntityType.js +12 -0
  311. package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
  312. package/build/dist/Types/Telemetry/ServiceType.js +2 -0
  313. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  314. package/build/dist/UI/Components/Icon/Icon.js +16 -0
  315. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  316. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +30 -2
  317. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  318. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js +22 -0
  319. package/build/dist/UI/Components/LogsViewer/components/LogsFacetSidebar.js.map +1 -1
  320. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +6 -0
  321. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  322. package/build/dist/UI/Utils/TelemetryService.js +1 -0
  323. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  324. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js +55 -0
  325. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmNodeListComponent.js.map +1 -0
  326. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js +46 -0
  327. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmResourceListShared.js.map +1 -0
  328. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js +55 -0
  329. package/build/dist/Utils/Dashboard/Components/DashboardDockerSwarmServiceListComponent.js.map +1 -0
  330. package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js +77 -0
  331. package/build/dist/Utils/Dashboard/Components/DashboardPodmanContainerListComponent.js.map +1 -0
  332. package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js +71 -0
  333. package/build/dist/Utils/Dashboard/Components/DashboardPodmanHostListComponent.js.map +1 -0
  334. package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js +77 -0
  335. package/build/dist/Utils/Dashboard/Components/DashboardPodmanImageListComponent.js.map +1 -0
  336. package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js +68 -0
  337. package/build/dist/Utils/Dashboard/Components/DashboardPodmanNetworkListComponent.js.map +1 -0
  338. package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js +68 -0
  339. package/build/dist/Utils/Dashboard/Components/DashboardPodmanVolumeListComponent.js.map +1 -0
  340. package/build/dist/Utils/Dashboard/Components/Index.js +28 -0
  341. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  342. package/build/dist/Utils/Telemetry/EntityKey.js +14 -0
  343. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
  344. package/package.json +1 -1
@@ -0,0 +1,787 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import DockerSwarmCluster from "./DockerSwarmCluster";
11
+ import Project from "./Project";
12
+ import User from "./User";
13
+ import BaseModel from "./DatabaseBaseModel/DatabaseBaseModel";
14
+ import Route from "../../Types/API/Route";
15
+ import ColumnAccessControl from "../../Types/Database/AccessControl/ColumnAccessControl";
16
+ import TableAccessControl from "../../Types/Database/AccessControl/TableAccessControl";
17
+ import ColumnLength from "../../Types/Database/ColumnLength";
18
+ import ColumnType from "../../Types/Database/ColumnType";
19
+ import CrudApiEndpoint from "../../Types/Database/CrudApiEndpoint";
20
+ import TableColumn from "../../Types/Database/TableColumn";
21
+ import TableColumnType from "../../Types/Database/TableColumnType";
22
+ import TableMetadata from "../../Types/Database/TableMetadata";
23
+ import TenantColumn from "../../Types/Database/TenantColumn";
24
+ import IconProp from "../../Types/Icon/IconProp";
25
+ import ObjectID from "../../Types/ObjectID";
26
+ import Permission from "../../Types/Permission";
27
+ import { Column, Entity, Index, JoinColumn, ManyToOne } from "typeorm";
28
+ /*
29
+ * ------------------------------------------------------------------
30
+ * DockerSwarmResource
31
+ * ------------------------------------------------------------------
32
+ *
33
+ * Inventory snapshot of a single Docker Swarm object in a single
34
+ * cluster. One wide table holds every kind:
35
+ *
36
+ * Node — a manager or worker node in the swarm
37
+ * Service — a replicated or global swarm service
38
+ * Task — a single task (container instance) of a service
39
+ * Stack — a deployed compose stack (grouping of services)
40
+ * Network — a swarm-scoped (overlay) or local network
41
+ * Secret — a swarm-managed secret (metadata only; no value)
42
+ * Config — a swarm-managed config (metadata only)
43
+ * Volume — a volume reported by a node
44
+ *
45
+ * Populated by the telemetry ingest path from the OneUptime Docker
46
+ * Swarm agent's inventory poller (`docker node/service/task/stack/
47
+ * network/secret/config/volume ls`, shipped as JSON-line log records)
48
+ * plus the docker_stats receiver for the per-task latest CPU/memory
49
+ * mirror. The list/detail pages read this table instead of grouping
50
+ * over ClickHouse telemetry.
51
+ *
52
+ * `externalId` is the stable, collision-free id within a cluster and
53
+ * the detail-route param: `node/<id>`, `service/<id>`, `task/<id>`,
54
+ * `stack/<name>`, `network/<id>`, `secret/<id>`, `config/<id>`,
55
+ * `volume/<name>@<nodeId>`.
56
+ *
57
+ * Kind-specific fields that the list/detail pages do not sort or
58
+ * filter on live in the `attributes` JSON column (node availability /
59
+ * managerStatus / engineVersion / addr, network scope / ingress,
60
+ * volume mountpoint, task slot / containerId / message, secret/config
61
+ * createdAt, …) so the schema does not explode across eight kinds.
62
+ *
63
+ * Rows are upserted per snapshot and hard-deleted once lastSeenAt
64
+ * falls behind "now - 15min" for clusters that remain connected.
65
+ * Writes go through DockerSwarmResourceService under isRoot; users
66
+ * never create/update/delete rows directly.
67
+ *
68
+ * ------------------------------------------------------------------
69
+ */
70
+ const READ_PERMISSIONS = [
71
+ Permission.ProjectOwner,
72
+ Permission.ProjectAdmin,
73
+ Permission.ProjectMember,
74
+ Permission.Viewer,
75
+ Permission.SettingsAdmin,
76
+ Permission.SettingsMember,
77
+ Permission.SettingsViewer,
78
+ Permission.ReadDockerSwarmCluster,
79
+ ];
80
+ let DockerSwarmResource = class DockerSwarmResource extends BaseModel {
81
+ constructor() {
82
+ super(...arguments);
83
+ this.project = undefined;
84
+ this.projectId = undefined;
85
+ this.dockerSwarmCluster = undefined;
86
+ this.dockerSwarmClusterId = undefined;
87
+ this.kind = undefined;
88
+ this.externalId = undefined;
89
+ this.name = undefined;
90
+ this.state = undefined;
91
+ this.role = undefined;
92
+ this.serviceMode = undefined;
93
+ this.desiredReplicas = undefined;
94
+ this.runningReplicas = undefined;
95
+ this.image = undefined;
96
+ this.stackName = undefined;
97
+ this.serviceName = undefined;
98
+ this.nodeHostname = undefined;
99
+ this.driver = undefined;
100
+ this.isReady = undefined;
101
+ this.attributes = undefined;
102
+ this.latestCpuPercent = undefined;
103
+ this.latestMemoryBytes = undefined;
104
+ this.maxMemoryBytes = undefined;
105
+ this.latestMemoryPercent = undefined;
106
+ this.metricsUpdatedAt = undefined;
107
+ this.lastSeenAt = undefined;
108
+ this.createdByUser = undefined;
109
+ this.createdByUserId = undefined;
110
+ this.deletedByUser = undefined;
111
+ this.deletedByUserId = undefined;
112
+ }
113
+ };
114
+ __decorate([
115
+ ColumnAccessControl({
116
+ create: [],
117
+ read: READ_PERMISSIONS,
118
+ update: [],
119
+ }),
120
+ TableColumn({
121
+ manyToOneRelationColumn: "projectId",
122
+ type: TableColumnType.Entity,
123
+ modelType: Project,
124
+ title: "Project",
125
+ description: "Relation to Project this resource belongs to.",
126
+ }),
127
+ ManyToOne(() => {
128
+ return Project;
129
+ }, {
130
+ eager: false,
131
+ nullable: true,
132
+ onDelete: "CASCADE",
133
+ orphanedRowAction: "nullify",
134
+ }),
135
+ JoinColumn({ name: "projectId" }),
136
+ __metadata("design:type", Project)
137
+ ], DockerSwarmResource.prototype, "project", void 0);
138
+ __decorate([
139
+ ColumnAccessControl({
140
+ create: [],
141
+ read: READ_PERMISSIONS,
142
+ update: [],
143
+ }),
144
+ Index(),
145
+ TableColumn({
146
+ type: TableColumnType.ObjectID,
147
+ required: true,
148
+ canReadOnRelationQuery: true,
149
+ title: "Project ID",
150
+ description: "ID of the Project this resource belongs to.",
151
+ }),
152
+ Column({
153
+ type: ColumnType.ObjectID,
154
+ nullable: false,
155
+ transformer: ObjectID.getDatabaseTransformer(),
156
+ }),
157
+ __metadata("design:type", ObjectID)
158
+ ], DockerSwarmResource.prototype, "projectId", void 0);
159
+ __decorate([
160
+ ColumnAccessControl({
161
+ create: [],
162
+ read: READ_PERMISSIONS,
163
+ update: [],
164
+ }),
165
+ TableColumn({
166
+ manyToOneRelationColumn: "dockerSwarmClusterId",
167
+ type: TableColumnType.Entity,
168
+ modelType: DockerSwarmCluster,
169
+ title: "Docker Swarm Cluster",
170
+ description: "Cluster this resource lives in.",
171
+ }),
172
+ ManyToOne(() => {
173
+ return DockerSwarmCluster;
174
+ }, {
175
+ eager: false,
176
+ nullable: true,
177
+ onDelete: "CASCADE",
178
+ orphanedRowAction: "nullify",
179
+ }),
180
+ JoinColumn({ name: "dockerSwarmClusterId" }),
181
+ __metadata("design:type", DockerSwarmCluster)
182
+ ], DockerSwarmResource.prototype, "dockerSwarmCluster", void 0);
183
+ __decorate([
184
+ ColumnAccessControl({
185
+ create: [],
186
+ read: READ_PERMISSIONS,
187
+ update: [],
188
+ }),
189
+ Index(),
190
+ TableColumn({
191
+ type: TableColumnType.ObjectID,
192
+ required: true,
193
+ canReadOnRelationQuery: true,
194
+ title: "Docker Swarm Cluster ID",
195
+ description: "ID of the Docker Swarm Cluster this resource lives in.",
196
+ }),
197
+ Column({
198
+ type: ColumnType.ObjectID,
199
+ nullable: false,
200
+ transformer: ObjectID.getDatabaseTransformer(),
201
+ }),
202
+ __metadata("design:type", ObjectID)
203
+ ], DockerSwarmResource.prototype, "dockerSwarmClusterId", void 0);
204
+ __decorate([
205
+ ColumnAccessControl({
206
+ create: [],
207
+ read: READ_PERMISSIONS,
208
+ update: [],
209
+ }),
210
+ TableColumn({
211
+ required: true,
212
+ type: TableColumnType.ShortText,
213
+ canReadOnRelationQuery: true,
214
+ title: "Kind",
215
+ description: "Docker Swarm resource kind in singular PascalCase: Node, Service, Task, Stack, Network, Secret, Config or Volume.",
216
+ }),
217
+ Column({
218
+ nullable: false,
219
+ type: ColumnType.ShortText,
220
+ length: ColumnLength.ShortText,
221
+ }),
222
+ __metadata("design:type", String)
223
+ ], DockerSwarmResource.prototype, "kind", void 0);
224
+ __decorate([
225
+ ColumnAccessControl({
226
+ create: [],
227
+ read: READ_PERMISSIONS,
228
+ update: [],
229
+ }),
230
+ TableColumn({
231
+ required: true,
232
+ type: TableColumnType.ShortText,
233
+ canReadOnRelationQuery: true,
234
+ title: "External ID",
235
+ description: "Stable, collision-free id within a cluster (e.g. node/<id>, service/<id>, task/<id>, stack/<name>, network/<id>, volume/<name>@<nodeId>). Also the detail-route param.",
236
+ }),
237
+ Column({
238
+ nullable: false,
239
+ type: ColumnType.ShortText,
240
+ length: ColumnLength.ShortText,
241
+ }),
242
+ __metadata("design:type", String)
243
+ ], DockerSwarmResource.prototype, "externalId", void 0);
244
+ __decorate([
245
+ ColumnAccessControl({
246
+ create: [],
247
+ read: READ_PERMISSIONS,
248
+ update: [],
249
+ }),
250
+ TableColumn({
251
+ required: false,
252
+ type: TableColumnType.ShortText,
253
+ canReadOnRelationQuery: true,
254
+ title: "Name",
255
+ description: "Human-friendly name: node hostname, service name, task name (service.slot), stack name, network/secret/config/volume name.",
256
+ }),
257
+ Column({
258
+ nullable: true,
259
+ type: ColumnType.ShortText,
260
+ length: ColumnLength.ShortText,
261
+ }),
262
+ __metadata("design:type", String)
263
+ ], DockerSwarmResource.prototype, "name", void 0);
264
+ __decorate([
265
+ ColumnAccessControl({
266
+ create: [],
267
+ read: READ_PERMISSIONS,
268
+ update: [],
269
+ }),
270
+ TableColumn({
271
+ required: false,
272
+ type: TableColumnType.ShortText,
273
+ canReadOnRelationQuery: true,
274
+ title: "State",
275
+ description: "Latest state word for this kind — Node: ready/down; Task: new/assigned/preparing/running/complete/failed/shutdown/rejected/orphaned; Service/Stack: derived running/replica string; null for kinds without a state.",
276
+ }),
277
+ Column({
278
+ nullable: true,
279
+ type: ColumnType.ShortText,
280
+ length: ColumnLength.ShortText,
281
+ }),
282
+ __metadata("design:type", String)
283
+ ], DockerSwarmResource.prototype, "state", void 0);
284
+ __decorate([
285
+ ColumnAccessControl({
286
+ create: [],
287
+ read: READ_PERMISSIONS,
288
+ update: [],
289
+ }),
290
+ TableColumn({
291
+ required: false,
292
+ type: TableColumnType.ShortText,
293
+ canReadOnRelationQuery: true,
294
+ title: "Role",
295
+ description: "Node role: manager or worker. Null for non-Node kinds.",
296
+ }),
297
+ Column({
298
+ nullable: true,
299
+ type: ColumnType.ShortText,
300
+ length: ColumnLength.ShortText,
301
+ }),
302
+ __metadata("design:type", String)
303
+ ], DockerSwarmResource.prototype, "role", void 0);
304
+ __decorate([
305
+ ColumnAccessControl({
306
+ create: [],
307
+ read: READ_PERMISSIONS,
308
+ update: [],
309
+ }),
310
+ TableColumn({
311
+ required: false,
312
+ type: TableColumnType.ShortText,
313
+ canReadOnRelationQuery: true,
314
+ title: "Service Mode",
315
+ description: "Service scheduling mode: replicated or global. Null for non-Service kinds.",
316
+ }),
317
+ Column({
318
+ nullable: true,
319
+ type: ColumnType.ShortText,
320
+ length: ColumnLength.ShortText,
321
+ }),
322
+ __metadata("design:type", String)
323
+ ], DockerSwarmResource.prototype, "serviceMode", void 0);
324
+ __decorate([
325
+ ColumnAccessControl({
326
+ create: [],
327
+ read: READ_PERMISSIONS,
328
+ update: [],
329
+ }),
330
+ TableColumn({
331
+ required: false,
332
+ type: TableColumnType.Number,
333
+ canReadOnRelationQuery: true,
334
+ title: "Desired Replicas",
335
+ description: "Desired task count for a replicated Service (null for global services and non-Service kinds).",
336
+ }),
337
+ Column({
338
+ nullable: true,
339
+ type: ColumnType.Number,
340
+ }),
341
+ __metadata("design:type", Number)
342
+ ], DockerSwarmResource.prototype, "desiredReplicas", void 0);
343
+ __decorate([
344
+ ColumnAccessControl({
345
+ create: [],
346
+ read: READ_PERMISSIONS,
347
+ update: [],
348
+ }),
349
+ TableColumn({
350
+ required: false,
351
+ type: TableColumnType.Number,
352
+ canReadOnRelationQuery: true,
353
+ title: "Running Replicas",
354
+ description: "Count of running tasks for a Service. The numerator of the X/Y replicas badge.",
355
+ }),
356
+ Column({
357
+ nullable: true,
358
+ type: ColumnType.Number,
359
+ }),
360
+ __metadata("design:type", Number)
361
+ ], DockerSwarmResource.prototype, "runningReplicas", void 0);
362
+ __decorate([
363
+ ColumnAccessControl({
364
+ create: [],
365
+ read: READ_PERMISSIONS,
366
+ update: [],
367
+ }),
368
+ TableColumn({
369
+ required: false,
370
+ type: TableColumnType.LongText,
371
+ canReadOnRelationQuery: true,
372
+ title: "Image",
373
+ description: "Container image reference for a Service or Task (e.g. nginx:1.27). Null for other kinds.",
374
+ }),
375
+ Column({
376
+ nullable: true,
377
+ type: ColumnType.LongText,
378
+ length: ColumnLength.LongText,
379
+ }),
380
+ __metadata("design:type", String)
381
+ ], DockerSwarmResource.prototype, "image", void 0);
382
+ __decorate([
383
+ ColumnAccessControl({
384
+ create: [],
385
+ read: READ_PERMISSIONS,
386
+ update: [],
387
+ }),
388
+ TableColumn({
389
+ required: false,
390
+ type: TableColumnType.ShortText,
391
+ canReadOnRelationQuery: true,
392
+ title: "Stack Name",
393
+ description: "The com.docker.stack.namespace this Service/Task/Stack belongs to (null for resources not deployed via a stack).",
394
+ }),
395
+ Column({
396
+ nullable: true,
397
+ type: ColumnType.ShortText,
398
+ length: ColumnLength.ShortText,
399
+ }),
400
+ __metadata("design:type", String)
401
+ ], DockerSwarmResource.prototype, "stackName", void 0);
402
+ __decorate([
403
+ ColumnAccessControl({
404
+ create: [],
405
+ read: READ_PERMISSIONS,
406
+ update: [],
407
+ }),
408
+ TableColumn({
409
+ required: false,
410
+ type: TableColumnType.ShortText,
411
+ canReadOnRelationQuery: true,
412
+ title: "Service Name",
413
+ description: "The parent service name for a Task (null for non-Task kinds).",
414
+ }),
415
+ Column({
416
+ nullable: true,
417
+ type: ColumnType.ShortText,
418
+ length: ColumnLength.ShortText,
419
+ }),
420
+ __metadata("design:type", String)
421
+ ], DockerSwarmResource.prototype, "serviceName", void 0);
422
+ __decorate([
423
+ ColumnAccessControl({
424
+ create: [],
425
+ read: READ_PERMISSIONS,
426
+ update: [],
427
+ }),
428
+ TableColumn({
429
+ required: false,
430
+ type: TableColumnType.ShortText,
431
+ canReadOnRelationQuery: true,
432
+ title: "Node Hostname",
433
+ description: "The swarm node a Task is scheduled on, or the node a Volume lives on. Null for kinds without a node placement.",
434
+ }),
435
+ Column({
436
+ nullable: true,
437
+ type: ColumnType.ShortText,
438
+ length: ColumnLength.ShortText,
439
+ }),
440
+ __metadata("design:type", String)
441
+ ], DockerSwarmResource.prototype, "nodeHostname", void 0);
442
+ __decorate([
443
+ ColumnAccessControl({
444
+ create: [],
445
+ read: READ_PERMISSIONS,
446
+ update: [],
447
+ }),
448
+ TableColumn({
449
+ required: false,
450
+ type: TableColumnType.ShortText,
451
+ canReadOnRelationQuery: true,
452
+ title: "Driver",
453
+ description: "Network or Volume driver (overlay / bridge / local / …). Null for other kinds.",
454
+ }),
455
+ Column({
456
+ nullable: true,
457
+ type: ColumnType.ShortText,
458
+ length: ColumnLength.ShortText,
459
+ }),
460
+ __metadata("design:type", String)
461
+ ], DockerSwarmResource.prototype, "driver", void 0);
462
+ __decorate([
463
+ ColumnAccessControl({
464
+ create: [],
465
+ read: READ_PERMISSIONS,
466
+ update: [],
467
+ }),
468
+ TableColumn({
469
+ required: false,
470
+ type: TableColumnType.Boolean,
471
+ canReadOnRelationQuery: true,
472
+ title: "Is Ready",
473
+ description: "True when this resource is in a healthy steady state — Node ready, Task running, Service fully converged (running == desired). Null for kinds without a readiness notion.",
474
+ }),
475
+ Column({
476
+ nullable: true,
477
+ type: ColumnType.Boolean,
478
+ }),
479
+ __metadata("design:type", Boolean)
480
+ ], DockerSwarmResource.prototype, "isReady", void 0);
481
+ __decorate([
482
+ ColumnAccessControl({
483
+ create: [],
484
+ read: READ_PERMISSIONS,
485
+ update: [],
486
+ }),
487
+ TableColumn({
488
+ required: false,
489
+ type: TableColumnType.JSON,
490
+ title: "Attributes",
491
+ description: "Kind-specific extras the list/detail pages render but do not sort on: node availability/managerStatus/engineVersion/addr/isLeader, network scope/isIngress/isAttachable, volume mountpoint, task slot/containerId/message, secret/config createdAt, stack serviceCount, etc.",
492
+ }),
493
+ Column({
494
+ type: ColumnType.JSON,
495
+ nullable: true,
496
+ }),
497
+ __metadata("design:type", Object)
498
+ ], DockerSwarmResource.prototype, "attributes", void 0);
499
+ __decorate([
500
+ ColumnAccessControl({
501
+ create: [],
502
+ read: READ_PERMISSIONS,
503
+ update: [],
504
+ }),
505
+ TableColumn({
506
+ required: false,
507
+ type: TableColumnType.Number,
508
+ canReadOnRelationQuery: true,
509
+ title: "Latest CPU Percent",
510
+ description: "Most recent CPU utilization percent for a Task (docker_stats container.cpu.utilization * 100), or the aggregate for a Service. Stored as decimal so sub-percent precision survives the round trip. Null until the first metric arrives.",
511
+ }),
512
+ Column({
513
+ nullable: true,
514
+ type: ColumnType.Decimal,
515
+ transformer: {
516
+ to: (value) => {
517
+ if (value === null || value === undefined) {
518
+ return null;
519
+ }
520
+ return value;
521
+ },
522
+ from: (value) => {
523
+ if (value === null || value === undefined) {
524
+ return null;
525
+ }
526
+ if (typeof value === "number") {
527
+ return value;
528
+ }
529
+ const parsed = parseFloat(value);
530
+ return isNaN(parsed) ? null : parsed;
531
+ },
532
+ },
533
+ }),
534
+ __metadata("design:type", Number)
535
+ ], DockerSwarmResource.prototype, "latestCpuPercent", void 0);
536
+ __decorate([
537
+ ColumnAccessControl({
538
+ create: [],
539
+ read: READ_PERMISSIONS,
540
+ update: [],
541
+ }),
542
+ TableColumn({
543
+ required: false,
544
+ type: TableColumnType.BigPositiveNumber,
545
+ canReadOnRelationQuery: true,
546
+ title: "Latest Memory Bytes",
547
+ description: "Most recent memory usage (docker_stats container.memory.usage). Stored as bigint so values past 2 GiB don't overflow.",
548
+ }),
549
+ Column({
550
+ nullable: true,
551
+ type: ColumnType.BigPositiveNumber,
552
+ transformer: {
553
+ to: (value) => {
554
+ if (value === null || value === undefined) {
555
+ return null;
556
+ }
557
+ return Math.trunc(value).toString();
558
+ },
559
+ from: (value) => {
560
+ if (value === null || value === undefined) {
561
+ return null;
562
+ }
563
+ const parsed = parseInt(value, 10);
564
+ return isNaN(parsed) ? null : parsed;
565
+ },
566
+ },
567
+ }),
568
+ __metadata("design:type", Number)
569
+ ], DockerSwarmResource.prototype, "latestMemoryBytes", void 0);
570
+ __decorate([
571
+ ColumnAccessControl({
572
+ create: [],
573
+ read: READ_PERMISSIONS,
574
+ update: [],
575
+ }),
576
+ TableColumn({
577
+ required: false,
578
+ type: TableColumnType.BigPositiveNumber,
579
+ canReadOnRelationQuery: true,
580
+ title: "Max Memory Bytes",
581
+ description: "Memory limit for this Task/Service (docker_stats container.memory.limit), the denominator for the memory usage bar. Null when unlimited.",
582
+ }),
583
+ Column({
584
+ nullable: true,
585
+ type: ColumnType.BigPositiveNumber,
586
+ transformer: {
587
+ to: (value) => {
588
+ if (value === null || value === undefined) {
589
+ return null;
590
+ }
591
+ return Math.trunc(value).toString();
592
+ },
593
+ from: (value) => {
594
+ if (value === null || value === undefined) {
595
+ return null;
596
+ }
597
+ const parsed = parseInt(value, 10);
598
+ return isNaN(parsed) ? null : parsed;
599
+ },
600
+ },
601
+ }),
602
+ __metadata("design:type", Number)
603
+ ], DockerSwarmResource.prototype, "maxMemoryBytes", void 0);
604
+ __decorate([
605
+ ColumnAccessControl({
606
+ create: [],
607
+ read: READ_PERMISSIONS,
608
+ update: [],
609
+ }),
610
+ TableColumn({
611
+ required: false,
612
+ type: TableColumnType.Number,
613
+ canReadOnRelationQuery: true,
614
+ title: "Latest Memory Percent",
615
+ description: "Most recent memory usage as a percent of maxMemoryBytes. Stored as decimal — mirrors latestCpuPercent — so list views can sort/filter without dividing bigints client-side.",
616
+ }),
617
+ Column({
618
+ nullable: true,
619
+ type: ColumnType.Decimal,
620
+ transformer: {
621
+ to: (value) => {
622
+ if (value === null || value === undefined) {
623
+ return null;
624
+ }
625
+ return value;
626
+ },
627
+ from: (value) => {
628
+ if (value === null || value === undefined) {
629
+ return null;
630
+ }
631
+ if (typeof value === "number") {
632
+ return value;
633
+ }
634
+ const parsed = parseFloat(value);
635
+ return isNaN(parsed) ? null : parsed;
636
+ },
637
+ },
638
+ }),
639
+ __metadata("design:type", Number)
640
+ ], DockerSwarmResource.prototype, "latestMemoryPercent", void 0);
641
+ __decorate([
642
+ ColumnAccessControl({
643
+ create: [],
644
+ read: READ_PERMISSIONS,
645
+ update: [],
646
+ }),
647
+ TableColumn({
648
+ required: false,
649
+ type: TableColumnType.Date,
650
+ canReadOnRelationQuery: true,
651
+ title: "Metrics Updated At",
652
+ description: "Observed timestamp of the latest metric point. Acts as the monotonic guard for metric updates and the cutoff for staleness rendering.",
653
+ }),
654
+ Column({
655
+ nullable: true,
656
+ type: ColumnType.Date,
657
+ }),
658
+ __metadata("design:type", Date)
659
+ ], DockerSwarmResource.prototype, "metricsUpdatedAt", void 0);
660
+ __decorate([
661
+ ColumnAccessControl({
662
+ create: [],
663
+ read: READ_PERMISSIONS,
664
+ update: [],
665
+ }),
666
+ TableColumn({
667
+ required: true,
668
+ type: TableColumnType.Date,
669
+ canReadOnRelationQuery: true,
670
+ title: "Last Seen At",
671
+ description: "Agent-observed timestamp of the most recent snapshot containing this resource. Also acts as the monotonic guard for upserts.",
672
+ }),
673
+ Column({
674
+ nullable: false,
675
+ type: ColumnType.Date,
676
+ }),
677
+ __metadata("design:type", Date)
678
+ ], DockerSwarmResource.prototype, "lastSeenAt", void 0);
679
+ __decorate([
680
+ ColumnAccessControl({
681
+ create: [],
682
+ read: READ_PERMISSIONS,
683
+ update: [],
684
+ }),
685
+ TableColumn({
686
+ manyToOneRelationColumn: "createdByUserId",
687
+ type: TableColumnType.Entity,
688
+ modelType: User,
689
+ title: "Created By User",
690
+ description: "Not user-facing; ingest writes as isRoot so this stays null in practice.",
691
+ }),
692
+ ManyToOne(() => {
693
+ return User;
694
+ }, {
695
+ eager: false,
696
+ nullable: true,
697
+ onDelete: "SET NULL",
698
+ orphanedRowAction: "nullify",
699
+ }),
700
+ JoinColumn({ name: "createdByUserId" }),
701
+ __metadata("design:type", User)
702
+ ], DockerSwarmResource.prototype, "createdByUser", void 0);
703
+ __decorate([
704
+ ColumnAccessControl({
705
+ create: [],
706
+ read: READ_PERMISSIONS,
707
+ update: [],
708
+ }),
709
+ TableColumn({
710
+ type: TableColumnType.ObjectID,
711
+ title: "Created By User ID",
712
+ description: "ID of the user who created this row.",
713
+ }),
714
+ Column({
715
+ type: ColumnType.ObjectID,
716
+ nullable: true,
717
+ transformer: ObjectID.getDatabaseTransformer(),
718
+ }),
719
+ __metadata("design:type", ObjectID)
720
+ ], DockerSwarmResource.prototype, "createdByUserId", void 0);
721
+ __decorate([
722
+ ColumnAccessControl({
723
+ create: [],
724
+ read: READ_PERMISSIONS,
725
+ update: [],
726
+ }),
727
+ TableColumn({
728
+ manyToOneRelationColumn: "deletedByUserId",
729
+ type: TableColumnType.Entity,
730
+ modelType: User,
731
+ title: "Deleted By User",
732
+ description: "Relation to the user who deleted this row.",
733
+ }),
734
+ ManyToOne(() => {
735
+ return User;
736
+ }, {
737
+ eager: false,
738
+ nullable: true,
739
+ onDelete: "SET NULL",
740
+ orphanedRowAction: "nullify",
741
+ }),
742
+ JoinColumn({ name: "deletedByUserId" }),
743
+ __metadata("design:type", User)
744
+ ], DockerSwarmResource.prototype, "deletedByUser", void 0);
745
+ __decorate([
746
+ ColumnAccessControl({
747
+ create: [],
748
+ read: READ_PERMISSIONS,
749
+ update: [],
750
+ }),
751
+ TableColumn({
752
+ type: TableColumnType.ObjectID,
753
+ title: "Deleted By User ID",
754
+ description: "ID of the user who deleted this row.",
755
+ }),
756
+ Column({
757
+ type: ColumnType.ObjectID,
758
+ nullable: true,
759
+ transformer: ObjectID.getDatabaseTransformer(),
760
+ }),
761
+ __metadata("design:type", ObjectID)
762
+ ], DockerSwarmResource.prototype, "deletedByUserId", void 0);
763
+ DockerSwarmResource = __decorate([
764
+ TenantColumn("projectId"),
765
+ TableAccessControl({
766
+ create: [],
767
+ read: READ_PERMISSIONS,
768
+ update: [],
769
+ delete: [],
770
+ }),
771
+ CrudApiEndpoint(new Route("/docker-swarm-resource")),
772
+ TableMetadata({
773
+ tableName: "DockerSwarmResource",
774
+ singularName: "Docker Swarm Resource",
775
+ pluralName: "Docker Swarm Resources",
776
+ icon: IconProp.Cube,
777
+ tableDescription: "Snapshot of a Docker Swarm object (node, service, task, stack, network, secret, config or volume) as last reported by the Docker Swarm agent. Populated by the telemetry ingest pipeline; not user-editable.",
778
+ }),
779
+ Index(["projectId", "dockerSwarmClusterId", "kind", "externalId"], {
780
+ unique: true,
781
+ }),
782
+ Entity({
783
+ name: "DockerSwarmResource",
784
+ })
785
+ ], DockerSwarmResource);
786
+ export default DockerSwarmResource;
787
+ //# sourceMappingURL=DockerSwarmResource.js.map