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