@oneuptime/common 11.0.1 → 11.0.2

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 (341) hide show
  1. package/Models/DatabaseModels/Alert.ts +110 -0
  2. package/Models/DatabaseModels/CephCluster.ts +964 -0
  3. package/Models/DatabaseModels/CephClusterLabelRule.ts +514 -0
  4. package/Models/DatabaseModels/CephClusterOwnerRule.ts +596 -0
  5. package/Models/DatabaseModels/CephClusterOwnerTeam.ts +487 -0
  6. package/Models/DatabaseModels/CephClusterOwnerUser.ts +486 -0
  7. package/Models/DatabaseModels/CephResource.ts +809 -0
  8. package/Models/DatabaseModels/Host.ts +64 -0
  9. package/Models/DatabaseModels/Incident.ts +110 -0
  10. package/Models/DatabaseModels/Index.ts +24 -0
  11. package/Models/DatabaseModels/ProxmoxCluster.ts +943 -0
  12. package/Models/DatabaseModels/ProxmoxClusterLabelRule.ts +514 -0
  13. package/Models/DatabaseModels/ProxmoxClusterOwnerRule.ts +596 -0
  14. package/Models/DatabaseModels/ProxmoxClusterOwnerTeam.ts +487 -0
  15. package/Models/DatabaseModels/ProxmoxClusterOwnerUser.ts +486 -0
  16. package/Models/DatabaseModels/ProxmoxResource.ts +726 -0
  17. package/Models/DatabaseModels/ScheduledMaintenance.ts +110 -0
  18. package/Server/API/BillingInvoiceAPI.ts +47 -7
  19. package/Server/API/CephResourceAPI.ts +134 -0
  20. package/Server/API/DashboardAPI.ts +46 -0
  21. package/Server/API/ProjectAPI.ts +15 -0
  22. package/Server/API/ProxmoxResourceAPI.ts +132 -0
  23. package/Server/API/ResellerPlanAPI.ts +17 -0
  24. package/Server/Infrastructure/GlobalCache.ts +8 -2
  25. package/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.ts +163 -0
  26. package/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.ts +211 -0
  27. package/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.ts +590 -0
  28. package/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.ts +64 -0
  29. package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +8 -0
  30. package/Server/Infrastructure/Redis.ts +40 -12
  31. package/Server/Services/AnalyticsDatabaseService.ts +1 -1
  32. package/Server/Services/BillingService.ts +109 -21
  33. package/Server/Services/CephClusterLabelRuleEngineService.ts +200 -0
  34. package/Server/Services/CephClusterLabelRuleService.ts +14 -0
  35. package/Server/Services/CephClusterOwnerRuleEngineService.ts +218 -0
  36. package/Server/Services/CephClusterOwnerRuleService.ts +14 -0
  37. package/Server/Services/CephClusterOwnerTeamService.ts +10 -0
  38. package/Server/Services/CephClusterOwnerUserService.ts +10 -0
  39. package/Server/Services/CephClusterService.ts +401 -0
  40. package/Server/Services/CephResourceService.ts +383 -0
  41. package/Server/Services/CloudResourceService.ts +11 -3
  42. package/Server/Services/DockerHostService.ts +11 -3
  43. package/Server/Services/ExceptionAggregationService.ts +2 -0
  44. package/Server/Services/HostService.ts +11 -3
  45. package/Server/Services/Index.ts +24 -0
  46. package/Server/Services/KubernetesClusterService.ts +11 -3
  47. package/Server/Services/LogAggregationService.ts +2 -0
  48. package/Server/Services/MetricAggregationService.ts +2 -0
  49. package/Server/Services/OpenTelemetryIngestService.ts +36 -0
  50. package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +204 -0
  51. package/Server/Services/ProxmoxClusterLabelRuleService.ts +14 -0
  52. package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +222 -0
  53. package/Server/Services/ProxmoxClusterOwnerRuleService.ts +14 -0
  54. package/Server/Services/ProxmoxClusterOwnerTeamService.ts +10 -0
  55. package/Server/Services/ProxmoxClusterOwnerUserService.ts +10 -0
  56. package/Server/Services/ProxmoxClusterService.ts +382 -0
  57. package/Server/Services/ProxmoxResourceService.ts +404 -0
  58. package/Server/Services/RumApplicationService.ts +11 -3
  59. package/Server/Services/ServerlessFunctionService.ts +11 -3
  60. package/Server/Services/TelemetryUsageBillingService.ts +41 -3
  61. package/Server/Services/TraceAggregationService.ts +2 -0
  62. package/Server/Types/AnalyticsDatabase/AggregateBy.ts +8 -23
  63. package/Server/Utils/Monitor/MonitorAlert.ts +45 -0
  64. package/Server/Utils/Monitor/MonitorClusterContext.ts +129 -0
  65. package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +344 -4
  66. package/Server/Utils/Monitor/MonitorIncident.ts +130 -7
  67. package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +39 -6
  68. package/Server/Utils/Monitor/MonitorTemplateUtil.ts +3 -1
  69. package/Server/Utils/Monitor/SeriesResourceLabels.ts +33 -0
  70. package/Server/Utils/Profiling.ts +37 -2
  71. package/Server/Utils/Telemetry/EntityRegistry.ts +4 -0
  72. package/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.ts +1096 -0
  73. package/Server/Utils/Telemetry/TelemetryEntity.ts +85 -0
  74. package/Server/Utils/Telemetry.ts +8 -19
  75. package/Tests/Server/API/BillingInvoiceAPI.test.ts +194 -0
  76. package/Tests/Server/API/ProjectAPI.test.ts +91 -0
  77. package/Tests/Server/API/ResellerPlanAPI.test.ts +207 -0
  78. package/Tests/Server/Infrastructure/GlobalCache.test.ts +100 -0
  79. package/Tests/Server/Services/BillingService.test.ts +323 -0
  80. package/Tests/Server/Services/CephResourceService.test.ts +264 -0
  81. package/Tests/Server/Services/ProxmoxResourceService.test.ts +326 -0
  82. package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +322 -0
  83. package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +13 -0
  84. package/Tests/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.test.ts +879 -0
  85. package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +196 -0
  86. package/Tests/Types/Monitor/CephAlertTemplates.test.ts +1231 -0
  87. package/Tests/Types/Monitor/ProxmoxAlertTemplates.test.ts +732 -0
  88. package/Tests/Utils/Telemetry/EntityRelationship.test.ts +49 -0
  89. package/Tests/Utils/Telemetry/HeartbeatAvailability.test.ts +423 -0
  90. package/Types/BaseDatabase/AggregationIntervalUtil.ts +74 -0
  91. package/Types/Dashboard/DashboardComponentType.ts +4 -0
  92. package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +2 -0
  93. package/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.ts +15 -0
  94. package/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.ts +14 -0
  95. package/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.ts +17 -0
  96. package/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.ts +16 -0
  97. package/Types/Dashboard/DashboardTemplates.ts +446 -0
  98. package/Types/Icon/IconProp.ts +2 -0
  99. package/Types/Monitor/CephAlertTemplates.ts +1647 -0
  100. package/Types/Monitor/CephMetricCatalog.ts +409 -0
  101. package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +44 -0
  102. package/Types/Monitor/MonitorStep.ts +64 -0
  103. package/Types/Monitor/MonitorStepCephMonitor.ts +57 -0
  104. package/Types/Monitor/MonitorStepProxmoxMonitor.ts +81 -0
  105. package/Types/Monitor/MonitorType.ts +29 -1
  106. package/Types/Monitor/ProxmoxAlertTemplates.ts +899 -0
  107. package/Types/Monitor/ProxmoxMetricCatalog.ts +382 -0
  108. package/Types/Permission.ts +464 -0
  109. package/Types/Telemetry/EntityType.ts +11 -0
  110. package/Types/Telemetry/ServiceType.ts +2 -0
  111. package/UI/Components/Icon/Icon.tsx +84 -0
  112. package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +9 -5
  113. package/UI/Utils/Telemetry/Telemetry.ts +16 -21
  114. package/UI/Utils/TelemetryService.ts +7 -3
  115. package/Utils/Dashboard/Components/DashboardCephOsdListComponent.ts +63 -0
  116. package/Utils/Dashboard/Components/DashboardCephPoolListComponent.ts +32 -0
  117. package/Utils/Dashboard/Components/DashboardCephResourceListShared.ts +61 -0
  118. package/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.ts +69 -0
  119. package/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.ts +55 -0
  120. package/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.ts +61 -0
  121. package/Utils/Dashboard/Components/Index.ts +28 -0
  122. package/Utils/Telemetry/EntityKey.ts +35 -0
  123. package/Utils/Telemetry/EntityRelationship.ts +6 -0
  124. package/Utils/Telemetry/HeartbeatAvailability.ts +262 -0
  125. package/build/dist/Models/DatabaseModels/Alert.js +108 -0
  126. package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
  127. package/build/dist/Models/DatabaseModels/CephCluster.js +992 -0
  128. package/build/dist/Models/DatabaseModels/CephCluster.js.map +1 -0
  129. package/build/dist/Models/DatabaseModels/CephClusterLabelRule.js +522 -0
  130. package/build/dist/Models/DatabaseModels/CephClusterLabelRule.js.map +1 -0
  131. package/build/dist/Models/DatabaseModels/CephClusterOwnerRule.js +603 -0
  132. package/build/dist/Models/DatabaseModels/CephClusterOwnerRule.js.map +1 -0
  133. package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js +503 -0
  134. package/build/dist/Models/DatabaseModels/CephClusterOwnerTeam.js.map +1 -0
  135. package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js +502 -0
  136. package/build/dist/Models/DatabaseModels/CephClusterOwnerUser.js.map +1 -0
  137. package/build/dist/Models/DatabaseModels/CephResource.js +846 -0
  138. package/build/dist/Models/DatabaseModels/CephResource.js.map +1 -0
  139. package/build/dist/Models/DatabaseModels/Host.js +63 -0
  140. package/build/dist/Models/DatabaseModels/Host.js.map +1 -1
  141. package/build/dist/Models/DatabaseModels/Incident.js +108 -0
  142. package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
  143. package/build/dist/Models/DatabaseModels/Index.js +24 -0
  144. package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
  145. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js +967 -0
  146. package/build/dist/Models/DatabaseModels/ProxmoxCluster.js.map +1 -0
  147. package/build/dist/Models/DatabaseModels/ProxmoxClusterLabelRule.js +522 -0
  148. package/build/dist/Models/DatabaseModels/ProxmoxClusterLabelRule.js.map +1 -0
  149. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerRule.js +603 -0
  150. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerRule.js.map +1 -0
  151. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js +503 -0
  152. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerTeam.js.map +1 -0
  153. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js +502 -0
  154. package/build/dist/Models/DatabaseModels/ProxmoxClusterOwnerUser.js.map +1 -0
  155. package/build/dist/Models/DatabaseModels/ProxmoxResource.js +761 -0
  156. package/build/dist/Models/DatabaseModels/ProxmoxResource.js.map +1 -0
  157. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +108 -0
  158. package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
  159. package/build/dist/Server/API/BillingInvoiceAPI.js +35 -5
  160. package/build/dist/Server/API/BillingInvoiceAPI.js.map +1 -1
  161. package/build/dist/Server/API/CephResourceAPI.js +98 -0
  162. package/build/dist/Server/API/CephResourceAPI.js.map +1 -0
  163. package/build/dist/Server/API/DashboardAPI.js +46 -0
  164. package/build/dist/Server/API/DashboardAPI.js.map +1 -1
  165. package/build/dist/Server/API/ProjectAPI.js +11 -0
  166. package/build/dist/Server/API/ProjectAPI.js.map +1 -1
  167. package/build/dist/Server/API/ProxmoxResourceAPI.js +95 -0
  168. package/build/dist/Server/API/ProxmoxResourceAPI.js.map +1 -0
  169. package/build/dist/Server/API/ResellerPlanAPI.js +17 -3
  170. package/build/dist/Server/API/ResellerPlanAPI.js.map +1 -1
  171. package/build/dist/Server/Infrastructure/GlobalCache.js +7 -2
  172. package/build/dist/Server/Infrastructure/GlobalCache.js.map +1 -1
  173. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.js +76 -0
  174. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781500000000-AddProxmoxAndCephClusterTables.js.map +1 -0
  175. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.js +108 -0
  176. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.js.map +1 -0
  177. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.js +253 -0
  178. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.js.map +1 -0
  179. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.js +43 -0
  180. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1781700000000-AddProxmoxCephV3Columns.js.map +1 -0
  181. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +8 -0
  182. package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
  183. package/build/dist/Server/Infrastructure/Redis.js +31 -8
  184. package/build/dist/Server/Infrastructure/Redis.js.map +1 -1
  185. package/build/dist/Server/Services/AnalyticsDatabaseService.js +1 -1
  186. package/build/dist/Server/Services/AnalyticsDatabaseService.js.map +1 -1
  187. package/build/dist/Server/Services/BillingService.js +85 -23
  188. package/build/dist/Server/Services/BillingService.js.map +1 -1
  189. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +166 -0
  190. package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -0
  191. package/build/dist/Server/Services/CephClusterLabelRuleService.js +13 -0
  192. package/build/dist/Server/Services/CephClusterLabelRuleService.js.map +1 -0
  193. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +186 -0
  194. package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -0
  195. package/build/dist/Server/Services/CephClusterOwnerRuleService.js +13 -0
  196. package/build/dist/Server/Services/CephClusterOwnerRuleService.js.map +1 -0
  197. package/build/dist/Server/Services/CephClusterOwnerTeamService.js +9 -0
  198. package/build/dist/Server/Services/CephClusterOwnerTeamService.js.map +1 -0
  199. package/build/dist/Server/Services/CephClusterOwnerUserService.js +9 -0
  200. package/build/dist/Server/Services/CephClusterOwnerUserService.js.map +1 -0
  201. package/build/dist/Server/Services/CephClusterService.js +353 -0
  202. package/build/dist/Server/Services/CephClusterService.js.map +1 -0
  203. package/build/dist/Server/Services/CephResourceService.js +257 -0
  204. package/build/dist/Server/Services/CephResourceService.js.map +1 -0
  205. package/build/dist/Server/Services/CloudResourceService.js +10 -2
  206. package/build/dist/Server/Services/CloudResourceService.js.map +1 -1
  207. package/build/dist/Server/Services/DockerHostService.js +10 -2
  208. package/build/dist/Server/Services/DockerHostService.js.map +1 -1
  209. package/build/dist/Server/Services/ExceptionAggregationService.js +2 -0
  210. package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
  211. package/build/dist/Server/Services/HostService.js +10 -2
  212. package/build/dist/Server/Services/HostService.js.map +1 -1
  213. package/build/dist/Server/Services/Index.js +24 -0
  214. package/build/dist/Server/Services/Index.js.map +1 -1
  215. package/build/dist/Server/Services/KubernetesClusterService.js +10 -2
  216. package/build/dist/Server/Services/KubernetesClusterService.js.map +1 -1
  217. package/build/dist/Server/Services/LogAggregationService.js +2 -0
  218. package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
  219. package/build/dist/Server/Services/MetricAggregationService.js +2 -0
  220. package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
  221. package/build/dist/Server/Services/OpenTelemetryIngestService.js +37 -7
  222. package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
  223. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +166 -0
  224. package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -0
  225. package/build/dist/Server/Services/ProxmoxClusterLabelRuleService.js +13 -0
  226. package/build/dist/Server/Services/ProxmoxClusterLabelRuleService.js.map +1 -0
  227. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +186 -0
  228. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -0
  229. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleService.js +13 -0
  230. package/build/dist/Server/Services/ProxmoxClusterOwnerRuleService.js.map +1 -0
  231. package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js +9 -0
  232. package/build/dist/Server/Services/ProxmoxClusterOwnerTeamService.js.map +1 -0
  233. package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js +9 -0
  234. package/build/dist/Server/Services/ProxmoxClusterOwnerUserService.js.map +1 -0
  235. package/build/dist/Server/Services/ProxmoxClusterService.js +337 -0
  236. package/build/dist/Server/Services/ProxmoxClusterService.js.map +1 -0
  237. package/build/dist/Server/Services/ProxmoxResourceService.js +285 -0
  238. package/build/dist/Server/Services/ProxmoxResourceService.js.map +1 -0
  239. package/build/dist/Server/Services/RumApplicationService.js +10 -2
  240. package/build/dist/Server/Services/RumApplicationService.js.map +1 -1
  241. package/build/dist/Server/Services/ServerlessFunctionService.js +10 -2
  242. package/build/dist/Server/Services/ServerlessFunctionService.js.map +1 -1
  243. package/build/dist/Server/Services/TelemetryUsageBillingService.js +30 -3
  244. package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
  245. package/build/dist/Server/Services/TraceAggregationService.js +2 -0
  246. package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
  247. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js +8 -25
  248. package/build/dist/Server/Types/AnalyticsDatabase/AggregateBy.js.map +1 -1
  249. package/build/dist/Server/Utils/Monitor/MonitorAlert.js +36 -0
  250. package/build/dist/Server/Utils/Monitor/MonitorAlert.js.map +1 -1
  251. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js +90 -0
  252. package/build/dist/Server/Utils/Monitor/MonitorClusterContext.js.map +1 -0
  253. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +228 -4
  254. package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
  255. package/build/dist/Server/Utils/Monitor/MonitorIncident.js +103 -8
  256. package/build/dist/Server/Utils/Monitor/MonitorIncident.js.map +1 -1
  257. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +23 -6
  258. package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
  259. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +3 -1
  260. package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
  261. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +23 -0
  262. package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
  263. package/build/dist/Server/Utils/Profiling.js +24 -3
  264. package/build/dist/Server/Utils/Profiling.js.map +1 -1
  265. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +4 -0
  266. package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
  267. package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js +854 -0
  268. package/build/dist/Server/Utils/Telemetry/ProxmoxCephSnapshotScan.js.map +1 -0
  269. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +62 -0
  270. package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
  271. package/build/dist/Server/Utils/Telemetry.js +8 -10
  272. package/build/dist/Server/Utils/Telemetry.js.map +1 -1
  273. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js +69 -0
  274. package/build/dist/Types/BaseDatabase/AggregationIntervalUtil.js.map +1 -0
  275. package/build/dist/Types/Dashboard/DashboardComponentType.js +4 -0
  276. package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
  277. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +2 -0
  278. package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
  279. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.js +2 -0
  280. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephOsdListComponent.js.map +1 -0
  281. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.js +2 -0
  282. package/build/dist/Types/Dashboard/DashboardComponents/DashboardCephPoolListComponent.js.map +1 -0
  283. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.js +2 -0
  284. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxGuestListComponent.js.map +1 -0
  285. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.js +2 -0
  286. package/build/dist/Types/Dashboard/DashboardComponents/DashboardProxmoxNodeListComponent.js.map +1 -0
  287. package/build/dist/Types/Dashboard/DashboardTemplates.js +394 -0
  288. package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
  289. package/build/dist/Types/Icon/IconProp.js +2 -0
  290. package/build/dist/Types/Icon/IconProp.js.map +1 -1
  291. package/build/dist/Types/Monitor/CephAlertTemplates.js +1379 -0
  292. package/build/dist/Types/Monitor/CephAlertTemplates.js.map +1 -0
  293. package/build/dist/Types/Monitor/CephMetricCatalog.js +353 -0
  294. package/build/dist/Types/Monitor/CephMetricCatalog.js.map +1 -0
  295. package/build/dist/Types/Monitor/MonitorStep.js +46 -0
  296. package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
  297. package/build/dist/Types/Monitor/MonitorStepCephMonitor.js +34 -0
  298. package/build/dist/Types/Monitor/MonitorStepCephMonitor.js.map +1 -0
  299. package/build/dist/Types/Monitor/MonitorStepProxmoxMonitor.js +36 -0
  300. package/build/dist/Types/Monitor/MonitorStepProxmoxMonitor.js.map +1 -0
  301. package/build/dist/Types/Monitor/MonitorType.js +27 -1
  302. package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
  303. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js +743 -0
  304. package/build/dist/Types/Monitor/ProxmoxAlertTemplates.js.map +1 -0
  305. package/build/dist/Types/Monitor/ProxmoxMetricCatalog.js +320 -0
  306. package/build/dist/Types/Monitor/ProxmoxMetricCatalog.js.map +1 -0
  307. package/build/dist/Types/Permission.js +408 -0
  308. package/build/dist/Types/Permission.js.map +1 -1
  309. package/build/dist/Types/Telemetry/EntityType.js +11 -0
  310. package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
  311. package/build/dist/Types/Telemetry/ServiceType.js +2 -0
  312. package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
  313. package/build/dist/UI/Components/Icon/Icon.js +33 -0
  314. package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
  315. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +5 -1
  316. package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
  317. package/build/dist/UI/Utils/Telemetry/Telemetry.js +11 -10
  318. package/build/dist/UI/Utils/Telemetry/Telemetry.js.map +1 -1
  319. package/build/dist/UI/Utils/TelemetryService.js +5 -2
  320. package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
  321. package/build/dist/Utils/Dashboard/Components/DashboardCephOsdListComponent.js +50 -0
  322. package/build/dist/Utils/Dashboard/Components/DashboardCephOsdListComponent.js.map +1 -0
  323. package/build/dist/Utils/Dashboard/Components/DashboardCephPoolListComponent.js +27 -0
  324. package/build/dist/Utils/Dashboard/Components/DashboardCephPoolListComponent.js.map +1 -0
  325. package/build/dist/Utils/Dashboard/Components/DashboardCephResourceListShared.js +46 -0
  326. package/build/dist/Utils/Dashboard/Components/DashboardCephResourceListShared.js.map +1 -0
  327. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.js +55 -0
  328. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxGuestListComponent.js.map +1 -0
  329. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.js +42 -0
  330. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxNodeListComponent.js.map +1 -0
  331. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.js +46 -0
  332. package/build/dist/Utils/Dashboard/Components/DashboardProxmoxResourceListShared.js.map +1 -0
  333. package/build/dist/Utils/Dashboard/Components/Index.js +16 -0
  334. package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
  335. package/build/dist/Utils/Telemetry/EntityKey.js +27 -0
  336. package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
  337. package/build/dist/Utils/Telemetry/EntityRelationship.js +3 -0
  338. package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -1
  339. package/build/dist/Utils/Telemetry/HeartbeatAvailability.js +174 -0
  340. package/build/dist/Utils/Telemetry/HeartbeatAvailability.js.map +1 -0
  341. package/package.json +29 -21
