@oneuptime/common 13.0.0 → 13.0.1
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 +55 -0
- package/Models/DatabaseModels/CloudResource.ts +45 -7
- package/Models/DatabaseModels/CodeRepository.ts +85 -0
- package/Models/DatabaseModels/GoogleSecOpsConnection.ts +57 -7
- package/Models/DatabaseModels/GoogleSecOpsConnectionRun.ts +263 -0
- package/Models/DatabaseModels/Incident.ts +55 -0
- package/Models/DatabaseModels/Index.ts +16 -0
- package/Models/DatabaseModels/ScheduledMaintenance.ts +55 -0
- package/Models/DatabaseModels/User.ts +51 -2
- package/Models/DatabaseModels/UserNotificationEmailRollupItem.ts +43 -2
- package/Models/DatabaseModels/UserWebAuthn.ts +17 -0
- package/Models/DatabaseModels/VMwareResource.ts +1149 -0
- package/Models/DatabaseModels/VMwareVCenter.ts +1122 -0
- package/Models/DatabaseModels/VMwareVCenterFeed.ts +625 -0
- package/Models/DatabaseModels/VMwareVCenterLabelRule.ts +514 -0
- package/Models/DatabaseModels/VMwareVCenterOwnerRule.ts +596 -0
- package/Models/DatabaseModels/VMwareVCenterOwnerTeam.ts +485 -0
- package/Models/DatabaseModels/VMwareVCenterOwnerUser.ts +484 -0
- package/Models/DatabaseModels/WorkflowVariable.ts +22 -1
- package/Server/API/AIAgentDataAPI.ts +79 -4
- package/Server/API/AIAgentGitHubAPI.ts +523 -0
- package/Server/API/AIChatAPI.ts +20 -1
- package/Server/API/BillingAPI.ts +33 -0
- package/Server/API/DashboardAPI.ts +10 -0
- package/Server/API/GitHubAPI.ts +47 -5
- package/Server/API/GoogleSecOpsConnectionAPI.ts +79 -0
- package/Server/API/UserWebAuthnAPI.ts +21 -1
- package/Server/API/VMwareResourceAPI.ts +143 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791800000000-SplitWebAuthnChallengeByPurpose.ts +68 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1791900000000-AddSeverityAndStateToNotificationEmailRollup.ts +26 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1792000000000-AddVMwareTables.ts +636 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1792100000000-AddGitHubCommandSettingsToCodeRepository.ts +47 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1792200000000-AddUserWebAuthnPurpose.ts +17 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1792300000000-AddGoogleSecOpsDiagnostics.ts +83 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +12 -0
- package/Server/Middleware/IdentityRateLimit.ts +101 -0
- package/Server/Services/AIRunService.ts +13 -0
- package/Server/Services/BillingPaymentMethodService.ts +99 -28
- package/Server/Services/BillingService.ts +287 -20
- package/Server/Services/CloudResourceInstanceService.ts +70 -0
- package/Server/Services/ExceptionAggregationService.ts +1 -0
- package/Server/Services/GoogleSecOpsConnectionRunService.ts +10 -0
- package/Server/Services/GoogleSecOpsConnectionService.ts +12 -0
- package/Server/Services/Index.ts +16 -0
- package/Server/Services/LogAggregationService.ts +1 -0
- package/Server/Services/MetricAggregationService.ts +1 -0
- package/Server/Services/MobilePasskeyLoginService.ts +216 -0
- package/Server/Services/MonitorService.ts +51 -1
- package/Server/Services/MonitorTemplateService.ts +91 -29
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +132 -1
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +176 -2
- package/Server/Services/OpenTelemetryIngestService.ts +17 -0
- package/Server/Services/PayAsYouGoBillingService.ts +446 -0
- package/Server/Services/ProjectService.ts +46 -2
- package/Server/Services/ServerlessFunctionInstanceService.ts +71 -0
- package/Server/Services/TeamMemberService.ts +96 -36
- package/Server/Services/TelemetryIngestionKeyService.ts +80 -10
- package/Server/Services/TelemetryUsageBillingService.ts +95 -5
- package/Server/Services/TraceAggregationService.ts +5 -4
- package/Server/Services/UserWebAuthnService.ts +592 -133
- package/Server/Services/VMwareResourceService.ts +648 -0
- package/Server/Services/VMwareVCenterFeedService.ts +99 -0
- package/Server/Services/VMwareVCenterLabelRuleEngineService.ts +240 -0
- package/Server/Services/VMwareVCenterLabelRuleService.ts +14 -0
- package/Server/Services/VMwareVCenterOwnerRuleEngineService.ts +252 -0
- package/Server/Services/VMwareVCenterOwnerRuleService.ts +14 -0
- package/Server/Services/VMwareVCenterOwnerTeamService.ts +139 -0
- package/Server/Services/VMwareVCenterOwnerUserService.ts +133 -0
- package/Server/Services/VMwareVCenterService.ts +629 -0
- package/Server/Services/WorkflowVariableService.ts +203 -0
- package/Server/Types/Billing/MeteredPlan/ActiveMonitoringMeteredPlan.ts +17 -0
- package/Server/Types/Billing/MeteredPlan/TelemetryMeteredPlan.ts +31 -1
- package/Server/Utils/CodeRepository/GitHub/GitHub.ts +7 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubAgentTaskTrigger.ts +341 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubCommandAuthorizer.ts +274 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubCommandParser.ts +375 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubConversation.ts +846 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubReplyComposer.ts +360 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubRunReply.ts +421 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubWebhookEvents.ts +140 -0
- package/Server/Utils/CodeRepository/GitHub/GitHubWebhookHandler.ts +906 -0
- package/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.ts +143 -0
- package/Server/Utils/DataSource/EgressGuard.ts +160 -15
- package/Server/Utils/Database/TruncateColumnValue.ts +1 -1
- package/Server/Utils/EmailRollup/EmailRollupFlushRunner.ts +2 -0
- package/Server/Utils/EmailRollup/EmailRollupRenderer.ts +33 -0
- package/Server/Utils/EmailRollup/EmailRollupWriter.ts +44 -0
- package/Server/Utils/LogRedaction.ts +2 -1
- package/Server/Utils/Monitor/MonitorAlert.ts +1 -1
- package/Server/Utils/Monitor/MonitorCriteriaEvaluator.ts +302 -3
- package/Server/Utils/Monitor/MonitorMaintenanceSuppression.ts +26 -4
- package/Server/Utils/Monitor/MonitorResourceContext.ts +5 -3
- package/Server/Utils/Monitor/MonitorStepResourceIdentity.ts +14 -0
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +1 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +26 -0
- package/Server/Utils/Monitor/SeriesResourceLinker.ts +28 -5
- package/Server/Utils/ResourceFeed/ResourceFeedUtil.ts +3 -3
- package/Server/Utils/SecurityEvent/ConnectorErrorMessage.ts +14 -9
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.ts +116 -84
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.ts +594 -195
- package/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.ts +466 -0
- package/Server/Utils/Telemetry/EntityRegistry.ts +5 -0
- package/Server/Utils/Telemetry/ResourceHeartbeat.ts +2 -1
- package/Server/Utils/Telemetry/TelemetryEntity.ts +181 -1
- package/Server/Utils/Telemetry/VMwareSnapshotScan.ts +1352 -0
- package/Tests/App/Accounts/LoginPasskey.test.tsx +529 -0
- package/Tests/App/Accounts/MobilePasskey.test.tsx +620 -0
- package/Tests/App/Accounts/PasswordRequirements.test.tsx +254 -0
- package/Tests/App/Accounts/RegisterPassword.test.tsx +553 -0
- package/Tests/App/Dashboard/AskAiAvailability.test.ts +224 -0
- package/Tests/App/Dashboard/AskAiDisabled.test.tsx +432 -0
- package/Tests/App/Dashboard/BackupCodes.test.tsx +414 -0
- package/Tests/App/Dashboard/BillingPaidUsageFlow.test.tsx +530 -0
- package/Tests/App/Dashboard/BillingPaymentMethodForm.test.tsx +195 -0
- package/Tests/App/Dashboard/BreadcrumbCoverage.test.tsx +199 -0
- package/Tests/App/Dashboard/CloudDocumentationCard.test.tsx +198 -0
- package/Tests/App/Dashboard/CloudDocumentationMarkdown.test.ts +215 -0
- package/Tests/App/Dashboard/CloudFleetSummary.test.ts +183 -0
- package/Tests/App/Dashboard/CloudFleetSummaryComponent.test.tsx +248 -0
- package/Tests/App/Dashboard/CloudResourceTelemetryScope.test.ts +215 -0
- package/Tests/App/Dashboard/CriteriaFilterDefaults.test.ts +3 -0
- package/Tests/App/Dashboard/DashboardHeaderRequests.test.tsx +441 -0
- package/Tests/App/Dashboard/DashboardLazyPages.test.tsx +458 -0
- package/Tests/App/Dashboard/DashboardToolbarPopupLayering.test.tsx +566 -0
- package/Tests/App/Dashboard/DiscoveryScanLivePage.test.tsx +376 -0
- package/Tests/App/Dashboard/DiscoveryScanLiveUpdates.test.tsx +642 -0
- package/Tests/App/Dashboard/DiscoveryScanProgress.test.tsx +267 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +69 -231
- package/Tests/App/Dashboard/GoogleSecOpsConnectionsErrors.test.tsx +244 -0
- package/Tests/App/Dashboard/GoogleSecOpsDiagnostics.test.tsx +724 -0
- package/Tests/App/Dashboard/MonitorTemplateSyncFields.test.tsx +539 -0
- package/Tests/App/Dashboard/OnCallLayerCardOverrides.test.tsx +24 -7
- package/Tests/App/Dashboard/OnCallOverridePresentation.test.ts +496 -0
- package/Tests/App/Dashboard/OnCallScheduleOverrideClarity.test.tsx +677 -0
- package/Tests/App/Dashboard/OnCallSchedulePreviewOverrides.test.tsx +31 -3
- package/Tests/App/Dashboard/PaidUsageConsent.test.tsx +180 -0
- package/Tests/App/Dashboard/PasskeySettings.test.tsx +1220 -0
- package/Tests/App/Dashboard/PayAsYouGoConsentGate.test.tsx +176 -275
- package/Tests/App/Dashboard/PayAsYouGoNotices.test.tsx +380 -233
- package/Tests/App/Dashboard/ProductMenuBreadcrumbs.test.tsx +3 -23
- package/Tests/App/Dashboard/ResourceFeed.test.tsx +1 -0
- package/Tests/App/Dashboard/ResourceFeedPageWiring.test.ts +8 -1
- package/Tests/App/Dashboard/TwoFactorStatus.test.tsx +260 -0
- package/Tests/App/Dashboard/VMwareDashboardWidgets.test.ts +573 -0
- package/Tests/App/Dashboard/WidgetCatalog.test.ts +2 -0
- package/Tests/App/Dashboard/WorkflowVariablesTable.test.tsx +768 -0
- package/Tests/App/StatusPage/StatusPageOverviewLiveAndSearch.test.tsx +532 -40
- package/Tests/App/StatusPage/StatusPageResourceSearchBox.test.tsx +19 -2
- package/Tests/Fixtures/MobilePasskeyUser.json +8 -0
- package/Tests/Models/DatabaseModels/ResourceFeedModels.test.ts +25 -6
- package/Tests/Models/DatabaseModels/VMwareModels.test.ts +1134 -0
- package/Tests/Models/RunnerVersionLabel.test.ts +4 -2
- package/Tests/Server/API/AIChatProvidersAIEnabled.test.ts +259 -0
- package/Tests/Server/API/AIChatRouteAuthorization.test.ts +31 -2
- package/Tests/Server/API/BillingPayAsYouGoStatus.test.ts +116 -0
- package/Tests/Server/API/DashboardPublicResourceListAPI.test.ts +29 -1
- package/Tests/Server/API/EnterpriseLicenseReportUserCount.test.ts +13 -2
- package/Tests/Server/API/GitHubWebhookSignature.test.ts +368 -0
- package/Tests/Server/API/GoogleSecOpsConnectionAPI.test.ts +248 -0
- package/Tests/Server/API/UserWebAuthnAuthenticationOptionsRoute.test.ts +330 -0
- package/Tests/Server/API/UserWebAuthnPasskeyAPI.test.ts +172 -0
- package/Tests/Server/API/VMwareResourceAPI.test.ts +546 -0
- package/Tests/Server/Infrastructure/Postgres/UserNotificationEmailRollupMetadataMigration.test.ts +85 -0
- package/Tests/Server/Infrastructure/Postgres/UserNotificationEmailRollupTableMigration.test.ts +34 -3
- package/Tests/Server/Middleware/PasskeyRateLimit.test.ts +141 -0
- package/Tests/Server/Services/AutoImportRuleRearmRecentScans.test.ts +343 -0
- package/Tests/Server/Services/AutoImportRuleWriteRearmsScans.test.ts +381 -0
- package/Tests/Server/Services/BillingPaymentMethodServiceSync.test.ts +175 -0
- package/Tests/Server/Services/BillingService.test.ts +26 -11
- package/Tests/Server/Services/BillingServiceMeteredPaymentAuthorization.test.ts +245 -0
- package/Tests/Server/Services/BillingServicePaymentMethodReads.test.ts +362 -0
- package/Tests/Server/Services/CloudResourceInstanceStalePrune.test.ts +188 -0
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +16 -2
- package/Tests/Server/Services/GoogleSecOpsDiagnosticsModel.test.ts +153 -0
- package/Tests/Server/Services/HookFreeWriteLengthClamp.test.ts +13 -0
- package/Tests/Server/Services/InventoryItemPromotionGate.test.ts +5 -0
- package/Tests/Server/Services/InventoryUpsertSchemaParity.test.ts +36 -0
- package/Tests/Server/Services/InventoryUpsertTruncationGuard.test.ts +151 -0
- package/Tests/Server/Services/MobilePasskeyLoginIntegration.test.ts +231 -0
- package/Tests/Server/Services/MobilePasskeyLoginService.test.ts +315 -0
- package/Tests/Server/Services/MonitorPayAsYouGoBilling.test.ts +302 -0
- package/Tests/Server/Services/MonitorTemplateServiceFieldSync.test.ts +994 -0
- package/Tests/Server/Services/NetworkDeviceAutoImportRuleService.test.ts +22 -0
- package/Tests/Server/Services/OpenTelemetryResourceRetentionMemo.test.ts +7 -1
- package/Tests/Server/Services/PayAsYouGoBillingService.test.ts +857 -0
- package/Tests/Server/Services/PayAsYouGoStripeRateLimitBudget.test.ts +379 -0
- package/Tests/Server/Services/ProjectServiceExtendTrial.test.ts +99 -1
- package/Tests/Server/Services/ProjectServiceSubscriptionSeats.test.ts +134 -0
- package/Tests/Server/Services/ResourceFeedServices.test.ts +3 -2
- package/Tests/Server/Services/ResourceUpdateLastSeenLivenessFallback.test.ts +32 -6
- package/Tests/Server/Services/SecurityEventLastErrorColumnWidth.test.ts +363 -175
- package/Tests/Server/Services/ServerlessFunctionInstanceStalePrune.test.ts +200 -0
- package/Tests/Server/Services/TeamMemberAutoAcceptInvitation.test.ts +3 -0
- package/Tests/Server/Services/TeamMemberBillingSeatSync.test.ts +762 -0
- package/Tests/Server/Services/TeamMemberInviteRegistrationToken.test.ts +3 -0
- package/Tests/Server/Services/TelemetryIngestionKeyPolicyResolution.test.ts +72 -0
- package/Tests/Server/Services/TelemetryIngestionKeyValidation.test.ts +17 -4
- package/Tests/Server/Services/TelemetryPayAsYouGoBilling.test.ts +355 -0
- package/Tests/Server/Services/TraceAnalyticsResourceDisplayNames.test.ts +41 -4
- package/Tests/Server/Services/UserNotificationEmailRollupModels.test.ts +37 -0
- package/Tests/Server/Services/UserWebAuthnPasskeyIntegration.test.ts +401 -0
- package/Tests/Server/Services/UserWebAuthnPasskeyService.test.ts +769 -0
- package/Tests/Server/Services/UserWebAuthnUserVerification.test.ts +649 -0
- package/Tests/Server/Services/VMwareResourceService.test.ts +945 -0
- package/Tests/Server/Services/VMwareVCenterService.test.ts +722 -0
- package/Tests/Server/Services/WorkflowVariableRenameUniqueness.test.ts +842 -0
- package/Tests/Server/TestingUtils/PasskeyHttpIntegration.ts +102 -0
- package/Tests/Server/TestingUtils/SecurityKey.ts +464 -0
- package/Tests/Server/TestingUtils/WebAuthnServiceMocks.ts +60 -0
- package/Tests/Server/Types/Billing/PayAsYouGoMeteredAuthorization.test.ts +573 -0
- package/Tests/Server/Types/Database/Permissions/ProjectCustomerSupportAccessColumn.test.ts +261 -0
- package/Tests/Server/Types/Database/Permissions/WorkflowVariableColumnPermission.test.ts +95 -0
- package/Tests/Server/Utils/CodeRepository/GitHubAgentTaskTrigger.test.ts +2101 -0
- package/Tests/Server/Utils/CodeRepository/GitHubCommandAuthorizer.test.ts +883 -0
- package/Tests/Server/Utils/CodeRepository/GitHubCommandParser.test.ts +1474 -0
- package/Tests/Server/Utils/CodeRepository/GitHubConversation.test.ts +1526 -0
- package/Tests/Server/Utils/CodeRepository/GitHubReplyComposer.test.ts +1389 -0
- package/Tests/Server/Utils/CodeRepository/GitHubRunReply.test.ts +1707 -0
- package/Tests/Server/Utils/CodeRepository/GitHubWebhookHandler.test.ts +2202 -0
- package/Tests/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.test.ts +345 -0
- package/Tests/Server/Utils/DataSource/EgressGuard.test.ts +896 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupMetadataIntegration.test.ts +246 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupRenderer.test.ts +299 -1
- package/Tests/Server/Utils/EmailRollup/EmailRollupTestHarness.ts +6 -0
- package/Tests/Server/Utils/EmailRollup/EmailRollupWriter.test.ts +185 -0
- package/Tests/Server/Utils/LogRedaction.test.ts +33 -0
- package/Tests/Server/Utils/Monitor/CapturedMetricAttributeUtil.test.ts +2 -1
- package/Tests/Server/Utils/Monitor/Criteria/TelemetryStepMetricAlias.test.ts +10 -0
- package/Tests/Server/Utils/Monitor/MonitorAlertResourceLinking.test.ts +66 -1
- package/Tests/Server/Utils/Monitor/MonitorCriteriaEvaluator.test.ts +362 -0
- package/Tests/Server/Utils/Monitor/MonitorDependencySuppressionCreatorSkip.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/MonitorIncidentResourceLinking.test.ts +60 -1
- package/Tests/Server/Utils/Monitor/MonitorMaintenanceSuppression.test.ts +60 -0
- package/Tests/Server/Utils/Monitor/MonitorRootCauseTargetResolution.test.ts +423 -0
- package/Tests/Server/Utils/Monitor/MonitorStepResourceIdentity.test.ts +6 -0
- package/Tests/Server/Utils/Monitor/MonitorSummaryPersistence.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/PerSeriesSecondEntityAlerting.test.ts +1 -0
- package/Tests/Server/Utils/Monitor/SeriesResourceLinker.test.ts +46 -2
- package/Tests/Server/Utils/SecurityEvent/ConnectorErrorMessage.test.ts +81 -45
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.test.ts +711 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsClickhouseIntegration.test.ts +223 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsClient.test.ts +69 -1
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsDiagnostics.test.ts +838 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsErrorHandling.test.ts +241 -28
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsHttpIntegration.test.ts +651 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPoller.test.ts +11 -0
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerFailureTaxonomy.test.ts +13 -12
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsPollerHardening.test.ts +112 -127
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsRequestContract.test.ts +12 -18
- package/Tests/Server/Utils/SecurityEvent/GoogleSecOpsResponseParsing.test.ts +43 -0
- package/Tests/Server/Utils/Telemetry/TelemetryEntity.test.ts +580 -0
- package/Tests/Server/Utils/Telemetry/VMwareSnapshotScan.test.ts +1748 -0
- package/Tests/Types/Cloud/CloudPlatform.test.ts +574 -0
- package/Tests/Types/Monitor/MetricAndProfileDefaultCriteria.test.ts +2 -0
- package/Tests/Types/Monitor/MonitorCriteriaMetricVariables.test.ts +9 -0
- package/Tests/Types/Monitor/MonitorStepDefaultTelemetryConfig.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorStepInfraMonitorUtils.test.ts +53 -8
- package/Tests/Types/Monitor/MonitorStepInfrastructureMonitors.test.ts +97 -0
- package/Tests/Types/Monitor/MonitorStepMetricViewConfigUtil.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorStepTemplateSyncFields.test.ts +107 -0
- package/Tests/Types/Monitor/MonitorTemplateSyncField.test.ts +172 -0
- package/Tests/Types/Monitor/MonitorType.test.ts +1 -0
- package/Tests/Types/Monitor/MonitorTypeKeywords.test.ts +2 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationAlertDebuggability.test.ts +1 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCatalog.test.ts +9 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationCoverage.test.ts +1 -1
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +1 -1
- package/Tests/Types/Monitor/SeriesContext/SeriesDebugHints.test.ts +131 -0
- package/Tests/Types/Monitor/SeriesContext/SeriesLabelDisplay.test.ts +10 -0
- package/Tests/Types/Monitor/VMwareAlertTemplates.test.ts +1608 -0
- package/Tests/Types/Monitor/VMwareMetricCatalog.test.ts +488 -0
- package/Tests/Types/OnCallDutyPolicy/OverrideProvenance.test.ts +295 -0
- package/Tests/Types/Runner/RunnerLiveStatus.test.ts +2 -2
- package/Tests/Types/SignupPassword.test.ts +205 -0
- package/Tests/Types/StatusPage/StatusPageLanguage.test.ts +44 -0
- package/Tests/Types/SupportedLanguages.test.ts +119 -0
- package/Tests/Types/Telemetry/EntityTypeGroups.test.ts +19 -0
- package/Tests/UI/ColorPickerBuild.test.ts +86 -0
- package/Tests/UI/Components/Breadcrumbs.test.tsx +32 -0
- package/Tests/UI/Components/Forms/ModelFormPreservesUserInput.test.tsx +937 -0
- package/Tests/UI/Components/Forms/ModelFormWriteOnlyColumnSelect.test.tsx +230 -0
- package/Tests/UI/Components/Forms/ValidationFormSteps.test.ts +3 -4
- package/Tests/UI/Components/LabelRuleImportExport.test.tsx +907 -0
- package/Tests/UI/Components/ModelTable/ModelTableCreateAfterEdit.test.tsx +514 -0
- package/Tests/UI/Components/MonitorGraphs/Uptime.test.tsx +301 -0
- package/Tests/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.test.ts +2 -1
- package/Tests/UI/Components/TooltipLazyContent.test.tsx +373 -0
- package/Tests/UI/MicrosoftTeams/MicrosoftTeamsMessagingEndpointGuidance.test.tsx +43 -12
- package/Tests/UI/ReactDomBuild.test.ts +104 -0
- package/Tests/UI/ReactRouterSingletonBuild.test.ts +11 -1
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +148 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +29 -0
- package/Tests/UI/Utils/DashboardStackingLayers.test.ts +197 -0
- package/Tests/UI/Utils/LabelRuleImportExport.test.ts +546 -0
- package/Tests/UI/Utils/ModelAPITenantHeader.test.ts +109 -2
- package/Tests/UI/Utils/UseDashboardGridDnd.test.tsx +7 -2
- package/Tests/UI/Utils/UserEmailRegistrationStatus.test.tsx +295 -0
- package/Tests/UI/Utils/WebAuthn.test.ts +265 -0
- package/Tests/Utils/Dashboard/Components/DashboardComponentDefaults.test.ts +5 -0
- package/Tests/Utils/Dashboard/Components/DashboardVMwareListComponents.test.ts +548 -0
- package/Tests/Utils/Dashboard/DashboardResourceListSharedArgs.test.ts +17 -3
- package/Tests/Utils/LabelRuleImportExport.test.ts +583 -0
- package/Tests/Utils/Monitor/MonitorSummarySnapshotUtil.test.ts +1 -0
- package/Tests/Utils/Monitor/MonitorTemplateSyncUtil.test.ts +590 -0
- package/Tests/Utils/RequestFailedDetails.test.ts +325 -0
- package/Tests/Utils/Telemetry/CloudInstanceIdentity.test.ts +255 -0
- package/Tests/Utils/Telemetry/EntityRelationship.test.ts +167 -0
- package/Tests/Utils/WebAuthnTestUtil.ts +79 -0
- package/Tests/__mocks__/simplewebauthn.js +33 -4
- package/Types/AI/CodeFixTaskContext.ts +122 -0
- package/Types/AI/CodeFixTaskType.ts +62 -0
- package/Types/Accounts/AccountsLanguage.ts +1 -0
- package/Types/AdminDashboard/AdminDashboardLanguage.ts +1 -0
- package/Types/Calendar/CalendarEvent.ts +16 -0
- package/Types/Cloud/CloudPlatform.ts +372 -0
- package/Types/CodeRepository/GitHubCommand.ts +69 -0
- package/Types/Dashboard/DashboardComponentType.ts +2 -0
- package/Types/Dashboard/DashboardComponents/ComponentArgument.ts +1 -0
- package/Types/Dashboard/DashboardComponents/DashboardVMwareHostListComponent.ts +23 -0
- package/Types/Dashboard/DashboardComponents/DashboardVMwareVirtualMachineListComponent.ts +30 -0
- package/Types/Dashboard/DashboardLanguage.ts +1 -0
- package/Types/Dashboard/DashboardTemplates.ts +314 -0
- package/Types/Docs/DocsLanguage.ts +1 -0
- package/Types/Exception/EgressGuardException.ts +65 -0
- package/Types/Icon/IconProp.ts +1 -0
- package/Types/Monitor/MetricMonitor/MetricMonitorResponse.ts +36 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +1 -0
- package/Types/Monitor/MonitorStep.ts +78 -17
- package/Types/Monitor/MonitorStepMetricViewConfigUtil.ts +1 -0
- package/Types/Monitor/MonitorStepVMwareMonitor.ts +127 -0
- package/Types/Monitor/MonitorTemplateSyncField.ts +291 -0
- package/Types/Monitor/MonitorType.ts +24 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationCatalog.ts +33 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationTypes.ts +2 -0
- package/Types/Monitor/Recommendation/MonitorRecommendationUtil.ts +3 -0
- package/Types/Monitor/SeriesContext/SeriesDebugHints.ts +158 -0
- package/Types/Monitor/SeriesContext/SeriesLabelDisplay.ts +61 -0
- package/Types/Monitor/VMwareAlertTemplates.ts +1070 -0
- package/Types/Monitor/VMwareMetricCatalog.ts +914 -0
- package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +29 -0
- package/Types/OnCallDutyPolicy/UserOverrideUtil.ts +16 -0
- package/Types/Password.ts +84 -5
- package/Types/Permission.ts +265 -0
- package/Types/Probe/RequestFailedDetails.ts +7 -0
- package/Types/Runner/RunnerLiveStatus.ts +1 -1
- package/Types/SecurityEvent/GoogleSecOpsDiagnostics.ts +56 -0
- package/Types/StatusPage/StatusPageLanguage.ts +1 -0
- package/Types/Telemetry/EntityType.ts +21 -0
- package/Types/Telemetry/ServiceType.ts +1 -0
- package/Typings/Index.d.ts +63 -0
- package/UI/Components/Breadcrumbs/Breadcrumbs.tsx +2 -2
- package/UI/Components/Calendar/Calendar.css +78 -0
- package/UI/Components/Calendar/Calendar.tsx +28 -3
- package/UI/Components/Forms/BasicForm.tsx +44 -2
- package/UI/Components/Forms/Fields/ColorPicker.tsx +2 -1
- package/UI/Components/Forms/Fields/FormField.tsx +16 -3
- package/UI/Components/Forms/ModelForm.tsx +159 -5
- package/UI/Components/Forms/Types/Field.ts +8 -1
- package/UI/Components/Graphs/DayUptimeGraph.tsx +8 -10
- package/UI/Components/Icon/Icon.tsx +16 -0
- package/UI/Components/Input/Input.tsx +42 -7
- package/UI/Components/LabelRule/ImportLabelRulesModal.tsx +441 -0
- package/UI/Components/LabelRule/LabelRuleTable.tsx +142 -0
- package/UI/Components/ModelTable/BaseModelTable.tsx +22 -5
- package/UI/Components/ModelTable/ModelTable.tsx +14 -6
- package/UI/Components/MonitorGraphs/Uptime.tsx +17 -27
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.ts +3 -1
- package/UI/Components/Tooltip/Tooltip.tsx +52 -6
- package/UI/Utils/DashboardStackingLayers.ts +85 -0
- package/UI/Utils/LabelRuleImportExport.ts +310 -0
- package/UI/Utils/ModelAPI/ModelAPI.ts +4 -3
- package/UI/Utils/TelemetryService.ts +4 -3
- package/UI/Utils/UseDashboardGridDnd.ts +4 -1
- package/UI/Utils/UserEmailRegistrationStatus.ts +33 -5
- package/UI/Utils/WebAuthn.ts +220 -0
- package/UI/esbuild-config.js +4 -0
- package/Utils/API.ts +34 -0
- package/Utils/Dashboard/Components/DashboardVMwareHostListComponent.ts +38 -0
- package/Utils/Dashboard/Components/DashboardVMwareResourceListShared.ts +70 -0
- package/Utils/Dashboard/Components/DashboardVMwareVirtualMachineListComponent.ts +76 -0
- package/Utils/Dashboard/Components/Index.ts +16 -0
- package/Utils/LabelRuleImportExport.ts +496 -0
- package/Utils/Monitor/MonitorTemplateSyncUtil.ts +164 -0
- package/Utils/NetworkDiscovery/DiscoveryScanStatus.ts +8 -0
- package/Utils/Telemetry/CloudInstanceIdentity.ts +94 -0
- package/Utils/Telemetry/EntityKey.ts +19 -0
- package/Utils/Telemetry/EntityRelationship.ts +19 -0
- package/build/dist/Models/DatabaseModels/Alert.js +54 -0
- package/build/dist/Models/DatabaseModels/Alert.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CloudResource.js +44 -7
- package/build/dist/Models/DatabaseModels/CloudResource.js.map +1 -1
- package/build/dist/Models/DatabaseModels/CodeRepository.js +87 -0
- package/build/dist/Models/DatabaseModels/CodeRepository.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +60 -7
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnectionRun.js +287 -0
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnectionRun.js.map +1 -0
- package/build/dist/Models/DatabaseModels/Incident.js +54 -0
- package/build/dist/Models/DatabaseModels/Incident.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +16 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js +54 -0
- package/build/dist/Models/DatabaseModels/ScheduledMaintenance.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +57 -4
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js +47 -2
- package/build/dist/Models/DatabaseModels/UserNotificationEmailRollupItem.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserWebAuthn.js +18 -0
- package/build/dist/Models/DatabaseModels/UserWebAuthn.js.map +1 -1
- package/build/dist/Models/DatabaseModels/VMwareResource.js +1201 -0
- package/build/dist/Models/DatabaseModels/VMwareResource.js.map +1 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenter.js +1149 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenter.js.map +1 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterFeed.js +648 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterLabelRule.js +522 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterLabelRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerRule.js +603 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerRule.js.map +1 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerTeam.js +503 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerTeam.js.map +1 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerUser.js +502 -0
- package/build/dist/Models/DatabaseModels/VMwareVCenterOwnerUser.js.map +1 -0
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js +22 -1
- package/build/dist/Models/DatabaseModels/WorkflowVariable.js.map +1 -1
- package/build/dist/Server/API/AIAgentDataAPI.js +63 -3
- package/build/dist/Server/API/AIAgentDataAPI.js.map +1 -1
- package/build/dist/Server/API/AIAgentGitHubAPI.js +363 -0
- package/build/dist/Server/API/AIAgentGitHubAPI.js.map +1 -0
- package/build/dist/Server/API/AIChatAPI.js +19 -1
- package/build/dist/Server/API/AIChatAPI.js.map +1 -1
- package/build/dist/Server/API/BillingAPI.js +22 -0
- package/build/dist/Server/API/BillingAPI.js.map +1 -1
- package/build/dist/Server/API/DashboardAPI.js +10 -0
- package/build/dist/Server/API/DashboardAPI.js.map +1 -1
- package/build/dist/Server/API/GitHubAPI.js +33 -5
- package/build/dist/Server/API/GitHubAPI.js.map +1 -1
- package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js +56 -0
- package/build/dist/Server/API/GoogleSecOpsConnectionAPI.js.map +1 -0
- package/build/dist/Server/API/UserWebAuthnAPI.js +17 -1
- package/build/dist/Server/API/UserWebAuthnAPI.js.map +1 -1
- package/build/dist/Server/API/VMwareResourceAPI.js +106 -0
- package/build/dist/Server/API/VMwareResourceAPI.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791800000000-SplitWebAuthnChallengeByPurpose.js +41 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791800000000-SplitWebAuthnChallengeByPurpose.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791900000000-AddSeverityAndStateToNotificationEmailRollup.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1791900000000-AddSeverityAndStateToNotificationEmailRollup.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792000000000-AddVMwareTables.js +241 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792000000000-AddVMwareTables.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792100000000-AddGitHubCommandSettingsToCodeRepository.js +36 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792100000000-AddGitHubCommandSettingsToCodeRepository.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792200000000-AddUserWebAuthnPurpose.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792200000000-AddUserWebAuthnPurpose.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792300000000-AddGoogleSecOpsDiagnostics.js +34 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1792300000000-AddGoogleSecOpsDiagnostics.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +12 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/IdentityRateLimit.js +80 -0
- package/build/dist/Server/Middleware/IdentityRateLimit.js.map +1 -1
- package/build/dist/Server/Services/AIRunService.js +14 -1
- package/build/dist/Server/Services/AIRunService.js.map +1 -1
- package/build/dist/Server/Services/BillingPaymentMethodService.js +71 -21
- package/build/dist/Server/Services/BillingPaymentMethodService.js.map +1 -1
- package/build/dist/Server/Services/BillingService.js +210 -22
- package/build/dist/Server/Services/BillingService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceInstanceService.js +66 -0
- package/build/dist/Server/Services/CloudResourceInstanceService.js.map +1 -1
- package/build/dist/Server/Services/ExceptionAggregationService.js +1 -0
- package/build/dist/Server/Services/ExceptionAggregationService.js.map +1 -1
- package/build/dist/Server/Services/GoogleSecOpsConnectionRunService.js +9 -0
- package/build/dist/Server/Services/GoogleSecOpsConnectionRunService.js.map +1 -0
- package/build/dist/Server/Services/GoogleSecOpsConnectionService.js +7 -0
- package/build/dist/Server/Services/GoogleSecOpsConnectionService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +16 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/LogAggregationService.js +1 -0
- package/build/dist/Server/Services/LogAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MetricAggregationService.js +1 -0
- package/build/dist/Server/Services/MetricAggregationService.js.map +1 -1
- package/build/dist/Server/Services/MobilePasskeyLoginService.js +137 -0
- package/build/dist/Server/Services/MobilePasskeyLoginService.js.map +1 -0
- package/build/dist/Server/Services/MonitorService.js +34 -1
- package/build/dist/Server/Services/MonitorService.js.map +1 -1
- package/build/dist/Server/Services/MonitorTemplateService.js +64 -26
- package/build/dist/Server/Services/MonitorTemplateService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +124 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +142 -2
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/OpenTelemetryIngestService.js +28 -13
- package/build/dist/Server/Services/OpenTelemetryIngestService.js.map +1 -1
- package/build/dist/Server/Services/PayAsYouGoBillingService.js +297 -0
- package/build/dist/Server/Services/PayAsYouGoBillingService.js.map +1 -0
- package/build/dist/Server/Services/ProjectService.js +38 -2
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionInstanceService.js +66 -0
- package/build/dist/Server/Services/ServerlessFunctionInstanceService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +85 -28
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js +61 -10
- package/build/dist/Server/Services/TelemetryIngestionKeyService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryUsageBillingService.js +62 -5
- package/build/dist/Server/Services/TelemetryUsageBillingService.js.map +1 -1
- package/build/dist/Server/Services/TraceAggregationService.js +5 -4
- package/build/dist/Server/Services/TraceAggregationService.js.map +1 -1
- package/build/dist/Server/Services/UserWebAuthnService.js +345 -113
- package/build/dist/Server/Services/UserWebAuthnService.js.map +1 -1
- package/build/dist/Server/Services/VMwareResourceService.js +395 -0
- package/build/dist/Server/Services/VMwareResourceService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterFeedService.js +89 -0
- package/build/dist/Server/Services/VMwareVCenterFeedService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterLabelRuleEngineService.js +197 -0
- package/build/dist/Server/Services/VMwareVCenterLabelRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterLabelRuleService.js +13 -0
- package/build/dist/Server/Services/VMwareVCenterLabelRuleService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerRuleEngineService.js +214 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerRuleEngineService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerRuleService.js +13 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerRuleService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerTeamService.js +129 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerTeamService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerUserService.js +122 -0
- package/build/dist/Server/Services/VMwareVCenterOwnerUserService.js.map +1 -0
- package/build/dist/Server/Services/VMwareVCenterService.js +533 -0
- package/build/dist/Server/Services/VMwareVCenterService.js.map +1 -0
- package/build/dist/Server/Services/WorkflowVariableService.js +169 -0
- package/build/dist/Server/Services/WorkflowVariableService.js.map +1 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/ActiveMonitoringMeteredPlan.js +12 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/ActiveMonitoringMeteredPlan.js.map +1 -1
- package/build/dist/Server/Types/Billing/MeteredPlan/TelemetryMeteredPlan.js +25 -2
- package/build/dist/Server/Types/Billing/MeteredPlan/TelemetryMeteredPlan.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHub.js.map +1 -1
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubAgentTaskTrigger.js +275 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubAgentTaskTrigger.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubCommandAuthorizer.js +226 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubCommandAuthorizer.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubCommandParser.js +297 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubCommandParser.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubConversation.js +582 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubConversation.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubReplyComposer.js +275 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubReplyComposer.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubRunReply.js +365 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubRunReply.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubWebhookEvents.js +103 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubWebhookEvents.js.map +1 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubWebhookHandler.js +661 -0
- package/build/dist/Server/Utils/CodeRepository/GitHub/GitHubWebhookHandler.js.map +1 -0
- package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js +113 -0
- package/build/dist/Server/Utils/Dashboard/PublicDashboardResourceListPolicy.js.map +1 -1
- package/build/dist/Server/Utils/DataSource/EgressGuard.js +99 -15
- package/build/dist/Server/Utils/DataSource/EgressGuard.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js +2 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupFlushRunner.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js +18 -0
- package/build/dist/Server/Utils/EmailRollup/EmailRollupRenderer.js.map +1 -1
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js +31 -2
- package/build/dist/Server/Utils/EmailRollup/EmailRollupWriter.js.map +1 -1
- package/build/dist/Server/Utils/LogRedaction.js +2 -1
- package/build/dist/Server/Utils/LogRedaction.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorAlert.js +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js +219 -4
- package/build/dist/Server/Utils/Monitor/MonitorCriteriaEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js +12 -4
- package/build/dist/Server/Utils/Monitor/MonitorMaintenanceSuppression.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js +5 -3
- package/build/dist/Server/Utils/Monitor/MonitorResourceContext.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js +22 -9
- package/build/dist/Server/Utils/Monitor/MonitorStepResourceIdentity.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +1 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +21 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js +21 -6
- package/build/dist/Server/Utils/Monitor/SeriesResourceLinker.js.map +1 -1
- package/build/dist/Server/Utils/ResourceFeed/ResourceFeedUtil.js +3 -3
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js +9 -9
- package/build/dist/Server/Utils/SecurityEvent/ConnectorErrorMessage.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js +92 -71
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsClient.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js +428 -143
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsPoller.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js +376 -0
- package/build/dist/Server/Utils/SecurityEvent/GoogleSecOps/GoogleSecOpsRunExecutor.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js +5 -0
- package/build/dist/Server/Utils/Telemetry/EntityRegistry.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ResourceHeartbeat.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js +136 -1
- package/build/dist/Server/Utils/Telemetry/TelemetryEntity.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/VMwareSnapshotScan.js +933 -0
- package/build/dist/Server/Utils/Telemetry/VMwareSnapshotScan.js.map +1 -0
- package/build/dist/Types/AI/CodeFixTaskContext.js +40 -0
- package/build/dist/Types/AI/CodeFixTaskContext.js.map +1 -1
- package/build/dist/Types/AI/CodeFixTaskType.js +57 -0
- package/build/dist/Types/AI/CodeFixTaskType.js.map +1 -1
- package/build/dist/Types/Accounts/AccountsLanguage.js +1 -0
- package/build/dist/Types/Accounts/AccountsLanguage.js.map +1 -1
- package/build/dist/Types/AdminDashboard/AdminDashboardLanguage.js +1 -0
- package/build/dist/Types/AdminDashboard/AdminDashboardLanguage.js.map +1 -1
- package/build/dist/Types/Cloud/CloudPlatform.js +277 -0
- package/build/dist/Types/Cloud/CloudPlatform.js.map +1 -0
- package/build/dist/Types/CodeRepository/GitHubCommand.js +52 -0
- package/build/dist/Types/CodeRepository/GitHubCommand.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponentType.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/ComponentArgument.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardVMwareHostListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardVMwareHostListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardVMwareVirtualMachineListComponent.js +2 -0
- package/build/dist/Types/Dashboard/DashboardComponents/DashboardVMwareVirtualMachineListComponent.js.map +1 -0
- package/build/dist/Types/Dashboard/DashboardLanguage.js +1 -0
- package/build/dist/Types/Dashboard/DashboardLanguage.js.map +1 -1
- package/build/dist/Types/Dashboard/DashboardTemplates.js +286 -0
- package/build/dist/Types/Dashboard/DashboardTemplates.js.map +1 -1
- package/build/dist/Types/Docs/DocsLanguage.js +1 -0
- package/build/dist/Types/Docs/DocsLanguage.js.map +1 -1
- package/build/dist/Types/Exception/EgressGuardException.js +59 -0
- package/build/dist/Types/Exception/EgressGuardException.js.map +1 -0
- package/build/dist/Types/Icon/IconProp.js +1 -0
- package/build/dist/Types/Icon/IconProp.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +1 -0
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStep.js +61 -18
- package/build/dist/Types/Monitor/MonitorStep.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepMetricViewConfigUtil.js +1 -0
- package/build/dist/Types/Monitor/MonitorStepMetricViewConfigUtil.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorStepVMwareMonitor.js +71 -0
- package/build/dist/Types/Monitor/MonitorStepVMwareMonitor.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorTemplateSyncField.js +211 -0
- package/build/dist/Types/Monitor/MonitorTemplateSyncField.js.map +1 -0
- package/build/dist/Types/Monitor/MonitorType.js +23 -0
- package/build/dist/Types/Monitor/MonitorType.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js +28 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationCatalog.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js +1 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationTypes.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js +2 -0
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationUtil.js.map +1 -1
- package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js +120 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesDebugHints.js.map +1 -1
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js +60 -0
- package/build/dist/Types/Monitor/SeriesContext/SeriesLabelDisplay.js.map +1 -1
- package/build/dist/Types/Monitor/VMwareAlertTemplates.js +775 -0
- package/build/dist/Types/Monitor/VMwareAlertTemplates.js.map +1 -0
- package/build/dist/Types/Monitor/VMwareMetricCatalog.js +799 -0
- package/build/dist/Types/Monitor/VMwareMetricCatalog.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +25 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/UserOverrideUtil.js +5 -0
- package/build/dist/Types/OnCallDutyPolicy/UserOverrideUtil.js.map +1 -1
- package/build/dist/Types/Password.js +63 -5
- package/build/dist/Types/Password.js.map +1 -1
- package/build/dist/Types/Permission.js +234 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Probe/RequestFailedDetails.js +7 -0
- package/build/dist/Types/Probe/RequestFailedDetails.js.map +1 -1
- package/build/dist/Types/SecurityEvent/GoogleSecOpsDiagnostics.js +2 -0
- package/build/dist/Types/SecurityEvent/GoogleSecOpsDiagnostics.js.map +1 -0
- package/build/dist/Types/StatusPage/StatusPageLanguage.js +1 -0
- package/build/dist/Types/StatusPage/StatusPageLanguage.js.map +1 -1
- package/build/dist/Types/Telemetry/EntityType.js +21 -0
- package/build/dist/Types/Telemetry/EntityType.js.map +1 -1
- package/build/dist/Types/Telemetry/ServiceType.js +1 -0
- package/build/dist/Types/Telemetry/ServiceType.js.map +1 -1
- package/build/dist/UI/Components/Breadcrumbs/Breadcrumbs.js +2 -2
- package/build/dist/UI/Components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/build/dist/UI/Components/Calendar/Calendar.js +24 -4
- package/build/dist/UI/Components/Calendar/Calendar.js.map +1 -1
- package/build/dist/UI/Components/Forms/BasicForm.js +28 -3
- package/build/dist/UI/Components/Forms/BasicForm.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js +1 -1
- package/build/dist/UI/Components/Forms/Fields/ColorPicker.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js +10 -3
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Forms/ModelForm.js +89 -6
- package/build/dist/UI/Components/Forms/ModelForm.js.map +1 -1
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js +5 -6
- package/build/dist/UI/Components/Graphs/DayUptimeGraph.js.map +1 -1
- package/build/dist/UI/Components/Icon/Icon.js +14 -0
- package/build/dist/UI/Components/Icon/Icon.js.map +1 -1
- package/build/dist/UI/Components/Input/Input.js +37 -8
- package/build/dist/UI/Components/Input/Input.js.map +1 -1
- package/build/dist/UI/Components/LabelRule/ImportLabelRulesModal.js +228 -0
- package/build/dist/UI/Components/LabelRule/ImportLabelRulesModal.js.map +1 -0
- package/build/dist/UI/Components/LabelRule/LabelRuleTable.js +102 -0
- package/build/dist/UI/Components/LabelRule/LabelRuleTable.js.map +1 -0
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +15 -2
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/ModelTable.js +13 -5
- package/build/dist/UI/Components/ModelTable/ModelTable.js.map +1 -1
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js +14 -15
- package/build/dist/UI/Components/MonitorGraphs/Uptime.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js +2 -0
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesCatalog.js.map +1 -1
- package/build/dist/UI/Components/Tooltip/Tooltip.js +33 -4
- package/build/dist/UI/Components/Tooltip/Tooltip.js.map +1 -1
- package/build/dist/UI/Utils/DashboardStackingLayers.js +44 -0
- package/build/dist/UI/Utils/DashboardStackingLayers.js.map +1 -0
- package/build/dist/UI/Utils/LabelRuleImportExport.js +195 -0
- package/build/dist/UI/Utils/LabelRuleImportExport.js.map +1 -0
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js +4 -4
- package/build/dist/UI/Utils/ModelAPI/ModelAPI.js.map +1 -1
- package/build/dist/UI/Utils/TelemetryService.js +3 -2
- package/build/dist/UI/Utils/TelemetryService.js.map +1 -1
- package/build/dist/UI/Utils/UseDashboardGridDnd.js +2 -1
- package/build/dist/UI/Utils/UseDashboardGridDnd.js.map +1 -1
- package/build/dist/UI/Utils/UserEmailRegistrationStatus.js +21 -4
- package/build/dist/UI/Utils/UserEmailRegistrationStatus.js.map +1 -1
- package/build/dist/UI/Utils/WebAuthn.js +121 -0
- package/build/dist/UI/Utils/WebAuthn.js.map +1 -0
- package/build/dist/Utils/API.js +29 -0
- package/build/dist/Utils/API.js.map +1 -1
- package/build/dist/Utils/Dashboard/Components/DashboardVMwareHostListComponent.js +33 -0
- package/build/dist/Utils/Dashboard/Components/DashboardVMwareHostListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardVMwareResourceListShared.js +54 -0
- package/build/dist/Utils/Dashboard/Components/DashboardVMwareResourceListShared.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/DashboardVMwareVirtualMachineListComponent.js +60 -0
- package/build/dist/Utils/Dashboard/Components/DashboardVMwareVirtualMachineListComponent.js.map +1 -0
- package/build/dist/Utils/Dashboard/Components/Index.js +8 -0
- package/build/dist/Utils/Dashboard/Components/Index.js.map +1 -1
- package/build/dist/Utils/LabelRuleImportExport.js +356 -0
- package/build/dist/Utils/LabelRuleImportExport.js.map +1 -0
- package/build/dist/Utils/Monitor/MonitorTemplateSyncUtil.js +110 -0
- package/build/dist/Utils/Monitor/MonitorTemplateSyncUtil.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js +6 -0
- package/build/dist/Utils/NetworkDiscovery/DiscoveryScanStatus.js.map +1 -1
- package/build/dist/Utils/Telemetry/CloudInstanceIdentity.js +88 -0
- package/build/dist/Utils/Telemetry/CloudInstanceIdentity.js.map +1 -0
- package/build/dist/Utils/Telemetry/EntityKey.js +15 -0
- package/build/dist/Utils/Telemetry/EntityKey.js.map +1 -1
- package/build/dist/Utils/Telemetry/EntityRelationship.js +13 -0
- package/build/dist/Utils/Telemetry/EntityRelationship.js.map +1 -1
- package/package.json +1 -1
|
@@ -83,6 +83,8 @@ import MetricMonitorResponse, {
|
|
|
83
83
|
KubernetesResourceBreakdown,
|
|
84
84
|
ProxmoxAffectedResource,
|
|
85
85
|
ProxmoxResourceBreakdown,
|
|
86
|
+
VMwareAffectedResource,
|
|
87
|
+
VMwareResourceBreakdown,
|
|
86
88
|
CephAffectedResource,
|
|
87
89
|
CephResourceBreakdown,
|
|
88
90
|
DockerSwarmAffectedResource,
|
|
@@ -98,11 +100,13 @@ import MonitorStepDockerMonitor from "../../../Types/Monitor/MonitorStepDockerMo
|
|
|
98
100
|
import MonitorStepHostMonitor from "../../../Types/Monitor/MonitorStepHostMonitor";
|
|
99
101
|
import MonitorStepPodmanMonitor from "../../../Types/Monitor/MonitorStepPodmanMonitor";
|
|
100
102
|
import MonitorStepProxmoxMonitor from "../../../Types/Monitor/MonitorStepProxmoxMonitor";
|
|
103
|
+
import MonitorStepVMwareMonitor from "../../../Types/Monitor/MonitorStepVMwareMonitor";
|
|
101
104
|
import MonitorStepCephMonitor from "../../../Types/Monitor/MonitorStepCephMonitor";
|
|
102
105
|
import MonitorStepDockerSwarmMonitor from "../../../Types/Monitor/MonitorStepDockerSwarmMonitor";
|
|
103
106
|
import MetricValueFormatter from "../../../Utils/Monitor/MetricValueFormatter";
|
|
104
107
|
import { getKubernetesMetricByMetricName } from "../../../Types/Monitor/KubernetesMetricCatalog";
|
|
105
108
|
import { getProxmoxMetricByMetricName } from "../../../Types/Monitor/ProxmoxMetricCatalog";
|
|
109
|
+
import { getVMwareMetricByMetricName } from "../../../Types/Monitor/VMwareMetricCatalog";
|
|
106
110
|
import { getCephMetricByMetricName } from "../../../Types/Monitor/CephMetricCatalog";
|
|
107
111
|
import { getDockerSwarmMetricByMetricName } from "../../../Types/Monitor/DockerSwarmMetricCatalog";
|
|
108
112
|
|
|
@@ -482,7 +486,7 @@ ${contextBlock}
|
|
|
482
486
|
}
|
|
483
487
|
|
|
484
488
|
/**
|
|
485
|
-
* For metric-backed monitors (Metrics/Kubernetes/Docker/Proxmox/Ceph)
|
|
489
|
+
* For metric-backed monitors (Metrics/Kubernetes/Docker/Proxmox/VMware/Ceph)
|
|
486
490
|
* with per-series aggregated results, re-evaluate the matched criteria
|
|
487
491
|
* once per series and return one entry per series that breached.
|
|
488
492
|
* Returns an empty array when the monitor is not series-aware or
|
|
@@ -1103,6 +1107,7 @@ ${contextBlock}
|
|
|
1103
1107
|
input.monitor.monitorType === MonitorType.Podman ||
|
|
1104
1108
|
input.monitor.monitorType === MonitorType.DockerSwarm ||
|
|
1105
1109
|
input.monitor.monitorType === MonitorType.Proxmox ||
|
|
1110
|
+
input.monitor.monitorType === MonitorType.VMware ||
|
|
1106
1111
|
input.monitor.monitorType === MonitorType.Ceph ||
|
|
1107
1112
|
input.monitor.monitorType === MonitorType.IoTDevice
|
|
1108
1113
|
) {
|
|
@@ -1282,6 +1287,11 @@ ${contextBlock}
|
|
|
1282
1287
|
return MonitorCriteriaEvaluator.buildProxmoxRootCauseContext(input);
|
|
1283
1288
|
}
|
|
1284
1289
|
|
|
1290
|
+
// Handle VMware monitors with vCenter resource context
|
|
1291
|
+
if (input.monitor.monitorType === MonitorType.VMware) {
|
|
1292
|
+
return MonitorCriteriaEvaluator.buildVMwareRootCauseContext(input);
|
|
1293
|
+
}
|
|
1294
|
+
|
|
1285
1295
|
// Handle Docker Swarm monitors with resource context
|
|
1286
1296
|
if (input.monitor.monitorType === MonitorType.DockerSwarm) {
|
|
1287
1297
|
return MonitorCriteriaEvaluator.buildDockerSwarmRootCauseContext(input);
|
|
@@ -1361,6 +1371,15 @@ ${contextBlock}
|
|
|
1361
1371
|
);
|
|
1362
1372
|
}
|
|
1363
1373
|
|
|
1374
|
+
/*
|
|
1375
|
+
* How many times the probe actually tried matters when reading a failure:
|
|
1376
|
+
* "tried once" and "tried three times" describe very different levels of
|
|
1377
|
+
* confidence, and the count was already collected but never shown.
|
|
1378
|
+
*/
|
|
1379
|
+
if (probeResponse?.totalAttempts !== undefined) {
|
|
1380
|
+
responseDetails.push(`- Attempts: ${probeResponse.totalAttempts}`);
|
|
1381
|
+
}
|
|
1382
|
+
|
|
1364
1383
|
// Add Request Failed Details if available
|
|
1365
1384
|
if (probeResponse?.requestFailedDetails) {
|
|
1366
1385
|
const requestFailedDetails: RequestFailedDetails =
|
|
@@ -2013,7 +2032,7 @@ ${contextBlock}
|
|
|
2013
2032
|
* shown here can never disagree with the metric name shown beside it.
|
|
2014
2033
|
*/
|
|
2015
2034
|
private static getPlatformMetricUnit(input: {
|
|
2016
|
-
platform: "kubernetes" | "proxmox" | "dockerSwarm" | "ceph";
|
|
2035
|
+
platform: "kubernetes" | "proxmox" | "vmware" | "dockerSwarm" | "ceph";
|
|
2017
2036
|
metricName: string;
|
|
2018
2037
|
}): string | undefined {
|
|
2019
2038
|
switch (input.platform) {
|
|
@@ -2021,6 +2040,14 @@ ${contextBlock}
|
|
|
2021
2040
|
return getKubernetesMetricByMetricName(input.metricName)?.unit;
|
|
2022
2041
|
case "proxmox":
|
|
2023
2042
|
return getProxmoxMetricByMetricName(input.metricName)?.unit;
|
|
2043
|
+
case "vmware":
|
|
2044
|
+
/*
|
|
2045
|
+
* The vcenter receiver's utilization metrics are already 0–100
|
|
2046
|
+
* percentages (unit "%"), never [0, 1] ratios — the catalog
|
|
2047
|
+
* says "%" and the formatter renders it as-is, so 92.5 reads
|
|
2048
|
+
* "92.50%" and never "9250.00%".
|
|
2049
|
+
*/
|
|
2050
|
+
return getVMwareMetricByMetricName(input.metricName)?.unit;
|
|
2024
2051
|
case "dockerSwarm":
|
|
2025
2052
|
return getDockerSwarmMetricByMetricName(input.metricName)?.unit;
|
|
2026
2053
|
case "ceph":
|
|
@@ -2037,7 +2064,7 @@ ${contextBlock}
|
|
|
2037
2064
|
* it is the one number in the row a reader scans for.
|
|
2038
2065
|
*/
|
|
2039
2066
|
private static formatPlatformResourceValue(input: {
|
|
2040
|
-
platform: "kubernetes" | "proxmox" | "dockerSwarm" | "ceph";
|
|
2067
|
+
platform: "kubernetes" | "proxmox" | "vmware" | "dockerSwarm" | "ceph";
|
|
2041
2068
|
metricName: string;
|
|
2042
2069
|
value: number;
|
|
2043
2070
|
}): string {
|
|
@@ -2651,6 +2678,278 @@ ${contextBlock}
|
|
|
2651
2678
|
return sections.length > 0 ? sections.join("\n") : null;
|
|
2652
2679
|
}
|
|
2653
2680
|
|
|
2681
|
+
/*
|
|
2682
|
+
* Which vSphere object one VMware breakdown row describes, resolved
|
|
2683
|
+
* from the identity attributes the vcenter receiver stamped on it —
|
|
2684
|
+
* most specific first, in the same order the ingest inventory scan
|
|
2685
|
+
* uses, so the Kind column here and the inventory's `kind` never
|
|
2686
|
+
* disagree about the same series. A VM row carries its parent host
|
|
2687
|
+
* (and often a resource pool), so the VM check must run before the
|
|
2688
|
+
* host and pool checks.
|
|
2689
|
+
*/
|
|
2690
|
+
private static getVMwareAffectedResourceKind(
|
|
2691
|
+
resource: VMwareAffectedResource,
|
|
2692
|
+
): string | undefined {
|
|
2693
|
+
if (resource.vmName || resource.vmId) {
|
|
2694
|
+
return "Virtual Machine";
|
|
2695
|
+
}
|
|
2696
|
+
|
|
2697
|
+
if (resource.resourcePoolPath || resource.resourcePoolName) {
|
|
2698
|
+
return "Resource Pool";
|
|
2699
|
+
}
|
|
2700
|
+
|
|
2701
|
+
if (resource.hostName) {
|
|
2702
|
+
return "Host";
|
|
2703
|
+
}
|
|
2704
|
+
|
|
2705
|
+
if (resource.datastoreName) {
|
|
2706
|
+
return "Datastore";
|
|
2707
|
+
}
|
|
2708
|
+
|
|
2709
|
+
if (resource.clusterName) {
|
|
2710
|
+
return "Cluster";
|
|
2711
|
+
}
|
|
2712
|
+
|
|
2713
|
+
if (resource.datacenterName) {
|
|
2714
|
+
return "Datacenter";
|
|
2715
|
+
}
|
|
2716
|
+
|
|
2717
|
+
return undefined;
|
|
2718
|
+
}
|
|
2719
|
+
|
|
2720
|
+
private static buildVMwareRootCauseContext(input: {
|
|
2721
|
+
dataToProcess: DataToProcess;
|
|
2722
|
+
monitorStep: MonitorStep;
|
|
2723
|
+
monitor: Monitor;
|
|
2724
|
+
}): string | null {
|
|
2725
|
+
const metricResponse: MetricMonitorResponse =
|
|
2726
|
+
input.dataToProcess as MetricMonitorResponse;
|
|
2727
|
+
|
|
2728
|
+
const breakdown: VMwareResourceBreakdown | undefined =
|
|
2729
|
+
metricResponse.vmwareResourceBreakdown;
|
|
2730
|
+
|
|
2731
|
+
const sections: Array<string> = [];
|
|
2732
|
+
|
|
2733
|
+
// vCenter context
|
|
2734
|
+
const vmwareMonitor: MonitorStepVMwareMonitor | undefined =
|
|
2735
|
+
input.monitorStep.data?.vmwareMonitor;
|
|
2736
|
+
|
|
2737
|
+
if (vmwareMonitor || breakdown) {
|
|
2738
|
+
const vcenterDetails: Array<string> = [];
|
|
2739
|
+
vcenterDetails.push(
|
|
2740
|
+
`- vCenter: ${breakdown?.vcenterName || vmwareMonitor?.vcenterIdentifier || "Unknown"}`,
|
|
2741
|
+
);
|
|
2742
|
+
|
|
2743
|
+
if (breakdown) {
|
|
2744
|
+
vcenterDetails.push(
|
|
2745
|
+
`- Metric: ${breakdown.metricFriendlyName} (\`${breakdown.metricName}\`)`,
|
|
2746
|
+
);
|
|
2747
|
+
} else if (
|
|
2748
|
+
vmwareMonitor &&
|
|
2749
|
+
vmwareMonitor.metricViewConfig?.queryConfigs?.length > 0 &&
|
|
2750
|
+
vmwareMonitor.metricViewConfig.queryConfigs[0]
|
|
2751
|
+
) {
|
|
2752
|
+
const metricName: string = vmwareMonitor.metricViewConfig
|
|
2753
|
+
.queryConfigs[0].metricQueryData?.filterData?.metricName as string;
|
|
2754
|
+
if (metricName) {
|
|
2755
|
+
vcenterDetails.push(`- Metric: \`${metricName}\``);
|
|
2756
|
+
}
|
|
2757
|
+
}
|
|
2758
|
+
|
|
2759
|
+
/*
|
|
2760
|
+
* The worker maps each resource filter to an equality on the
|
|
2761
|
+
* matching `resource.vcenter.*` attribute; surface the same
|
|
2762
|
+
* filters so the incident shows WHAT was scoped.
|
|
2763
|
+
*/
|
|
2764
|
+
if (vmwareMonitor?.resourceFilters?.datacenterName) {
|
|
2765
|
+
vcenterDetails.push(
|
|
2766
|
+
`- Datacenter Filter: ${vmwareMonitor.resourceFilters.datacenterName}`,
|
|
2767
|
+
);
|
|
2768
|
+
}
|
|
2769
|
+
|
|
2770
|
+
if (vmwareMonitor?.resourceFilters?.clusterName) {
|
|
2771
|
+
vcenterDetails.push(
|
|
2772
|
+
`- Cluster Filter: ${vmwareMonitor.resourceFilters.clusterName}`,
|
|
2773
|
+
);
|
|
2774
|
+
}
|
|
2775
|
+
|
|
2776
|
+
if (vmwareMonitor?.resourceFilters?.hostName) {
|
|
2777
|
+
vcenterDetails.push(
|
|
2778
|
+
`- Host Filter: ${vmwareMonitor.resourceFilters.hostName}`,
|
|
2779
|
+
);
|
|
2780
|
+
}
|
|
2781
|
+
|
|
2782
|
+
if (vmwareMonitor?.resourceFilters?.vmName) {
|
|
2783
|
+
vcenterDetails.push(
|
|
2784
|
+
`- Virtual Machine Filter: ${vmwareMonitor.resourceFilters.vmName}`,
|
|
2785
|
+
);
|
|
2786
|
+
}
|
|
2787
|
+
|
|
2788
|
+
if (vmwareMonitor?.resourceFilters?.datastoreName) {
|
|
2789
|
+
vcenterDetails.push(
|
|
2790
|
+
`- Datastore Filter: ${vmwareMonitor.resourceFilters.datastoreName}`,
|
|
2791
|
+
);
|
|
2792
|
+
}
|
|
2793
|
+
|
|
2794
|
+
if (vmwareMonitor?.resourceFilters?.resourcePoolPath) {
|
|
2795
|
+
vcenterDetails.push(
|
|
2796
|
+
`- Resource Pool Filter: ${vmwareMonitor.resourceFilters.resourcePoolPath}`,
|
|
2797
|
+
);
|
|
2798
|
+
}
|
|
2799
|
+
|
|
2800
|
+
sections.push(`**vCenter Details**\n${vcenterDetails.join("\n")}`);
|
|
2801
|
+
}
|
|
2802
|
+
|
|
2803
|
+
// Affected resources (Resource / Kind / Host / Cluster / Value)
|
|
2804
|
+
let renderedBreakdownTable: boolean = false;
|
|
2805
|
+
|
|
2806
|
+
if (breakdown && breakdown.affectedResources.length > 0) {
|
|
2807
|
+
/*
|
|
2808
|
+
* K8s/Proxmox-parity render: drop zero-value rows, worst (highest)
|
|
2809
|
+
* first, top 10. For count metrics filtered to an unhealthy state
|
|
2810
|
+
* (`vcenter.datacenter.host.count{status=red}`) the non-zero rows
|
|
2811
|
+
* ARE the objects with a problem, so the table reads correctly;
|
|
2812
|
+
* a zero row means "nothing in that state" and adds nothing. The
|
|
2813
|
+
* per-series criteria evaluation is what actually alerts; this
|
|
2814
|
+
* table is supplementary context only.
|
|
2815
|
+
*/
|
|
2816
|
+
const sortedResources: Array<VMwareAffectedResource> = [
|
|
2817
|
+
...breakdown.affectedResources,
|
|
2818
|
+
]
|
|
2819
|
+
.filter((r: VMwareAffectedResource) => {
|
|
2820
|
+
return r.metricValue > 0;
|
|
2821
|
+
})
|
|
2822
|
+
.sort((a: VMwareAffectedResource, b: VMwareAffectedResource) => {
|
|
2823
|
+
return b.metricValue - a.metricValue;
|
|
2824
|
+
});
|
|
2825
|
+
|
|
2826
|
+
/*
|
|
2827
|
+
* Skip the table when no row carries any identity attribute — it
|
|
2828
|
+
* would add nothing. Every vcenter-receiver series carries at
|
|
2829
|
+
* least `vcenter.datacenter.name`, so this only trips on a
|
|
2830
|
+
* breakdown the worker could not attribute at all.
|
|
2831
|
+
*/
|
|
2832
|
+
const hasIdentity: boolean = sortedResources.some(
|
|
2833
|
+
(r: VMwareAffectedResource) => {
|
|
2834
|
+
return Boolean(
|
|
2835
|
+
MonitorCriteriaEvaluator.getVMwareAffectedResourceKind(r),
|
|
2836
|
+
);
|
|
2837
|
+
},
|
|
2838
|
+
);
|
|
2839
|
+
|
|
2840
|
+
if (sortedResources.length > 0 && hasIdentity) {
|
|
2841
|
+
const resourcesToShow: Array<VMwareAffectedResource> =
|
|
2842
|
+
sortedResources.slice(0, 10);
|
|
2843
|
+
|
|
2844
|
+
const resourceLines: Array<string> = [];
|
|
2845
|
+
resourceLines.push(`| Resource | Kind | Host | Cluster | Value |`);
|
|
2846
|
+
resourceLines.push(`| --- | --- | --- | --- | --- |`);
|
|
2847
|
+
|
|
2848
|
+
for (const resource of resourcesToShow) {
|
|
2849
|
+
const kind: string | undefined =
|
|
2850
|
+
MonitorCriteriaEvaluator.getVMwareAffectedResourceKind(resource);
|
|
2851
|
+
|
|
2852
|
+
let resourceCell: string = "-";
|
|
2853
|
+
let hostCell: string = "-";
|
|
2854
|
+
|
|
2855
|
+
switch (kind) {
|
|
2856
|
+
case "Virtual Machine":
|
|
2857
|
+
/*
|
|
2858
|
+
* The VM's display name, falling back to its instance
|
|
2859
|
+
* UUID (`vcenter.vm.id`) when the receiver stamped no
|
|
2860
|
+
* name. The Host column carries the ESXi host the VM is
|
|
2861
|
+
* running on.
|
|
2862
|
+
*/
|
|
2863
|
+
resourceCell = resource.vmName
|
|
2864
|
+
? `\`${resource.vmName}\``
|
|
2865
|
+
: `\`${resource.vmId}\``;
|
|
2866
|
+
hostCell = resource.hostName ? `\`${resource.hostName}\`` : "-";
|
|
2867
|
+
break;
|
|
2868
|
+
case "Resource Pool":
|
|
2869
|
+
/*
|
|
2870
|
+
* Pool names are only unique within a parent, so the
|
|
2871
|
+
* inventory path is shown next to the name. The Host
|
|
2872
|
+
* column is the owner host for a pool on a standalone
|
|
2873
|
+
* ESXi host (pools under a cluster show the cluster).
|
|
2874
|
+
*/
|
|
2875
|
+
if (resource.resourcePoolName && resource.resourcePoolPath) {
|
|
2876
|
+
resourceCell = `\`${resource.resourcePoolName}\` (\`${resource.resourcePoolPath}\`)`;
|
|
2877
|
+
} else {
|
|
2878
|
+
resourceCell = `\`${resource.resourcePoolPath || resource.resourcePoolName}\``;
|
|
2879
|
+
}
|
|
2880
|
+
hostCell = resource.hostName ? `\`${resource.hostName}\`` : "-";
|
|
2881
|
+
break;
|
|
2882
|
+
case "Host":
|
|
2883
|
+
// The host IS the resource; repeating it in the Host column adds nothing.
|
|
2884
|
+
resourceCell = `\`${resource.hostName}\``;
|
|
2885
|
+
break;
|
|
2886
|
+
case "Datastore":
|
|
2887
|
+
resourceCell = `\`${resource.datastoreName}\``;
|
|
2888
|
+
break;
|
|
2889
|
+
case "Cluster":
|
|
2890
|
+
resourceCell = `\`${resource.clusterName}\``;
|
|
2891
|
+
break;
|
|
2892
|
+
case "Datacenter":
|
|
2893
|
+
resourceCell = `\`${resource.datacenterName}\``;
|
|
2894
|
+
break;
|
|
2895
|
+
default:
|
|
2896
|
+
break;
|
|
2897
|
+
}
|
|
2898
|
+
|
|
2899
|
+
const kindCell: string = kind || "-";
|
|
2900
|
+
const clusterCell: string =
|
|
2901
|
+
kind !== "Cluster" && resource.clusterName
|
|
2902
|
+
? `\`${resource.clusterName}\``
|
|
2903
|
+
: "-";
|
|
2904
|
+
|
|
2905
|
+
resourceLines.push(
|
|
2906
|
+
`| ${resourceCell} | ${kindCell} | ${hostCell} | ${clusterCell} | ${MonitorCriteriaEvaluator.formatPlatformResourceValue(
|
|
2907
|
+
{
|
|
2908
|
+
platform: "vmware",
|
|
2909
|
+
metricName: breakdown.metricName,
|
|
2910
|
+
value: resource.metricValue,
|
|
2911
|
+
},
|
|
2912
|
+
)} |`,
|
|
2913
|
+
);
|
|
2914
|
+
}
|
|
2915
|
+
|
|
2916
|
+
if (sortedResources.length > 10) {
|
|
2917
|
+
resourceLines.push(
|
|
2918
|
+
`\n*... and ${sortedResources.length - 10} more affected resources*`,
|
|
2919
|
+
);
|
|
2920
|
+
}
|
|
2921
|
+
|
|
2922
|
+
sections.push(
|
|
2923
|
+
`\n\n**Affected Resources** (${sortedResources.length} total)\n\n${resourceLines.join("\n")}`,
|
|
2924
|
+
);
|
|
2925
|
+
renderedBreakdownTable = true;
|
|
2926
|
+
}
|
|
2927
|
+
}
|
|
2928
|
+
|
|
2929
|
+
// Metric results summary (fallback context when no table rendered)
|
|
2930
|
+
if (
|
|
2931
|
+
!renderedBreakdownTable &&
|
|
2932
|
+
metricResponse.metricResult &&
|
|
2933
|
+
metricResponse.metricResult.length > 0
|
|
2934
|
+
) {
|
|
2935
|
+
const resultDetails: Array<string> = [];
|
|
2936
|
+
|
|
2937
|
+
for (const result of metricResponse.metricResult) {
|
|
2938
|
+
if (result.data && result.data.length > 0) {
|
|
2939
|
+
resultDetails.push(
|
|
2940
|
+
`- ${result.data.length} metric data point(s) returned`,
|
|
2941
|
+
);
|
|
2942
|
+
}
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2945
|
+
if (resultDetails.length > 0) {
|
|
2946
|
+
sections.push(`\n\n**Metric Summary**\n${resultDetails.join("\n")}`);
|
|
2947
|
+
}
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
return sections.length > 0 ? sections.join("\n") : null;
|
|
2951
|
+
}
|
|
2952
|
+
|
|
2654
2953
|
private static buildDockerSwarmRootCauseContext(input: {
|
|
2655
2954
|
dataToProcess: DataToProcess;
|
|
2656
2955
|
monitorStep: MonitorStep;
|
|
@@ -30,6 +30,13 @@ export interface MaintainedResourceKeys {
|
|
|
30
30
|
* the name set is ever matched; the id set exists for shape parity.
|
|
31
31
|
*/
|
|
32
32
|
proxmoxClusters: ResourceKeySet;
|
|
33
|
+
/*
|
|
34
|
+
* vCenters, like Proxmox/Ceph clusters, have no `oneuptime.*.id`
|
|
35
|
+
* label stamp (the VMware Agent stamps `vmware.vcenter.name` only),
|
|
36
|
+
* so only the name set is ever matched; the id set exists for shape
|
|
37
|
+
* parity.
|
|
38
|
+
*/
|
|
39
|
+
vmwareVCenters: ResourceKeySet;
|
|
33
40
|
cephClusters: ResourceKeySet;
|
|
34
41
|
/*
|
|
35
42
|
* Docker Swarm clusters, like Proxmox/Ceph clusters, have no
|
|
@@ -64,8 +71,8 @@ export interface MaintainedResourceKeys {
|
|
|
64
71
|
* incident/alert creation loops can skip exactly those series while the
|
|
65
72
|
* other 90 hosts keep alerting. It covers every resource type a
|
|
66
73
|
* maintenance event can attach to AND a series can identify: Host,
|
|
67
|
-
* DockerHost, KubernetesCluster, ProxmoxCluster,
|
|
68
|
-
* Service.
|
|
74
|
+
* DockerHost, KubernetesCluster, ProxmoxCluster, VMwareVCenter,
|
|
75
|
+
* CephCluster, and Service.
|
|
69
76
|
*/
|
|
70
77
|
export default class MonitorMaintenanceSuppression {
|
|
71
78
|
/*
|
|
@@ -142,6 +149,10 @@ export default class MonitorMaintenanceSuppression {
|
|
|
142
149
|
refs.proxmoxClusterNames,
|
|
143
150
|
input.maintained.proxmoxClusters.names,
|
|
144
151
|
) ||
|
|
152
|
+
this.intersects(
|
|
153
|
+
refs.vmwareVCenterNames,
|
|
154
|
+
input.maintained.vmwareVCenters.names,
|
|
155
|
+
) ||
|
|
145
156
|
this.intersects(
|
|
146
157
|
refs.cephClusterNames,
|
|
147
158
|
input.maintained.cephClusters.names,
|
|
@@ -185,6 +196,8 @@ export default class MonitorMaintenanceSuppression {
|
|
|
185
196
|
maintained.kubernetesClusters.names.size > 0 ||
|
|
186
197
|
maintained.proxmoxClusters.ids.size > 0 ||
|
|
187
198
|
maintained.proxmoxClusters.names.size > 0 ||
|
|
199
|
+
maintained.vmwareVCenters.ids.size > 0 ||
|
|
200
|
+
maintained.vmwareVCenters.names.size > 0 ||
|
|
188
201
|
maintained.cephClusters.ids.size > 0 ||
|
|
189
202
|
maintained.cephClusters.names.size > 0 ||
|
|
190
203
|
maintained.dockerSwarmClusters.ids.size > 0 ||
|
|
@@ -198,8 +211,8 @@ export default class MonitorMaintenanceSuppression {
|
|
|
198
211
|
|
|
199
212
|
/*
|
|
200
213
|
* Collect the ids + identifiers of every Host / DockerHost /
|
|
201
|
-
* PodmanHost / KubernetesCluster / ProxmoxCluster /
|
|
202
|
-
* DockerSwarmCluster / IoTFleet / Service attached to an ongoing
|
|
214
|
+
* PodmanHost / KubernetesCluster / ProxmoxCluster / VMwareVCenter /
|
|
215
|
+
* CephCluster / DockerSwarmCluster / IoTFleet / Service attached to an ongoing
|
|
203
216
|
* maintenance event in this project. Monitors attached
|
|
204
217
|
* to the event are intentionally not collected here — those are
|
|
205
218
|
* already handled upstream by the whole-monitor disable flag, which
|
|
@@ -214,6 +227,7 @@ export default class MonitorMaintenanceSuppression {
|
|
|
214
227
|
podmanHosts: { ids: new Set<string>(), names: new Set<string>() },
|
|
215
228
|
kubernetesClusters: { ids: new Set<string>(), names: new Set<string>() },
|
|
216
229
|
proxmoxClusters: { ids: new Set<string>(), names: new Set<string>() },
|
|
230
|
+
vmwareVCenters: { ids: new Set<string>(), names: new Set<string>() },
|
|
217
231
|
cephClusters: { ids: new Set<string>(), names: new Set<string>() },
|
|
218
232
|
dockerSwarmClusters: {
|
|
219
233
|
ids: new Set<string>(),
|
|
@@ -238,6 +252,7 @@ export default class MonitorMaintenanceSuppression {
|
|
|
238
252
|
podmanHosts: { _id: true, hostIdentifier: true },
|
|
239
253
|
kubernetesClusters: { _id: true, clusterIdentifier: true },
|
|
240
254
|
proxmoxClusters: { _id: true, name: true },
|
|
255
|
+
vmwareVCenters: { _id: true, name: true },
|
|
241
256
|
cephClusters: { _id: true, name: true },
|
|
242
257
|
dockerSwarmClusters: { _id: true, name: true },
|
|
243
258
|
iotFleets: { _id: true, name: true },
|
|
@@ -282,6 +297,13 @@ export default class MonitorMaintenanceSuppression {
|
|
|
282
297
|
proxmoxCluster.name,
|
|
283
298
|
);
|
|
284
299
|
}
|
|
300
|
+
for (const vmwareVCenter of event.vmwareVCenters || []) {
|
|
301
|
+
this.addKey(
|
|
302
|
+
maintained.vmwareVCenters,
|
|
303
|
+
vmwareVCenter._id,
|
|
304
|
+
vmwareVCenter.name,
|
|
305
|
+
);
|
|
306
|
+
}
|
|
285
307
|
for (const cephCluster of event.cephClusters || []) {
|
|
286
308
|
this.addKey(maintained.cephClusters, cephCluster._id, cephCluster.name);
|
|
287
309
|
}
|
|
@@ -25,9 +25,10 @@ import SeriesResourceLinker, {
|
|
|
25
25
|
*
|
|
26
26
|
* The deterministic source is the monitor's own step config, which
|
|
27
27
|
* always carries whatever the user picked when they built the monitor:
|
|
28
|
-
* a hostIdentifier, a clusterIdentifier, a
|
|
29
|
-
* telemetryServiceIds, or a metric attribute
|
|
30
|
-
* it once per evaluation and resolves it to
|
|
28
|
+
* a hostIdentifier, a clusterIdentifier, a vcenterIdentifier, a
|
|
29
|
+
* fleetIdentifier, a set of telemetryServiceIds, or a metric attribute
|
|
30
|
+
* filter. This module reads it once per evaluation and resolves it to
|
|
31
|
+
* real rows.
|
|
31
32
|
*
|
|
32
33
|
* This supersedes the old MonitorClusterContext, which did the same
|
|
33
34
|
* thing for exactly four cluster types (Proxmox / Ceph / Docker Swarm /
|
|
@@ -99,6 +100,7 @@ export default class MonitorResourceContextUtil {
|
|
|
99
100
|
kubernetesClusterIds: [],
|
|
100
101
|
serviceIds: [],
|
|
101
102
|
proxmoxClusterIds: [],
|
|
103
|
+
vmwareVCenterIds: [],
|
|
102
104
|
cephClusterIds: [],
|
|
103
105
|
dockerSwarmClusterIds: [],
|
|
104
106
|
iotFleetIds: [],
|
|
@@ -48,6 +48,7 @@ type NameRefKey = keyof Pick<
|
|
|
48
48
|
| "podmanHostNames"
|
|
49
49
|
| "kubernetesClusterNames"
|
|
50
50
|
| "proxmoxClusterNames"
|
|
51
|
+
| "vmwareVCenterNames"
|
|
51
52
|
| "cephClusterNames"
|
|
52
53
|
| "dockerSwarmClusterNames"
|
|
53
54
|
| "iotFleetNames"
|
|
@@ -183,6 +184,17 @@ export default class MonitorStepResourceIdentity {
|
|
|
183
184
|
key: "proxmoxClusterNames",
|
|
184
185
|
value: stepData.proxmoxMonitor?.clusterIdentifier,
|
|
185
186
|
};
|
|
187
|
+
case MonitorType.VMware:
|
|
188
|
+
/*
|
|
189
|
+
* The `vmware.vcenter.name` the VMware Agent stamps. Returned
|
|
190
|
+
* untrimmed and untyped on purpose: the caller's `typeof`
|
|
191
|
+
* guard is what keeps a numeric or object identifier written by
|
|
192
|
+
* the API from throwing out of alert/incident creation.
|
|
193
|
+
*/
|
|
194
|
+
return {
|
|
195
|
+
key: "vmwareVCenterNames",
|
|
196
|
+
value: stepData.vmwareMonitor?.vcenterIdentifier,
|
|
197
|
+
};
|
|
186
198
|
case MonitorType.Ceph:
|
|
187
199
|
return {
|
|
188
200
|
key: "cephClusterNames",
|
|
@@ -327,6 +339,7 @@ export default class MonitorStepResourceIdentity {
|
|
|
327
339
|
stepData.dockerMonitor?.metricViewConfig,
|
|
328
340
|
stepData.podmanMonitor?.metricViewConfig,
|
|
329
341
|
stepData.proxmoxMonitor?.metricViewConfig,
|
|
342
|
+
stepData.vmwareMonitor?.metricViewConfig,
|
|
330
343
|
stepData.cephMonitor?.metricViewConfig,
|
|
331
344
|
stepData.dockerSwarmMonitor?.metricViewConfig,
|
|
332
345
|
stepData.iotMonitor?.metricViewConfig,
|
|
@@ -421,6 +434,7 @@ export default class MonitorStepResourceIdentity {
|
|
|
421
434
|
kubernetesClusterNames: [],
|
|
422
435
|
dockerSwarmClusterNames: [],
|
|
423
436
|
proxmoxClusterNames: [],
|
|
437
|
+
vmwareVCenterNames: [],
|
|
424
438
|
cephClusterNames: [],
|
|
425
439
|
iotFleetNames: [],
|
|
426
440
|
serviceIds: [],
|
|
@@ -517,6 +517,7 @@ export default class MonitorTemplateUtil {
|
|
|
517
517
|
data.monitorType === MonitorType.Podman ||
|
|
518
518
|
data.monitorType === MonitorType.DockerSwarm ||
|
|
519
519
|
data.monitorType === MonitorType.Proxmox ||
|
|
520
|
+
data.monitorType === MonitorType.VMware ||
|
|
520
521
|
data.monitorType === MonitorType.Ceph
|
|
521
522
|
) {
|
|
522
523
|
const metricResponse: MetricMonitorResponse =
|
|
@@ -118,6 +118,26 @@ export const CephClusterNameLabelKeys: ReadonlyArray<string> = [
|
|
|
118
118
|
"ceph.cluster.name",
|
|
119
119
|
];
|
|
120
120
|
|
|
121
|
+
/*
|
|
122
|
+
* vCenter identity rides the agent-stamped resource attribute
|
|
123
|
+
* (`vmware.vcenter.name` — one value per vCenter Server or standalone
|
|
124
|
+
* ESXi host the VMware Agent connects to) and its ClickHouse
|
|
125
|
+
* `resource.`-prefixed twin. Ingest keys vCenter rows by name only —
|
|
126
|
+
* there is no `oneuptime.*.id` stamp for vCenters — so only name keys
|
|
127
|
+
* exist. The name maps to the VMwareVCenter model's `name` column. The
|
|
128
|
+
* shipped VMware alert templates group by the vSphere object's own
|
|
129
|
+
* resource attribute (`resource.vcenter.host.name`,
|
|
130
|
+
* `resource.vcenter.vm.name`, `resource.vcenter.datastore.name`, ...),
|
|
131
|
+
* so their series labels do NOT carry these keys; the deterministic
|
|
132
|
+
* vCenter link for those monitors comes from the monitor step config
|
|
133
|
+
* instead (see MonitorResourceContext). These keys cover user-built
|
|
134
|
+
* monitors that group by the vCenter attribute.
|
|
135
|
+
*/
|
|
136
|
+
export const VMwareVCenterNameLabelKeys: ReadonlyArray<string> = [
|
|
137
|
+
"resource.vmware.vcenter.name",
|
|
138
|
+
"vmware.vcenter.name",
|
|
139
|
+
];
|
|
140
|
+
|
|
121
141
|
/*
|
|
122
142
|
* IoT fleet identity rides the agent-stamped resource attribute
|
|
123
143
|
* (`iot.fleet.name`) and its ClickHouse `resource.`-prefixed twin.
|
|
@@ -188,6 +208,7 @@ export const AllResourceIdentityLabelKeys: ReadonlyArray<string> = [
|
|
|
188
208
|
...KubernetesClusterIdLabelKeys,
|
|
189
209
|
...KubernetesClusterNameLabelKeys,
|
|
190
210
|
...ProxmoxClusterNameLabelKeys,
|
|
211
|
+
...VMwareVCenterNameLabelKeys,
|
|
191
212
|
...CephClusterNameLabelKeys,
|
|
192
213
|
...IoTFleetNameLabelKeys,
|
|
193
214
|
...ServiceIdLabelKeys,
|
|
@@ -212,6 +233,7 @@ export interface SeriesResourceRefs {
|
|
|
212
233
|
kubernetesClusterNames: Array<string>;
|
|
213
234
|
dockerSwarmClusterNames: Array<string>;
|
|
214
235
|
proxmoxClusterNames: Array<string>;
|
|
236
|
+
vmwareVCenterNames: Array<string>;
|
|
215
237
|
cephClusterNames: Array<string>;
|
|
216
238
|
iotFleetNames: Array<string>;
|
|
217
239
|
serviceIds: Array<string>;
|
|
@@ -288,6 +310,10 @@ export default class SeriesResourceLabels {
|
|
|
288
310
|
seriesLabels,
|
|
289
311
|
ProxmoxClusterNameLabelKeys,
|
|
290
312
|
),
|
|
313
|
+
vmwareVCenterNames: this.collectLabelValues(
|
|
314
|
+
seriesLabels,
|
|
315
|
+
VMwareVCenterNameLabelKeys,
|
|
316
|
+
),
|
|
291
317
|
cephClusterNames: this.collectLabelValues(
|
|
292
318
|
seriesLabels,
|
|
293
319
|
CephClusterNameLabelKeys,
|