@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1781587937032-MigrationName.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1781587937032-MigrationName.ts"],"names":[],"mappings":"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CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CACrB,sDAAsD,CACvD,CAAC;QACF,MAAM,WAAW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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Proxmox + Ceph V2 (Internal/Roadmap/ProxmoxCephProductsV2.md):
|
|
3
|
+
*
|
|
4
|
+
* 1. WI-3 snapshot columns — ProxmoxCluster.onlineNodeCount and
|
|
5
|
+
* CephCluster.healthStatus (0 = OK / 1 = WARN / 2 = ERR), osdUpCount,
|
|
6
|
+
* osdInCount, capacityUsedPercent. Written by the metrics-ingest
|
|
7
|
+
* snapshot scan via updateLastSeen extras so list pages never hit
|
|
8
|
+
* ClickHouse.
|
|
9
|
+
*
|
|
10
|
+
* 2. WI-2 race defense — DB-level unique indexes on (projectId, name)
|
|
11
|
+
* for both cluster tables. The v1 migration (1781500000000) only
|
|
12
|
+
* created the app-level @UniqueColumnBy check plus a non-unique name
|
|
13
|
+
* index; without the DB index, concurrent find-or-create at ingest
|
|
14
|
+
* (multiple agent pods) can insert duplicate rows — the exact bug the
|
|
15
|
+
* KubernetesCluster dedupe migration (1776881254913) had to clean up.
|
|
16
|
+
* Both migrations ship in the same release and the v1 tables cannot
|
|
17
|
+
* have accumulated duplicates between them, so no dedupe step is
|
|
18
|
+
* needed here.
|
|
19
|
+
*
|
|
20
|
+
* 3. WI-6 child-resource inventory tables — ProxmoxResource and
|
|
21
|
+
* CephResource, cloned from the KubernetesResource shape (unique
|
|
22
|
+
* identity index, denormalized latest-metric columns, not
|
|
23
|
+
* user-writable). externalId is the pve `id` label (node/pve1,
|
|
24
|
+
* qemu/100, storage/local) or the ceph_daemon / pool_id label.
|
|
25
|
+
*
|
|
26
|
+
* 4. WI-17 — nullable Host.proxmoxClusterId FK (SET NULL), the
|
|
27
|
+
* guest-VM → Host cross-link, cloned from Host.kubernetesClusterId.
|
|
28
|
+
*
|
|
29
|
+
* Columns/indexes/FKs are derived from the model decorators in
|
|
30
|
+
* Common/Models/DatabaseModels/{ProxmoxCluster,CephCluster,
|
|
31
|
+
* ProxmoxResource,CephResource,Host}.ts.
|
|
32
|
+
*/
|
|
33
|
+
export class AddProxmoxCephV2Columns1781600000000 {
|
|
34
|
+
constructor() {
|
|
35
|
+
this.name = "AddProxmoxCephV2Columns1781600000000";
|
|
36
|
+
}
|
|
37
|
+
async up(queryRunner) {
|
|
38
|
+
// WI-3: snapshot columns on the cluster tables.
|
|
39
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" ADD "onlineNodeCount" integer DEFAULT '0'`);
|
|
40
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "osdUpCount" integer DEFAULT '0'`);
|
|
41
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "osdInCount" integer DEFAULT '0'`);
|
|
42
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "healthStatus" integer`);
|
|
43
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" ADD "capacityUsedPercent" numeric`);
|
|
44
|
+
/*
|
|
45
|
+
* WI-2: DB-level unique indexes (the concurrent find-or-create race
|
|
46
|
+
* defense — see file comment).
|
|
47
|
+
*/
|
|
48
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_proxmox_cluster_projectId_name" ON "ProxmoxCluster" ("projectId", "name")`);
|
|
49
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ceph_cluster_projectId_name" ON "CephCluster" ("projectId", "name")`);
|
|
50
|
+
// WI-6: Proxmox resource inventory table.
|
|
51
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxResource" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "proxmoxClusterId" uuid NOT NULL, "kind" character varying(100) NOT NULL, "externalId" character varying(100) NOT NULL, "name" character varying(100), "vmid" integer, "guestType" character varying(100), "parentNodeName" character varying(100), "isUp" boolean, "haState" character varying(100), "onboot" boolean, "uptimeSeconds" integer, "latestCpuPercent" numeric, "latestMemoryBytes" bigint, "maxMemoryBytes" bigint, "latestMemoryPercent" numeric, "latestDiskBytes" bigint, "maxDiskBytes" bigint, "metricsUpdatedAt" TIMESTAMP WITH TIME ZONE, "lastSeenAt" TIMESTAMP WITH TIME ZONE NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_proxmox_resource_id" PRIMARY KEY ("_id"))`);
|
|
52
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_resource_projectId" ON "ProxmoxResource" ("projectId")`);
|
|
53
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_resource_proxmoxClusterId" ON "ProxmoxResource" ("proxmoxClusterId")`);
|
|
54
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_proxmox_resource_identity" ON "ProxmoxResource" ("projectId", "proxmoxClusterId", "kind", "externalId")`);
|
|
55
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
56
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
57
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
58
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" ADD CONSTRAINT "FK_proxmox_resource_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
59
|
+
// WI-6: Ceph resource inventory table.
|
|
60
|
+
await queryRunner.query(`CREATE TABLE "CephResource" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "cephClusterId" uuid NOT NULL, "kind" character varying(100) NOT NULL, "externalId" character varying(100) NOT NULL, "name" character varying(100), "hostname" character varying(100), "daemonVersion" character varying(100), "deviceClass" character varying(100), "isUp" boolean, "isIn" boolean, "inQuorum" boolean, "statBytes" bigint, "statBytesUsed" bigint, "applyLatencyMs" numeric, "commitLatencyMs" numeric, "pgCount" integer, "storedBytes" bigint, "maxAvailBytes" bigint, "objects" bigint, "readOpsCounter" bigint, "writeOpsCounter" bigint, "metricsUpdatedAt" TIMESTAMP WITH TIME ZONE, "lastSeenAt" TIMESTAMP WITH TIME ZONE NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_ceph_resource_id" PRIMARY KEY ("_id"))`);
|
|
61
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_resource_projectId" ON "CephResource" ("projectId")`);
|
|
62
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_resource_cephClusterId" ON "CephResource" ("cephClusterId")`);
|
|
63
|
+
await queryRunner.query(`CREATE UNIQUE INDEX "IDX_ceph_resource_identity" ON "CephResource" ("projectId", "cephClusterId", "kind", "externalId")`);
|
|
64
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
65
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
66
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
67
|
+
await queryRunner.query(`ALTER TABLE "CephResource" ADD CONSTRAINT "FK_ceph_resource_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
68
|
+
/*
|
|
69
|
+
* WI-17: optional Host -> ProxmoxCluster cross-link (guest VMs running
|
|
70
|
+
* the host agent). Mirrors Host.kubernetesClusterId: SET NULL, no index.
|
|
71
|
+
*/
|
|
72
|
+
await queryRunner.query(`ALTER TABLE "Host" ADD "proxmoxClusterId" uuid`);
|
|
73
|
+
await queryRunner.query(`ALTER TABLE "Host" ADD CONSTRAINT "FK_host_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
74
|
+
}
|
|
75
|
+
async down(queryRunner) {
|
|
76
|
+
// WI-17: Host cross-link.
|
|
77
|
+
await queryRunner.query(`ALTER TABLE "Host" DROP CONSTRAINT "FK_host_proxmoxClusterId"`);
|
|
78
|
+
await queryRunner.query(`ALTER TABLE "Host" DROP COLUMN "proxmoxClusterId"`);
|
|
79
|
+
// WI-6: Ceph resource inventory table.
|
|
80
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_deletedByUserId"`);
|
|
81
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_createdByUserId"`);
|
|
82
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_cephClusterId"`);
|
|
83
|
+
await queryRunner.query(`ALTER TABLE "CephResource" DROP CONSTRAINT "FK_ceph_resource_projectId"`);
|
|
84
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_resource_identity"`);
|
|
85
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_resource_cephClusterId"`);
|
|
86
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_resource_projectId"`);
|
|
87
|
+
await queryRunner.query(`DROP TABLE "CephResource"`);
|
|
88
|
+
// WI-6: Proxmox resource inventory table.
|
|
89
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_deletedByUserId"`);
|
|
90
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_createdByUserId"`);
|
|
91
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_proxmoxClusterId"`);
|
|
92
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxResource" DROP CONSTRAINT "FK_proxmox_resource_projectId"`);
|
|
93
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_resource_identity"`);
|
|
94
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_resource_proxmoxClusterId"`);
|
|
95
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_resource_projectId"`);
|
|
96
|
+
await queryRunner.query(`DROP TABLE "ProxmoxResource"`);
|
|
97
|
+
// WI-2: unique indexes.
|
|
98
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_ceph_cluster_projectId_name"`);
|
|
99
|
+
await queryRunner.query(`DROP INDEX "public"."IDX_proxmox_cluster_projectId_name"`);
|
|
100
|
+
// WI-3: snapshot columns.
|
|
101
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "capacityUsedPercent"`);
|
|
102
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "healthStatus"`);
|
|
103
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "osdInCount"`);
|
|
104
|
+
await queryRunner.query(`ALTER TABLE "CephCluster" DROP COLUMN "osdUpCount"`);
|
|
105
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxCluster" DROP COLUMN "onlineNodeCount"`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=1781600000000-AddProxmoxCephV2Columns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1781600000000-AddProxmoxCephV2Columns.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1781600000000-AddProxmoxCephV2Columns.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Proxmox + Ceph V2 (Internal/Roadmap/ProxmoxCephProductsV2.md):
|
|
3
|
+
*
|
|
4
|
+
* 1. WI-11 activity wiring — proxmoxClusters / cephClusters ManyToMany
|
|
5
|
+
* join tables on Alert, Incident and ScheduledMaintenance (cloned
|
|
6
|
+
* from the AlertKubernetesCluster / IncidentDockerHost shape in
|
|
7
|
+
* 1779302536475-AttachKubernetesAndDockerToIncidentAndAlert).
|
|
8
|
+
*
|
|
9
|
+
* 2. WI-12 owner/label rule engines — ProxmoxClusterOwnerRule,
|
|
10
|
+
* ProxmoxClusterLabelRule, CephClusterOwnerRule, CephClusterLabelRule
|
|
11
|
+
* plus their matcher/action join tables (cloned from the
|
|
12
|
+
* KubernetesCluster rule tables in 1778784396629), and the owner join
|
|
13
|
+
* models ProxmoxClusterOwnerUser/OwnerTeam, CephClusterOwnerUser/
|
|
14
|
+
* OwnerTeam (cloned from KubernetesClusterOwnerUser/OwnerTeam in
|
|
15
|
+
* 1776504277320).
|
|
16
|
+
*
|
|
17
|
+
* Columns/indexes/FKs are derived from the model decorators in
|
|
18
|
+
* Common/Models/DatabaseModels/.
|
|
19
|
+
*/
|
|
20
|
+
export class AddProxmoxCephActivityAndRules1781600000001 {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.name = "AddProxmoxCephActivityAndRules1781600000001";
|
|
23
|
+
}
|
|
24
|
+
async up(queryRunner) {
|
|
25
|
+
/*
|
|
26
|
+
* ------------------------------------------------------------------
|
|
27
|
+
* WI-11: activity ManyToMany join tables.
|
|
28
|
+
* ------------------------------------------------------------------
|
|
29
|
+
*/
|
|
30
|
+
// AlertProxmoxCluster
|
|
31
|
+
await queryRunner.query(`CREATE TABLE "AlertProxmoxCluster" ("alertId" uuid NOT NULL, "proxmoxClusterId" uuid NOT NULL, CONSTRAINT "PK_alert_proxmox_cluster" PRIMARY KEY ("alertId", "proxmoxClusterId"))`);
|
|
32
|
+
await queryRunner.query(`CREATE INDEX "IDX_alert_proxmox_cluster_alertId" ON "AlertProxmoxCluster" ("alertId")`);
|
|
33
|
+
await queryRunner.query(`CREATE INDEX "IDX_alert_proxmox_cluster_proxmoxClusterId" ON "AlertProxmoxCluster" ("proxmoxClusterId")`);
|
|
34
|
+
await queryRunner.query(`ALTER TABLE "AlertProxmoxCluster" ADD CONSTRAINT "FK_alert_proxmox_cluster_alertId" FOREIGN KEY ("alertId") REFERENCES "Alert"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
35
|
+
await queryRunner.query(`ALTER TABLE "AlertProxmoxCluster" ADD CONSTRAINT "FK_alert_proxmox_cluster_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
36
|
+
// AlertCephCluster
|
|
37
|
+
await queryRunner.query(`CREATE TABLE "AlertCephCluster" ("alertId" uuid NOT NULL, "cephClusterId" uuid NOT NULL, CONSTRAINT "PK_alert_ceph_cluster" PRIMARY KEY ("alertId", "cephClusterId"))`);
|
|
38
|
+
await queryRunner.query(`CREATE INDEX "IDX_alert_ceph_cluster_alertId" ON "AlertCephCluster" ("alertId")`);
|
|
39
|
+
await queryRunner.query(`CREATE INDEX "IDX_alert_ceph_cluster_cephClusterId" ON "AlertCephCluster" ("cephClusterId")`);
|
|
40
|
+
await queryRunner.query(`ALTER TABLE "AlertCephCluster" ADD CONSTRAINT "FK_alert_ceph_cluster_alertId" FOREIGN KEY ("alertId") REFERENCES "Alert"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
41
|
+
await queryRunner.query(`ALTER TABLE "AlertCephCluster" ADD CONSTRAINT "FK_alert_ceph_cluster_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
42
|
+
// IncidentProxmoxCluster
|
|
43
|
+
await queryRunner.query(`CREATE TABLE "IncidentProxmoxCluster" ("incidentId" uuid NOT NULL, "proxmoxClusterId" uuid NOT NULL, CONSTRAINT "PK_incident_proxmox_cluster" PRIMARY KEY ("incidentId", "proxmoxClusterId"))`);
|
|
44
|
+
await queryRunner.query(`CREATE INDEX "IDX_incident_proxmox_cluster_incidentId" ON "IncidentProxmoxCluster" ("incidentId")`);
|
|
45
|
+
await queryRunner.query(`CREATE INDEX "IDX_incident_proxmox_cluster_proxmoxClusterId" ON "IncidentProxmoxCluster" ("proxmoxClusterId")`);
|
|
46
|
+
await queryRunner.query(`ALTER TABLE "IncidentProxmoxCluster" ADD CONSTRAINT "FK_incident_proxmox_cluster_incidentId" FOREIGN KEY ("incidentId") REFERENCES "Incident"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
47
|
+
await queryRunner.query(`ALTER TABLE "IncidentProxmoxCluster" ADD CONSTRAINT "FK_incident_proxmox_cluster_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
48
|
+
// IncidentCephCluster
|
|
49
|
+
await queryRunner.query(`CREATE TABLE "IncidentCephCluster" ("incidentId" uuid NOT NULL, "cephClusterId" uuid NOT NULL, CONSTRAINT "PK_incident_ceph_cluster" PRIMARY KEY ("incidentId", "cephClusterId"))`);
|
|
50
|
+
await queryRunner.query(`CREATE INDEX "IDX_incident_ceph_cluster_incidentId" ON "IncidentCephCluster" ("incidentId")`);
|
|
51
|
+
await queryRunner.query(`CREATE INDEX "IDX_incident_ceph_cluster_cephClusterId" ON "IncidentCephCluster" ("cephClusterId")`);
|
|
52
|
+
await queryRunner.query(`ALTER TABLE "IncidentCephCluster" ADD CONSTRAINT "FK_incident_ceph_cluster_incidentId" FOREIGN KEY ("incidentId") REFERENCES "Incident"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
53
|
+
await queryRunner.query(`ALTER TABLE "IncidentCephCluster" ADD CONSTRAINT "FK_incident_ceph_cluster_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
54
|
+
// ScheduledMaintenanceProxmoxCluster
|
|
55
|
+
await queryRunner.query(`CREATE TABLE "ScheduledMaintenanceProxmoxCluster" ("scheduledMaintenanceId" uuid NOT NULL, "proxmoxClusterId" uuid NOT NULL, CONSTRAINT "PK_sm_proxmox_cluster" PRIMARY KEY ("scheduledMaintenanceId", "proxmoxClusterId"))`);
|
|
56
|
+
await queryRunner.query(`CREATE INDEX "IDX_sm_proxmox_cluster_scheduledMaintenanceId" ON "ScheduledMaintenanceProxmoxCluster" ("scheduledMaintenanceId")`);
|
|
57
|
+
await queryRunner.query(`CREATE INDEX "IDX_sm_proxmox_cluster_proxmoxClusterId" ON "ScheduledMaintenanceProxmoxCluster" ("proxmoxClusterId")`);
|
|
58
|
+
await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceProxmoxCluster" ADD CONSTRAINT "FK_sm_proxmox_cluster_scheduledMaintenanceId" FOREIGN KEY ("scheduledMaintenanceId") REFERENCES "ScheduledMaintenance"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
59
|
+
await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceProxmoxCluster" ADD CONSTRAINT "FK_sm_proxmox_cluster_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
60
|
+
// ScheduledMaintenanceCephCluster
|
|
61
|
+
await queryRunner.query(`CREATE TABLE "ScheduledMaintenanceCephCluster" ("scheduledMaintenanceId" uuid NOT NULL, "cephClusterId" uuid NOT NULL, CONSTRAINT "PK_sm_ceph_cluster" PRIMARY KEY ("scheduledMaintenanceId", "cephClusterId"))`);
|
|
62
|
+
await queryRunner.query(`CREATE INDEX "IDX_sm_ceph_cluster_scheduledMaintenanceId" ON "ScheduledMaintenanceCephCluster" ("scheduledMaintenanceId")`);
|
|
63
|
+
await queryRunner.query(`CREATE INDEX "IDX_sm_ceph_cluster_cephClusterId" ON "ScheduledMaintenanceCephCluster" ("cephClusterId")`);
|
|
64
|
+
await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceCephCluster" ADD CONSTRAINT "FK_sm_ceph_cluster_scheduledMaintenanceId" FOREIGN KEY ("scheduledMaintenanceId") REFERENCES "ScheduledMaintenance"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
65
|
+
await queryRunner.query(`ALTER TABLE "ScheduledMaintenanceCephCluster" ADD CONSTRAINT "FK_sm_ceph_cluster_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
66
|
+
/*
|
|
67
|
+
* ------------------------------------------------------------------
|
|
68
|
+
* WI-12: rule tables.
|
|
69
|
+
* ------------------------------------------------------------------
|
|
70
|
+
*/
|
|
71
|
+
// ProxmoxClusterOwnerRule
|
|
72
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterOwnerRule" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100) NOT NULL, "description" character varying(500), "isEnabled" boolean NOT NULL DEFAULT true, "notifyOwners" boolean NOT NULL DEFAULT true, "proxmoxClusterNamePattern" character varying(500), "proxmoxClusterDescriptionPattern" character varying(500), "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_proxmox_cluster_owner_rule" PRIMARY KEY ("_id"))`);
|
|
73
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_rule_projectId" ON "ProxmoxClusterOwnerRule" ("projectId")`);
|
|
74
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_rule_name" ON "ProxmoxClusterOwnerRule" ("name")`);
|
|
75
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_rule_isEnabled" ON "ProxmoxClusterOwnerRule" ("isEnabled")`);
|
|
76
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRule" ADD CONSTRAINT "FK_proxmox_cluster_owner_rule_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
77
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRule" ADD CONSTRAINT "FK_proxmox_cluster_owner_rule_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
78
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRule" ADD CONSTRAINT "FK_proxmox_cluster_owner_rule_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
79
|
+
// ProxmoxClusterLabelRule
|
|
80
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterLabelRule" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100) NOT NULL, "description" character varying(500), "isEnabled" boolean NOT NULL DEFAULT true, "proxmoxClusterNamePattern" character varying(500), "proxmoxClusterDescriptionPattern" character varying(500), "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_proxmox_cluster_label_rule" PRIMARY KEY ("_id"))`);
|
|
81
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_label_rule_projectId" ON "ProxmoxClusterLabelRule" ("projectId")`);
|
|
82
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_label_rule_name" ON "ProxmoxClusterLabelRule" ("name")`);
|
|
83
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_label_rule_isEnabled" ON "ProxmoxClusterLabelRule" ("isEnabled")`);
|
|
84
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabelRule" ADD CONSTRAINT "FK_proxmox_cluster_label_rule_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
85
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabelRule" ADD CONSTRAINT "FK_proxmox_cluster_label_rule_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
86
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabelRule" ADD CONSTRAINT "FK_proxmox_cluster_label_rule_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
87
|
+
// CephClusterOwnerRule
|
|
88
|
+
await queryRunner.query(`CREATE TABLE "CephClusterOwnerRule" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100) NOT NULL, "description" character varying(500), "isEnabled" boolean NOT NULL DEFAULT true, "notifyOwners" boolean NOT NULL DEFAULT true, "cephClusterNamePattern" character varying(500), "cephClusterDescriptionPattern" character varying(500), "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_ceph_cluster_owner_rule" PRIMARY KEY ("_id"))`);
|
|
89
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_rule_projectId" ON "CephClusterOwnerRule" ("projectId")`);
|
|
90
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_rule_name" ON "CephClusterOwnerRule" ("name")`);
|
|
91
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_rule_isEnabled" ON "CephClusterOwnerRule" ("isEnabled")`);
|
|
92
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRule" ADD CONSTRAINT "FK_ceph_cluster_owner_rule_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
93
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRule" ADD CONSTRAINT "FK_ceph_cluster_owner_rule_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
94
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRule" ADD CONSTRAINT "FK_ceph_cluster_owner_rule_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
95
|
+
// CephClusterLabelRule
|
|
96
|
+
await queryRunner.query(`CREATE TABLE "CephClusterLabelRule" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "name" character varying(100) NOT NULL, "description" character varying(500), "isEnabled" boolean NOT NULL DEFAULT true, "cephClusterNamePattern" character varying(500), "cephClusterDescriptionPattern" character varying(500), "createdByUserId" uuid, "deletedByUserId" uuid, CONSTRAINT "PK_ceph_cluster_label_rule" PRIMARY KEY ("_id"))`);
|
|
97
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_label_rule_projectId" ON "CephClusterLabelRule" ("projectId")`);
|
|
98
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_label_rule_name" ON "CephClusterLabelRule" ("name")`);
|
|
99
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_label_rule_isEnabled" ON "CephClusterLabelRule" ("isEnabled")`);
|
|
100
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabelRule" ADD CONSTRAINT "FK_ceph_cluster_label_rule_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
101
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabelRule" ADD CONSTRAINT "FK_ceph_cluster_label_rule_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
102
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabelRule" ADD CONSTRAINT "FK_ceph_cluster_label_rule_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
103
|
+
/*
|
|
104
|
+
* ------------------------------------------------------------------
|
|
105
|
+
* WI-12: rule matcher/action join tables.
|
|
106
|
+
* Abbreviations to stay under Postgres's 63-char identifier limit:
|
|
107
|
+
* pcor = ProxmoxClusterOwnerRule, pclr = ProxmoxClusterLabelRule,
|
|
108
|
+
* ccor = CephClusterOwnerRule, cclr = CephClusterLabelRule.
|
|
109
|
+
* ------------------------------------------------------------------
|
|
110
|
+
*/
|
|
111
|
+
// ProxmoxClusterOwnerRuleProxmoxClusterLabel (matcher labels)
|
|
112
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterOwnerRuleProxmoxClusterLabel" ("proxmoxClusterOwnerRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_pcor_cluster_label" PRIMARY KEY ("proxmoxClusterOwnerRuleId", "labelId"))`);
|
|
113
|
+
await queryRunner.query(`CREATE INDEX "IDX_pcor_cluster_label_ruleId" ON "ProxmoxClusterOwnerRuleProxmoxClusterLabel" ("proxmoxClusterOwnerRuleId")`);
|
|
114
|
+
await queryRunner.query(`CREATE INDEX "IDX_pcor_cluster_label_labelId" ON "ProxmoxClusterOwnerRuleProxmoxClusterLabel" ("labelId")`);
|
|
115
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRuleProxmoxClusterLabel" ADD CONSTRAINT "FK_pcor_cluster_label_ruleId" FOREIGN KEY ("proxmoxClusterOwnerRuleId") REFERENCES "ProxmoxClusterOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
116
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRuleProxmoxClusterLabel" ADD CONSTRAINT "FK_pcor_cluster_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
117
|
+
// ProxmoxClusterOwnerRuleOwnerUser
|
|
118
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterOwnerRuleOwnerUser" ("proxmoxClusterOwnerRuleId" uuid NOT NULL, "userId" uuid NOT NULL, CONSTRAINT "PK_pcor_owner_user" PRIMARY KEY ("proxmoxClusterOwnerRuleId", "userId"))`);
|
|
119
|
+
await queryRunner.query(`CREATE INDEX "IDX_pcor_owner_user_ruleId" ON "ProxmoxClusterOwnerRuleOwnerUser" ("proxmoxClusterOwnerRuleId")`);
|
|
120
|
+
await queryRunner.query(`CREATE INDEX "IDX_pcor_owner_user_userId" ON "ProxmoxClusterOwnerRuleOwnerUser" ("userId")`);
|
|
121
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRuleOwnerUser" ADD CONSTRAINT "FK_pcor_owner_user_ruleId" FOREIGN KEY ("proxmoxClusterOwnerRuleId") REFERENCES "ProxmoxClusterOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
122
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRuleOwnerUser" ADD CONSTRAINT "FK_pcor_owner_user_userId" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
123
|
+
// ProxmoxClusterOwnerRuleOwnerTeam
|
|
124
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterOwnerRuleOwnerTeam" ("proxmoxClusterOwnerRuleId" uuid NOT NULL, "teamId" uuid NOT NULL, CONSTRAINT "PK_pcor_owner_team" PRIMARY KEY ("proxmoxClusterOwnerRuleId", "teamId"))`);
|
|
125
|
+
await queryRunner.query(`CREATE INDEX "IDX_pcor_owner_team_ruleId" ON "ProxmoxClusterOwnerRuleOwnerTeam" ("proxmoxClusterOwnerRuleId")`);
|
|
126
|
+
await queryRunner.query(`CREATE INDEX "IDX_pcor_owner_team_teamId" ON "ProxmoxClusterOwnerRuleOwnerTeam" ("teamId")`);
|
|
127
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRuleOwnerTeam" ADD CONSTRAINT "FK_pcor_owner_team_ruleId" FOREIGN KEY ("proxmoxClusterOwnerRuleId") REFERENCES "ProxmoxClusterOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
128
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerRuleOwnerTeam" ADD CONSTRAINT "FK_pcor_owner_team_teamId" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
129
|
+
// ProxmoxClusterLabelRuleProxmoxClusterLabel (matcher labels)
|
|
130
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterLabelRuleProxmoxClusterLabel" ("proxmoxClusterLabelRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_pclr_cluster_label" PRIMARY KEY ("proxmoxClusterLabelRuleId", "labelId"))`);
|
|
131
|
+
await queryRunner.query(`CREATE INDEX "IDX_pclr_cluster_label_ruleId" ON "ProxmoxClusterLabelRuleProxmoxClusterLabel" ("proxmoxClusterLabelRuleId")`);
|
|
132
|
+
await queryRunner.query(`CREATE INDEX "IDX_pclr_cluster_label_labelId" ON "ProxmoxClusterLabelRuleProxmoxClusterLabel" ("labelId")`);
|
|
133
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabelRuleProxmoxClusterLabel" ADD CONSTRAINT "FK_pclr_cluster_label_ruleId" FOREIGN KEY ("proxmoxClusterLabelRuleId") REFERENCES "ProxmoxClusterLabelRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
134
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabelRuleProxmoxClusterLabel" ADD CONSTRAINT "FK_pclr_cluster_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
135
|
+
// ProxmoxClusterLabelRuleLabelToAdd (action labels)
|
|
136
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterLabelRuleLabelToAdd" ("proxmoxClusterLabelRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_pclr_label_to_add" PRIMARY KEY ("proxmoxClusterLabelRuleId", "labelId"))`);
|
|
137
|
+
await queryRunner.query(`CREATE INDEX "IDX_pclr_label_to_add_ruleId" ON "ProxmoxClusterLabelRuleLabelToAdd" ("proxmoxClusterLabelRuleId")`);
|
|
138
|
+
await queryRunner.query(`CREATE INDEX "IDX_pclr_label_to_add_labelId" ON "ProxmoxClusterLabelRuleLabelToAdd" ("labelId")`);
|
|
139
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabelRuleLabelToAdd" ADD CONSTRAINT "FK_pclr_label_to_add_ruleId" FOREIGN KEY ("proxmoxClusterLabelRuleId") REFERENCES "ProxmoxClusterLabelRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
140
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterLabelRuleLabelToAdd" ADD CONSTRAINT "FK_pclr_label_to_add_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
141
|
+
// CephClusterOwnerRuleCephClusterLabel (matcher labels)
|
|
142
|
+
await queryRunner.query(`CREATE TABLE "CephClusterOwnerRuleCephClusterLabel" ("cephClusterOwnerRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_ccor_cluster_label" PRIMARY KEY ("cephClusterOwnerRuleId", "labelId"))`);
|
|
143
|
+
await queryRunner.query(`CREATE INDEX "IDX_ccor_cluster_label_ruleId" ON "CephClusterOwnerRuleCephClusterLabel" ("cephClusterOwnerRuleId")`);
|
|
144
|
+
await queryRunner.query(`CREATE INDEX "IDX_ccor_cluster_label_labelId" ON "CephClusterOwnerRuleCephClusterLabel" ("labelId")`);
|
|
145
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRuleCephClusterLabel" ADD CONSTRAINT "FK_ccor_cluster_label_ruleId" FOREIGN KEY ("cephClusterOwnerRuleId") REFERENCES "CephClusterOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
146
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRuleCephClusterLabel" ADD CONSTRAINT "FK_ccor_cluster_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
147
|
+
// CephClusterOwnerRuleOwnerUser
|
|
148
|
+
await queryRunner.query(`CREATE TABLE "CephClusterOwnerRuleOwnerUser" ("cephClusterOwnerRuleId" uuid NOT NULL, "userId" uuid NOT NULL, CONSTRAINT "PK_ccor_owner_user" PRIMARY KEY ("cephClusterOwnerRuleId", "userId"))`);
|
|
149
|
+
await queryRunner.query(`CREATE INDEX "IDX_ccor_owner_user_ruleId" ON "CephClusterOwnerRuleOwnerUser" ("cephClusterOwnerRuleId")`);
|
|
150
|
+
await queryRunner.query(`CREATE INDEX "IDX_ccor_owner_user_userId" ON "CephClusterOwnerRuleOwnerUser" ("userId")`);
|
|
151
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRuleOwnerUser" ADD CONSTRAINT "FK_ccor_owner_user_ruleId" FOREIGN KEY ("cephClusterOwnerRuleId") REFERENCES "CephClusterOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
152
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRuleOwnerUser" ADD CONSTRAINT "FK_ccor_owner_user_userId" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
153
|
+
// CephClusterOwnerRuleOwnerTeam
|
|
154
|
+
await queryRunner.query(`CREATE TABLE "CephClusterOwnerRuleOwnerTeam" ("cephClusterOwnerRuleId" uuid NOT NULL, "teamId" uuid NOT NULL, CONSTRAINT "PK_ccor_owner_team" PRIMARY KEY ("cephClusterOwnerRuleId", "teamId"))`);
|
|
155
|
+
await queryRunner.query(`CREATE INDEX "IDX_ccor_owner_team_ruleId" ON "CephClusterOwnerRuleOwnerTeam" ("cephClusterOwnerRuleId")`);
|
|
156
|
+
await queryRunner.query(`CREATE INDEX "IDX_ccor_owner_team_teamId" ON "CephClusterOwnerRuleOwnerTeam" ("teamId")`);
|
|
157
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRuleOwnerTeam" ADD CONSTRAINT "FK_ccor_owner_team_ruleId" FOREIGN KEY ("cephClusterOwnerRuleId") REFERENCES "CephClusterOwnerRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
158
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerRuleOwnerTeam" ADD CONSTRAINT "FK_ccor_owner_team_teamId" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
159
|
+
// CephClusterLabelRuleCephClusterLabel (matcher labels)
|
|
160
|
+
await queryRunner.query(`CREATE TABLE "CephClusterLabelRuleCephClusterLabel" ("cephClusterLabelRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_cclr_cluster_label" PRIMARY KEY ("cephClusterLabelRuleId", "labelId"))`);
|
|
161
|
+
await queryRunner.query(`CREATE INDEX "IDX_cclr_cluster_label_ruleId" ON "CephClusterLabelRuleCephClusterLabel" ("cephClusterLabelRuleId")`);
|
|
162
|
+
await queryRunner.query(`CREATE INDEX "IDX_cclr_cluster_label_labelId" ON "CephClusterLabelRuleCephClusterLabel" ("labelId")`);
|
|
163
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabelRuleCephClusterLabel" ADD CONSTRAINT "FK_cclr_cluster_label_ruleId" FOREIGN KEY ("cephClusterLabelRuleId") REFERENCES "CephClusterLabelRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
164
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabelRuleCephClusterLabel" ADD CONSTRAINT "FK_cclr_cluster_label_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
165
|
+
// CephClusterLabelRuleLabelToAdd (action labels)
|
|
166
|
+
await queryRunner.query(`CREATE TABLE "CephClusterLabelRuleLabelToAdd" ("cephClusterLabelRuleId" uuid NOT NULL, "labelId" uuid NOT NULL, CONSTRAINT "PK_cclr_label_to_add" PRIMARY KEY ("cephClusterLabelRuleId", "labelId"))`);
|
|
167
|
+
await queryRunner.query(`CREATE INDEX "IDX_cclr_label_to_add_ruleId" ON "CephClusterLabelRuleLabelToAdd" ("cephClusterLabelRuleId")`);
|
|
168
|
+
await queryRunner.query(`CREATE INDEX "IDX_cclr_label_to_add_labelId" ON "CephClusterLabelRuleLabelToAdd" ("labelId")`);
|
|
169
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabelRuleLabelToAdd" ADD CONSTRAINT "FK_cclr_label_to_add_ruleId" FOREIGN KEY ("cephClusterLabelRuleId") REFERENCES "CephClusterLabelRule"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
170
|
+
await queryRunner.query(`ALTER TABLE "CephClusterLabelRuleLabelToAdd" ADD CONSTRAINT "FK_cclr_label_to_add_labelId" FOREIGN KEY ("labelId") REFERENCES "Label"("_id") ON DELETE CASCADE ON UPDATE CASCADE`);
|
|
171
|
+
/*
|
|
172
|
+
* ------------------------------------------------------------------
|
|
173
|
+
* WI-12: owner join models (also the prerequisite for the Owners page
|
|
174
|
+
* and useResourceOwners facets).
|
|
175
|
+
* ------------------------------------------------------------------
|
|
176
|
+
*/
|
|
177
|
+
// ProxmoxClusterOwnerUser
|
|
178
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterOwnerUser" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "userId" uuid NOT NULL, "proxmoxClusterId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_proxmox_cluster_owner_user" PRIMARY KEY ("_id"))`);
|
|
179
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_user_projectId" ON "ProxmoxClusterOwnerUser" ("projectId")`);
|
|
180
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_user_userId" ON "ProxmoxClusterOwnerUser" ("userId")`);
|
|
181
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_user_proxmoxClusterId" ON "ProxmoxClusterOwnerUser" ("proxmoxClusterId")`);
|
|
182
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_user_isOwnerNotified" ON "ProxmoxClusterOwnerUser" ("isOwnerNotified")`);
|
|
183
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerUser" ADD CONSTRAINT "FK_proxmox_cluster_owner_user_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
184
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerUser" ADD CONSTRAINT "FK_proxmox_cluster_owner_user_userId" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
185
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerUser" ADD CONSTRAINT "FK_proxmox_cluster_owner_user_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
186
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerUser" ADD CONSTRAINT "FK_proxmox_cluster_owner_user_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
187
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerUser" ADD CONSTRAINT "FK_proxmox_cluster_owner_user_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
188
|
+
// ProxmoxClusterOwnerTeam
|
|
189
|
+
await queryRunner.query(`CREATE TABLE "ProxmoxClusterOwnerTeam" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "teamId" uuid NOT NULL, "proxmoxClusterId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_proxmox_cluster_owner_team" PRIMARY KEY ("_id"))`);
|
|
190
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_team_projectId" ON "ProxmoxClusterOwnerTeam" ("projectId")`);
|
|
191
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_team_teamId" ON "ProxmoxClusterOwnerTeam" ("teamId")`);
|
|
192
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_team_proxmoxClusterId" ON "ProxmoxClusterOwnerTeam" ("proxmoxClusterId")`);
|
|
193
|
+
await queryRunner.query(`CREATE INDEX "IDX_proxmox_cluster_owner_team_isOwnerNotified" ON "ProxmoxClusterOwnerTeam" ("isOwnerNotified")`);
|
|
194
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerTeam" ADD CONSTRAINT "FK_proxmox_cluster_owner_team_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
195
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerTeam" ADD CONSTRAINT "FK_proxmox_cluster_owner_team_teamId" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
196
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerTeam" ADD CONSTRAINT "FK_proxmox_cluster_owner_team_proxmoxClusterId" FOREIGN KEY ("proxmoxClusterId") REFERENCES "ProxmoxCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
197
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerTeam" ADD CONSTRAINT "FK_proxmox_cluster_owner_team_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
198
|
+
await queryRunner.query(`ALTER TABLE "ProxmoxClusterOwnerTeam" ADD CONSTRAINT "FK_proxmox_cluster_owner_team_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
199
|
+
// CephClusterOwnerUser
|
|
200
|
+
await queryRunner.query(`CREATE TABLE "CephClusterOwnerUser" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "userId" uuid NOT NULL, "cephClusterId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_ceph_cluster_owner_user" PRIMARY KEY ("_id"))`);
|
|
201
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_user_projectId" ON "CephClusterOwnerUser" ("projectId")`);
|
|
202
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_user_userId" ON "CephClusterOwnerUser" ("userId")`);
|
|
203
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_user_cephClusterId" ON "CephClusterOwnerUser" ("cephClusterId")`);
|
|
204
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_user_isOwnerNotified" ON "CephClusterOwnerUser" ("isOwnerNotified")`);
|
|
205
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerUser" ADD CONSTRAINT "FK_ceph_cluster_owner_user_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
206
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerUser" ADD CONSTRAINT "FK_ceph_cluster_owner_user_userId" FOREIGN KEY ("userId") REFERENCES "User"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
207
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerUser" ADD CONSTRAINT "FK_ceph_cluster_owner_user_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
208
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerUser" ADD CONSTRAINT "FK_ceph_cluster_owner_user_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
209
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerUser" ADD CONSTRAINT "FK_ceph_cluster_owner_user_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
210
|
+
// CephClusterOwnerTeam
|
|
211
|
+
await queryRunner.query(`CREATE TABLE "CephClusterOwnerTeam" ("_id" uuid NOT NULL DEFAULT uuid_generate_v4(), "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT now(), "deletedAt" TIMESTAMP WITH TIME ZONE, "version" integer NOT NULL, "projectId" uuid NOT NULL, "teamId" uuid NOT NULL, "cephClusterId" uuid NOT NULL, "createdByUserId" uuid, "deletedByUserId" uuid, "isOwnerNotified" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_ceph_cluster_owner_team" PRIMARY KEY ("_id"))`);
|
|
212
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_team_projectId" ON "CephClusterOwnerTeam" ("projectId")`);
|
|
213
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_team_teamId" ON "CephClusterOwnerTeam" ("teamId")`);
|
|
214
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_team_cephClusterId" ON "CephClusterOwnerTeam" ("cephClusterId")`);
|
|
215
|
+
await queryRunner.query(`CREATE INDEX "IDX_ceph_cluster_owner_team_isOwnerNotified" ON "CephClusterOwnerTeam" ("isOwnerNotified")`);
|
|
216
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerTeam" ADD CONSTRAINT "FK_ceph_cluster_owner_team_projectId" FOREIGN KEY ("projectId") REFERENCES "Project"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
217
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerTeam" ADD CONSTRAINT "FK_ceph_cluster_owner_team_teamId" FOREIGN KEY ("teamId") REFERENCES "Team"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
218
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerTeam" ADD CONSTRAINT "FK_ceph_cluster_owner_team_cephClusterId" FOREIGN KEY ("cephClusterId") REFERENCES "CephCluster"("_id") ON DELETE CASCADE ON UPDATE NO ACTION`);
|
|
219
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerTeam" ADD CONSTRAINT "FK_ceph_cluster_owner_team_createdByUserId" FOREIGN KEY ("createdByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
220
|
+
await queryRunner.query(`ALTER TABLE "CephClusterOwnerTeam" ADD CONSTRAINT "FK_ceph_cluster_owner_team_deletedByUserId" FOREIGN KEY ("deletedByUserId") REFERENCES "User"("_id") ON DELETE SET NULL ON UPDATE NO ACTION`);
|
|
221
|
+
}
|
|
222
|
+
async down(queryRunner) {
|
|
223
|
+
// Owner join models.
|
|
224
|
+
await queryRunner.query(`DROP TABLE "CephClusterOwnerTeam"`);
|
|
225
|
+
await queryRunner.query(`DROP TABLE "CephClusterOwnerUser"`);
|
|
226
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterOwnerTeam"`);
|
|
227
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterOwnerUser"`);
|
|
228
|
+
// Rule matcher/action join tables.
|
|
229
|
+
await queryRunner.query(`DROP TABLE "CephClusterLabelRuleLabelToAdd"`);
|
|
230
|
+
await queryRunner.query(`DROP TABLE "CephClusterLabelRuleCephClusterLabel"`);
|
|
231
|
+
await queryRunner.query(`DROP TABLE "CephClusterOwnerRuleOwnerTeam"`);
|
|
232
|
+
await queryRunner.query(`DROP TABLE "CephClusterOwnerRuleOwnerUser"`);
|
|
233
|
+
await queryRunner.query(`DROP TABLE "CephClusterOwnerRuleCephClusterLabel"`);
|
|
234
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterLabelRuleLabelToAdd"`);
|
|
235
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterLabelRuleProxmoxClusterLabel"`);
|
|
236
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterOwnerRuleOwnerTeam"`);
|
|
237
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterOwnerRuleOwnerUser"`);
|
|
238
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterOwnerRuleProxmoxClusterLabel"`);
|
|
239
|
+
// Rule tables.
|
|
240
|
+
await queryRunner.query(`DROP TABLE "CephClusterLabelRule"`);
|
|
241
|
+
await queryRunner.query(`DROP TABLE "CephClusterOwnerRule"`);
|
|
242
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterLabelRule"`);
|
|
243
|
+
await queryRunner.query(`DROP TABLE "ProxmoxClusterOwnerRule"`);
|
|
244
|
+
// Activity ManyToMany join tables.
|
|
245
|
+
await queryRunner.query(`DROP TABLE "ScheduledMaintenanceCephCluster"`);
|
|
246
|
+
await queryRunner.query(`DROP TABLE "ScheduledMaintenanceProxmoxCluster"`);
|
|
247
|
+
await queryRunner.query(`DROP TABLE "IncidentCephCluster"`);
|
|
248
|
+
await queryRunner.query(`DROP TABLE "IncidentProxmoxCluster"`);
|
|
249
|
+
await queryRunner.query(`DROP TABLE "AlertCephCluster"`);
|
|
250
|
+
await queryRunner.query(`DROP TABLE "AlertProxmoxCluster"`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
//# sourceMappingURL=1781600000001-AddProxmoxCephActivityAndRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1781600000001-AddProxmoxCephActivityAndRules.js","sourceRoot":"","sources":["../../../../../../Server/Infrastructure/Postgres/SchemaMigrations/1781600000001-AddProxmoxCephActivityAndRules.ts"],"names":[],"mappings":"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"}
|