@@ -523,6 +523,30 @@ enum Permission {
523
523
  EditKubernetesClusterLabelRule = "EditKubernetesClusterLabelRule",
524
524
  ReadKubernetesClusterLabelRule = "ReadKubernetesClusterLabelRule",
525
525
 
526
+ // Proxmox Cluster Owner Rule Permissions
527
+ CreateProxmoxClusterOwnerRule = "CreateProxmoxClusterOwnerRule",
528
+ DeleteProxmoxClusterOwnerRule = "DeleteProxmoxClusterOwnerRule",
529
+ EditProxmoxClusterOwnerRule = "EditProxmoxClusterOwnerRule",
530
+ ReadProxmoxClusterOwnerRule = "ReadProxmoxClusterOwnerRule",
531
+
532
+ // Proxmox Cluster Label Rule Permissions
533
+ CreateProxmoxClusterLabelRule = "CreateProxmoxClusterLabelRule",
534
+ DeleteProxmoxClusterLabelRule = "DeleteProxmoxClusterLabelRule",
535
+ EditProxmoxClusterLabelRule = "EditProxmoxClusterLabelRule",
536
+ ReadProxmoxClusterLabelRule = "ReadProxmoxClusterLabelRule",
537
+
538
+ // Ceph Cluster Owner Rule Permissions
539
+ CreateCephClusterOwnerRule = "CreateCephClusterOwnerRule",
540
+ DeleteCephClusterOwnerRule = "DeleteCephClusterOwnerRule",
541
+ EditCephClusterOwnerRule = "EditCephClusterOwnerRule",
542
+ ReadCephClusterOwnerRule = "ReadCephClusterOwnerRule",
543
+
544
+ // Ceph Cluster Label Rule Permissions
545
+ CreateCephClusterLabelRule = "CreateCephClusterLabelRule",
546
+ DeleteCephClusterLabelRule = "DeleteCephClusterLabelRule",
547
+ EditCephClusterLabelRule = "EditCephClusterLabelRule",
548
+ ReadCephClusterLabelRule = "ReadCephClusterLabelRule",
549
+
526
550
  // Runbook Owner Rule Permissions
527
551
  CreateRunbookOwnerRule = "CreateRunbookOwnerRule",
528
552
  DeleteRunbookOwnerRule = "DeleteRunbookOwnerRule",
@@ -1109,6 +1133,36 @@ enum Permission {
1109
1133
  EditDockerHostOwnerUser = "EditDockerHostOwnerUser",
1110
1134
  ReadDockerHostOwnerUser = "ReadDockerHostOwnerUser",
1111
1135
 
1136
+ CreateProxmoxCluster = "CreateProxmoxCluster",
1137
+ DeleteProxmoxCluster = "DeleteProxmoxCluster",
1138
+ EditProxmoxCluster = "EditProxmoxCluster",
1139
+ ReadProxmoxCluster = "ReadProxmoxCluster",
1140
+
1141
+ CreateCephCluster = "CreateCephCluster",
1142
+ DeleteCephCluster = "DeleteCephCluster",
1143
+ EditCephCluster = "EditCephCluster",
1144
+ ReadCephCluster = "ReadCephCluster",
1145
+
1146
+ CreateProxmoxClusterOwnerTeam = "CreateProxmoxClusterOwnerTeam",
1147
+ DeleteProxmoxClusterOwnerTeam = "DeleteProxmoxClusterOwnerTeam",
1148
+ EditProxmoxClusterOwnerTeam = "EditProxmoxClusterOwnerTeam",
1149
+ ReadProxmoxClusterOwnerTeam = "ReadProxmoxClusterOwnerTeam",
1150
+
1151
+ CreateProxmoxClusterOwnerUser = "CreateProxmoxClusterOwnerUser",
1152
+ DeleteProxmoxClusterOwnerUser = "DeleteProxmoxClusterOwnerUser",
1153
+ EditProxmoxClusterOwnerUser = "EditProxmoxClusterOwnerUser",
1154
+ ReadProxmoxClusterOwnerUser = "ReadProxmoxClusterOwnerUser",
1155
+
1156
+ CreateCephClusterOwnerTeam = "CreateCephClusterOwnerTeam",
1157
+ DeleteCephClusterOwnerTeam = "DeleteCephClusterOwnerTeam",
1158
+ EditCephClusterOwnerTeam = "EditCephClusterOwnerTeam",
1159
+ ReadCephClusterOwnerTeam = "ReadCephClusterOwnerTeam",
1160
+
1161
+ CreateCephClusterOwnerUser = "CreateCephClusterOwnerUser",
1162
+ DeleteCephClusterOwnerUser = "DeleteCephClusterOwnerUser",
1163
+ EditCephClusterOwnerUser = "EditCephClusterOwnerUser",
1164
+ ReadCephClusterOwnerUser = "ReadCephClusterOwnerUser",
1165
+
1112
1166
  CreateHost = "CreateHost",
1113
1167
  DeleteHost = "DeleteHost",
1114
1168
  EditHost = "EditHost",
@@ -7351,6 +7405,84 @@ export class PermissionHelper {
7351
7405
  isRolePermission: false,
7352
7406
  group: PermissionGroup.Telemetry,
7353
7407
  },
7408
+
7409
+ {
7410
+ permission: Permission.CreateProxmoxCluster,
7411
+ title: "Create Proxmox Cluster",
7412
+ description:
7413
+ "This permission can create Proxmox Cluster in this project.",
7414
+ isAssignableToTenant: true,
7415
+ isAccessControlPermission: false,
7416
+ isRolePermission: false,
7417
+ group: PermissionGroup.Telemetry,
7418
+ },
7419
+ {
7420
+ permission: Permission.DeleteProxmoxCluster,
7421
+ title: "Delete Proxmox Cluster",
7422
+ description:
7423
+ "This permission can delete Proxmox Cluster of this project.",
7424
+ isAssignableToTenant: true,
7425
+ isAccessControlPermission: true,
7426
+ isRolePermission: false,
7427
+ group: PermissionGroup.Telemetry,
7428
+ },
7429
+ {
7430
+ permission: Permission.EditProxmoxCluster,
7431
+ title: "Edit Proxmox Cluster",
7432
+ description:
7433
+ "This permission can edit Proxmox Cluster of this project.",
7434
+ isAssignableToTenant: true,
7435
+ isAccessControlPermission: true,
7436
+ isRolePermission: false,
7437
+ group: PermissionGroup.Telemetry,
7438
+ },
7439
+ {
7440
+ permission: Permission.ReadProxmoxCluster,
7441
+ title: "Read Proxmox Cluster",
7442
+ description:
7443
+ "This permission can read Proxmox Cluster of this project.",
7444
+ isAssignableToTenant: true,
7445
+ isAccessControlPermission: true,
7446
+ isRolePermission: false,
7447
+ group: PermissionGroup.Telemetry,
7448
+ },
7449
+
7450
+ {
7451
+ permission: Permission.CreateCephCluster,
7452
+ title: "Create Ceph Cluster",
7453
+ description: "This permission can create Ceph Cluster in this project.",
7454
+ isAssignableToTenant: true,
7455
+ isAccessControlPermission: false,
7456
+ isRolePermission: false,
7457
+ group: PermissionGroup.Telemetry,
7458
+ },
7459
+ {
7460
+ permission: Permission.DeleteCephCluster,
7461
+ title: "Delete Ceph Cluster",
7462
+ description: "This permission can delete Ceph Cluster of this project.",
7463
+ isAssignableToTenant: true,
7464
+ isAccessControlPermission: true,
7465
+ isRolePermission: false,
7466
+ group: PermissionGroup.Telemetry,
7467
+ },
7468
+ {
7469
+ permission: Permission.EditCephCluster,
7470
+ title: "Edit Ceph Cluster",
7471
+ description: "This permission can edit Ceph Cluster of this project.",
7472
+ isAssignableToTenant: true,
7473
+ isAccessControlPermission: true,
7474
+ isRolePermission: false,
7475
+ group: PermissionGroup.Telemetry,
7476
+ },
7477
+ {
7478
+ permission: Permission.ReadCephCluster,
7479
+ title: "Read Ceph Cluster",
7480
+ description: "This permission can read Ceph Cluster of this project.",
7481
+ isAssignableToTenant: true,
7482
+ isAccessControlPermission: true,
7483
+ isRolePermission: false,
7484
+ group: PermissionGroup.Telemetry,
7485
+ },
7354
7486
  ];
7355
7487
 
7356
7488
  /*
@@ -8052,6 +8184,170 @@ export class PermissionHelper {
8052
8184
  group: PermissionGroup.Telemetry,
8053
8185
  },
8054
8186
 
8187
+ {
8188
+ permission: Permission.CreateProxmoxClusterOwnerTeam,
8189
+ title: "Create Proxmox Cluster Team Owner",
8190
+ description:
8191
+ "This permission can create Proxmox Cluster Team Owner of this project.",
8192
+ isAssignableToTenant: true,
8193
+ isAccessControlPermission: false,
8194
+ isRolePermission: false,
8195
+ group: PermissionGroup.Telemetry,
8196
+ },
8197
+ {
8198
+ permission: Permission.DeleteProxmoxClusterOwnerTeam,
8199
+ title: "Delete Proxmox Cluster Team Owner",
8200
+ description:
8201
+ "This permission can delete Proxmox Cluster Team Owner of this project.",
8202
+ isAssignableToTenant: true,
8203
+ isAccessControlPermission: false,
8204
+ isRolePermission: false,
8205
+ group: PermissionGroup.Telemetry,
8206
+ },
8207
+ {
8208
+ permission: Permission.EditProxmoxClusterOwnerTeam,
8209
+ title: "Edit Proxmox Cluster Team Owner",
8210
+ description:
8211
+ "This permission can edit Proxmox Cluster Team Owner of this project.",
8212
+ isAssignableToTenant: true,
8213
+ isAccessControlPermission: false,
8214
+ isRolePermission: false,
8215
+ group: PermissionGroup.Telemetry,
8216
+ },
8217
+ {
8218
+ permission: Permission.ReadProxmoxClusterOwnerTeam,
8219
+ title: "Read Proxmox Cluster Team Owner",
8220
+ description:
8221
+ "This permission can read Proxmox Cluster Team Owner of this project.",
8222
+ isAssignableToTenant: true,
8223
+ isAccessControlPermission: false,
8224
+ isRolePermission: false,
8225
+ group: PermissionGroup.Telemetry,
8226
+ },
8227
+
8228
+ {
8229
+ permission: Permission.CreateProxmoxClusterOwnerUser,
8230
+ title: "Create Proxmox Cluster User Owner",
8231
+ description:
8232
+ "This permission can create Proxmox Cluster User Owner of this project.",
8233
+ isAssignableToTenant: true,
8234
+ isAccessControlPermission: false,
8235
+ isRolePermission: false,
8236
+ group: PermissionGroup.Telemetry,
8237
+ },
8238
+ {
8239
+ permission: Permission.DeleteProxmoxClusterOwnerUser,
8240
+ title: "Delete Proxmox Cluster User Owner",
8241
+ description:
8242
+ "This permission can delete Proxmox Cluster User Owner of this project.",
8243
+ isAssignableToTenant: true,
8244
+ isAccessControlPermission: false,
8245
+ isRolePermission: false,
8246
+ group: PermissionGroup.Telemetry,
8247
+ },
8248
+ {
8249
+ permission: Permission.EditProxmoxClusterOwnerUser,
8250
+ title: "Edit Proxmox Cluster User Owner",
8251
+ description:
8252
+ "This permission can edit Proxmox Cluster User Owner of this project.",
8253
+ isAssignableToTenant: true,
8254
+ isAccessControlPermission: false,
8255
+ isRolePermission: false,
8256
+ group: PermissionGroup.Telemetry,
8257
+ },
8258
+ {
8259
+ permission: Permission.ReadProxmoxClusterOwnerUser,
8260
+ title: "Read Proxmox Cluster User Owner",
8261
+ description:
8262
+ "This permission can read Proxmox Cluster User Owner of this project.",
8263
+ isAssignableToTenant: true,
8264
+ isAccessControlPermission: false,
8265
+ isRolePermission: false,
8266
+ group: PermissionGroup.Telemetry,
8267
+ },
8268
+
8269
+ {
8270
+ permission: Permission.CreateCephClusterOwnerTeam,
8271
+ title: "Create Ceph Cluster Team Owner",
8272
+ description:
8273
+ "This permission can create Ceph Cluster Team Owner of this project.",
8274
+ isAssignableToTenant: true,
8275
+ isAccessControlPermission: false,
8276
+ isRolePermission: false,
8277
+ group: PermissionGroup.Telemetry,
8278
+ },
8279
+ {
8280
+ permission: Permission.DeleteCephClusterOwnerTeam,
8281
+ title: "Delete Ceph Cluster Team Owner",
8282
+ description:
8283
+ "This permission can delete Ceph Cluster Team Owner of this project.",
8284
+ isAssignableToTenant: true,
8285
+ isAccessControlPermission: false,
8286
+ isRolePermission: false,
8287
+ group: PermissionGroup.Telemetry,
8288
+ },
8289
+ {
8290
+ permission: Permission.EditCephClusterOwnerTeam,
8291
+ title: "Edit Ceph Cluster Team Owner",
8292
+ description:
8293
+ "This permission can edit Ceph Cluster Team Owner of this project.",
8294
+ isAssignableToTenant: true,
8295
+ isAccessControlPermission: false,
8296
+ isRolePermission: false,
8297
+ group: PermissionGroup.Telemetry,
8298
+ },
8299
+ {
8300
+ permission: Permission.ReadCephClusterOwnerTeam,
8301
+ title: "Read Ceph Cluster Team Owner",
8302
+ description:
8303
+ "This permission can read Ceph Cluster Team Owner of this project.",
8304
+ isAssignableToTenant: true,
8305
+ isAccessControlPermission: false,
8306
+ isRolePermission: false,
8307
+ group: PermissionGroup.Telemetry,
8308
+ },
8309
+
8310
+ {
8311
+ permission: Permission.CreateCephClusterOwnerUser,
8312
+ title: "Create Ceph Cluster User Owner",
8313
+ description:
8314
+ "This permission can create Ceph Cluster User Owner of this project.",
8315
+ isAssignableToTenant: true,
8316
+ isAccessControlPermission: false,
8317
+ isRolePermission: false,
8318
+ group: PermissionGroup.Telemetry,
8319
+ },
8320
+ {
8321
+ permission: Permission.DeleteCephClusterOwnerUser,
8322
+ title: "Delete Ceph Cluster User Owner",
8323
+ description:
8324
+ "This permission can delete Ceph Cluster User Owner of this project.",
8325
+ isAssignableToTenant: true,
8326
+ isAccessControlPermission: false,
8327
+ isRolePermission: false,
8328
+ group: PermissionGroup.Telemetry,
8329
+ },
8330
+ {
8331
+ permission: Permission.EditCephClusterOwnerUser,
8332
+ title: "Edit Ceph Cluster User Owner",
8333
+ description:
8334
+ "This permission can edit Ceph Cluster User Owner of this project.",
8335
+ isAssignableToTenant: true,
8336
+ isAccessControlPermission: false,
8337
+ isRolePermission: false,
8338
+ group: PermissionGroup.Telemetry,
8339
+ },
8340
+ {
8341
+ permission: Permission.ReadCephClusterOwnerUser,
8342
+ title: "Read Ceph Cluster User Owner",
8343
+ description:
8344
+ "This permission can read Ceph Cluster User Owner of this project.",
8345
+ isAssignableToTenant: true,
8346
+ isAccessControlPermission: false,
8347
+ isRolePermission: false,
8348
+ group: PermissionGroup.Telemetry,
8349
+ },
8350
+
8055
8351
  {
8056
8352
  permission: Permission.CreateDockerHostOwnerTeam,
8057
8353
  title: "Create Docker Host Team Owner",
@@ -10023,6 +10319,174 @@ export class PermissionHelper {
10023
10319
  group: PermissionGroup.Telemetry,
10024
10320
  },
10025
10321
 
10322
+ // Proxmox Cluster Owner Rule Permissions
10323
+ {
10324
+ permission: Permission.CreateProxmoxClusterOwnerRule,
10325
+ title: "Create Proxmox Cluster Owner Rule",
10326
+ description:
10327
+ "This permission can create Proxmox Cluster Owner Rules in this project.",
10328
+ isAssignableToTenant: true,
10329
+ isAccessControlPermission: false,
10330
+ isRolePermission: false,
10331
+ group: PermissionGroup.Telemetry,
10332
+ },
10333
+ {
10334
+ permission: Permission.DeleteProxmoxClusterOwnerRule,
10335
+ title: "Delete Proxmox Cluster Owner Rule",
10336
+ description:
10337
+ "This permission can delete Proxmox Cluster Owner Rules of this project.",
10338
+ isAssignableToTenant: true,
10339
+ isAccessControlPermission: false,
10340
+ isRolePermission: false,
10341
+ group: PermissionGroup.Telemetry,
10342
+ },
10343
+ {
10344
+ permission: Permission.EditProxmoxClusterOwnerRule,
10345
+ title: "Edit Proxmox Cluster Owner Rule",
10346
+ description:
10347
+ "This permission can edit Proxmox Cluster Owner Rules of this project.",
10348
+ isAssignableToTenant: true,
10349
+ isAccessControlPermission: false,
10350
+ isRolePermission: false,
10351
+ group: PermissionGroup.Telemetry,
10352
+ },
10353
+ {
10354
+ permission: Permission.ReadProxmoxClusterOwnerRule,
10355
+ title: "Read Proxmox Cluster Owner Rule",
10356
+ description:
10357
+ "This permission can read Proxmox Cluster Owner Rules of this project.",
10358
+ isAssignableToTenant: true,
10359
+ isAccessControlPermission: false,
10360
+ isRolePermission: false,
10361
+ group: PermissionGroup.Telemetry,
10362
+ },
10363
+
10364
+ // Proxmox Cluster Label Rule Permissions
10365
+ {
10366
+ permission: Permission.CreateProxmoxClusterLabelRule,
10367
+ title: "Create Proxmox Cluster Label Rule",
10368
+ description:
10369
+ "This permission can create Proxmox Cluster Label Rules in this project.",
10370
+ isAssignableToTenant: true,
10371
+ isAccessControlPermission: false,
10372
+ isRolePermission: false,
10373
+ group: PermissionGroup.Telemetry,
10374
+ },
10375
+ {
10376
+ permission: Permission.DeleteProxmoxClusterLabelRule,
10377
+ title: "Delete Proxmox Cluster Label Rule",
10378
+ description:
10379
+ "This permission can delete Proxmox Cluster Label Rules of this project.",
10380
+ isAssignableToTenant: true,
10381
+ isAccessControlPermission: false,
10382
+ isRolePermission: false,
10383
+ group: PermissionGroup.Telemetry,
10384
+ },
10385
+ {
10386
+ permission: Permission.EditProxmoxClusterLabelRule,
10387
+ title: "Edit Proxmox Cluster Label Rule",
10388
+ description:
10389
+ "This permission can edit Proxmox Cluster Label Rules of this project.",
10390
+ isAssignableToTenant: true,
10391
+ isAccessControlPermission: false,
10392
+ isRolePermission: false,
10393
+ group: PermissionGroup.Telemetry,
10394
+ },
10395
+ {
10396
+ permission: Permission.ReadProxmoxClusterLabelRule,
10397
+ title: "Read Proxmox Cluster Label Rule",
10398
+ description:
10399
+ "This permission can read Proxmox Cluster Label Rules of this project.",
10400
+ isAssignableToTenant: true,
10401
+ isAccessControlPermission: false,
10402
+ isRolePermission: false,
10403
+ group: PermissionGroup.Telemetry,
10404
+ },
10405
+
10406
+ // Ceph Cluster Owner Rule Permissions
10407
+ {
10408
+ permission: Permission.CreateCephClusterOwnerRule,
10409
+ title: "Create Ceph Cluster Owner Rule",
10410
+ description:
10411
+ "This permission can create Ceph Cluster Owner Rules in this project.",
10412
+ isAssignableToTenant: true,
10413
+ isAccessControlPermission: false,
10414
+ isRolePermission: false,
10415
+ group: PermissionGroup.Telemetry,
10416
+ },
10417
+ {
10418
+ permission: Permission.DeleteCephClusterOwnerRule,
10419
+ title: "Delete Ceph Cluster Owner Rule",
10420
+ description:
10421
+ "This permission can delete Ceph Cluster Owner Rules of this project.",
10422
+ isAssignableToTenant: true,
10423
+ isAccessControlPermission: false,
10424
+ isRolePermission: false,
10425
+ group: PermissionGroup.Telemetry,
10426
+ },
10427
+ {
10428
+ permission: Permission.EditCephClusterOwnerRule,
10429
+ title: "Edit Ceph Cluster Owner Rule",
10430
+ description:
10431
+ "This permission can edit Ceph Cluster Owner Rules of this project.",
10432
+ isAssignableToTenant: true,
10433
+ isAccessControlPermission: false,
10434
+ isRolePermission: false,
10435
+ group: PermissionGroup.Telemetry,
10436
+ },
10437
+ {
10438
+ permission: Permission.ReadCephClusterOwnerRule,
10439
+ title: "Read Ceph Cluster Owner Rule",
10440
+ description:
10441
+ "This permission can read Ceph Cluster Owner Rules of this project.",
10442
+ isAssignableToTenant: true,
10443
+ isAccessControlPermission: false,
10444
+ isRolePermission: false,
10445
+ group: PermissionGroup.Telemetry,
10446
+ },
10447
+
10448
+ // Ceph Cluster Label Rule Permissions
10449
+ {
10450
+ permission: Permission.CreateCephClusterLabelRule,
10451
+ title: "Create Ceph Cluster Label Rule",
10452
+ description:
10453
+ "This permission can create Ceph Cluster Label Rules in this project.",
10454
+ isAssignableToTenant: true,
10455
+ isAccessControlPermission: false,
10456
+ isRolePermission: false,
10457
+ group: PermissionGroup.Telemetry,
10458
+ },
10459
+ {
10460
+ permission: Permission.DeleteCephClusterLabelRule,
10461
+ title: "Delete Ceph Cluster Label Rule",
10462
+ description:
10463
+ "This permission can delete Ceph Cluster Label Rules of this project.",
10464
+ isAssignableToTenant: true,
10465
+ isAccessControlPermission: false,
10466
+ isRolePermission: false,
10467
+ group: PermissionGroup.Telemetry,
10468
+ },
10469
+ {
10470
+ permission: Permission.EditCephClusterLabelRule,
10471
+ title: "Edit Ceph Cluster Label Rule",
10472
+ description:
10473
+ "This permission can edit Ceph Cluster Label Rules of this project.",
10474
+ isAssignableToTenant: true,
10475
+ isAccessControlPermission: false,
10476
+ isRolePermission: false,
10477
+ group: PermissionGroup.Telemetry,
10478
+ },
10479
+ {
10480
+ permission: Permission.ReadCephClusterLabelRule,
10481
+ title: "Read Ceph Cluster Label Rule",
10482
+ description:
10483
+ "This permission can read Ceph Cluster Label Rules of this project.",
10484
+ isAssignableToTenant: true,
10485
+ isAccessControlPermission: false,
10486
+ isRolePermission: false,
10487
+ group: PermissionGroup.Telemetry,
10488
+ },
10489
+
10026
10490
  // Runbook Owner Rule Permissions
10027
10491
  {
10028
10492
  permission: Permission.CreateRunbookOwnerRule,
@@ -27,6 +27,17 @@ enum EntityType {
27
27
  KubernetesNode = "k8s.node",
28
28
  KubernetesPod = "k8s.pod",
29
29
  KubernetesDeployment = "k8s.deployment",
30
+ /*
31
+ * Proxmox VE / Ceph types are OneUptime-defined (no upstream semconv
32
+ * exists for either) but follow the same dotted naming convention. The
33
+ * identifying attributes (`proxmox.cluster.name`, `proxmox.node.name`,
34
+ * `proxmox.guest.vmid`, `ceph.cluster.name`) are stamped by our agent
35
+ * collector configs — see Internal/Roadmap/ProxmoxCephProducts.md §1.
36
+ */
37
+ ProxmoxCluster = "proxmox.cluster",
38
+ ProxmoxNode = "proxmox.node",
39
+ ProxmoxGuest = "proxmox.guest",
40
+ CephCluster = "ceph.cluster",
30
41
  TelemetrySdk = "telemetry.sdk",
31
42
  }
32
43
 
@@ -14,6 +14,8 @@ enum ServiceType {
14
14
  Host = "Host",
15
15
  DockerHost = "DockerHost",
16
16
  KubernetesCluster = "KubernetesCluster",
17
+ ProxmoxCluster = "ProxmoxCluster",
18
+ CephCluster = "CephCluster",
17
19
  ServerlessFunction = "ServerlessFunction",
18
20
  CloudResource = "CloudResource",
19
21
  RealUserMonitor = "RealUserMonitor",
@@ -2894,6 +2894,90 @@ const Icon: FunctionComponent<ComponentProps> = ({
2894
2894
  />
2895
2895
  </>,
2896
2896
  );
2897
+ } else if (icon === IconProp.Proxmox) {
2898
+ /*
2899
+ * Generic hypervisor glyph — VM tiles running on a server base.
2900
+ * Intentionally NOT the official Proxmox logo (trademark of Proxmox
2901
+ * Server Solutions GmbH); follows the hand-drawn-generic convention
2902
+ * used for Kubernetes/Docker above.
2903
+ */
2904
+ return getSvgWrapper(
2905
+ <>
2906
+ {/* Virtual machine tiles */}
2907
+ <rect
2908
+ x="4"
2909
+ y="4"
2910
+ width="4.5"
2911
+ height="4.5"
2912
+ rx="0.5"
2913
+ strokeLinecap="round"
2914
+ strokeLinejoin="round"
2915
+ />
2916
+ <rect
2917
+ x="9.75"
2918
+ y="4"
2919
+ width="4.5"
2920
+ height="4.5"
2921
+ rx="0.5"
2922
+ strokeLinecap="round"
2923
+ strokeLinejoin="round"
2924
+ />
2925
+ <rect
2926
+ x="15.5"
2927
+ y="4"
2928
+ width="4.5"
2929
+ height="4.5"
2930
+ rx="0.5"
2931
+ strokeLinecap="round"
2932
+ strokeLinejoin="round"
2933
+ />
2934
+ {/* Connectors from VMs down to the hypervisor */}
2935
+ <line x1="6.25" y1="8.5" x2="6.25" y2="14.5" strokeLinecap="round" />
2936
+ <line x1="12" y1="8.5" x2="12" y2="14.5" strokeLinecap="round" />
2937
+ <line x1="17.75" y1="8.5" x2="17.75" y2="14.5" strokeLinecap="round" />
2938
+ {/* Hypervisor / server base */}
2939
+ <rect
2940
+ x="3"
2941
+ y="14.5"
2942
+ width="18"
2943
+ height="5.5"
2944
+ rx="1"
2945
+ strokeLinecap="round"
2946
+ strokeLinejoin="round"
2947
+ />
2948
+ <circle cx="6" cy="17.25" r="0.6" fill="currentColor" />
2949
+ <line x1="9" y1="17.25" x2="18" y2="17.25" strokeLinecap="round" />
2950
+ </>,
2951
+ );
2952
+ } else if (icon === IconProp.Ceph) {
2953
+ /*
2954
+ * Generic hexagon-cluster glyph — honeycomb of storage nodes.
2955
+ * Intentionally NOT the official Ceph logo (trademark of the Ceph
2956
+ * Foundation); follows the hand-drawn-generic convention used for
2957
+ * Kubernetes/Docker above.
2958
+ */
2959
+ return getSvgWrapper(
2960
+ <>
2961
+ <polygon
2962
+ points="7.6,3.6 11.24,5.7 11.24,9.9 7.6,12 3.96,9.9 3.96,5.7"
2963
+ strokeLinecap="round"
2964
+ strokeLinejoin="round"
2965
+ />
2966
+ <polygon
2967
+ points="16.4,3.6 20.04,5.7 20.04,9.9 16.4,12 12.76,9.9 12.76,5.7"
2968
+ strokeLinecap="round"
2969
+ strokeLinejoin="round"
2970
+ />
2971
+ <polygon
2972
+ points="12,12 15.64,14.1 15.64,18.3 12,20.4 8.36,18.3 8.36,14.1"
2973
+ strokeLinecap="round"
2974
+ strokeLinejoin="round"
2975
+ />
2976
+ <circle cx="7.6" cy="7.8" r="0.8" fill="currentColor" />
2977
+ <circle cx="16.4" cy="7.8" r="0.8" fill="currentColor" />
2978
+ <circle cx="12" cy="16.2" r="0.8" fill="currentColor" />
2979
+ </>,
2980
+ );
2897
2981
  } else if (icon === IconProp.Gauge) {
2898
2982
  // Gauge/speedometer icon — semicircular meter with needle
2899
2983
  return getSvgWrapper(
@@ -32,10 +32,10 @@ export default class TemplateVariablesCatalog {
32
32
  monitorType: MonitorType;
33
33
  /**
34
34
  * Attribute keys the user has configured on the metric query
35
- * (e.g. ["host.name", "region"]). For metric/kubernetes/docker
36
- * monitors, these become per-series template variables — one
37
- * incident fires per unique value combination, and each incident
38
- * can reference the label values via `{{host.name}}` etc.
35
+ * (e.g. ["host.name", "region"]). For metric/kubernetes/docker/
36
+ * proxmox/ceph monitors, these become per-series template variables
37
+ * — one incident fires per unique value combination, and each
38
+ * incident can reference the label values via `{{host.name}}` etc.
39
39
  */
40
40
  seriesAttributeKeys?: Array<string> | undefined;
41
41
  }): Array<TemplateVariableGroup> {
@@ -52,7 +52,9 @@ export default class TemplateVariablesCatalog {
52
52
  if (
53
53
  input.monitorType === MonitorType.Metrics ||
54
54
  input.monitorType === MonitorType.Kubernetes ||
55
- input.monitorType === MonitorType.Docker
55
+ input.monitorType === MonitorType.Docker ||
56
+ input.monitorType === MonitorType.Proxmox ||
57
+ input.monitorType === MonitorType.Ceph
56
58
  ) {
57
59
  groups.push(
58
60
  TemplateVariablesCatalog.seriesLabelsGroup(input.seriesAttributeKeys),
@@ -485,6 +487,8 @@ export default class TemplateVariablesCatalog {
485
487
  case MonitorType.Metrics:
486
488
  case MonitorType.Kubernetes:
487
489
  case MonitorType.Docker:
490
+ case MonitorType.Proxmox:
491
+ case MonitorType.Ceph:
488
492
  return {
489
493
  title: "Metric",
490
494
  variables: [