@oneuptime/common 12.0.29 → 12.0.31
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/AnalyticsModels/SecurityEvent.ts +48 -16
- package/Models/AnalyticsModels/ThreatIntelIndicator.ts +10 -5
- package/Models/DatabaseModels/AlertSeverity.ts +44 -0
- package/Models/DatabaseModels/DetectionRule.ts +16 -5
- package/Models/DatabaseModels/GoogleSecOpsConnection.ts +14 -5
- package/Models/DatabaseModels/IncidentSeverity.ts +44 -0
- package/Models/DatabaseModels/Index.ts +13 -0
- package/Models/DatabaseModels/NetworkDevice.ts +113 -3
- package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +88 -0
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +22 -0
- package/Models/DatabaseModels/NetworkDeviceOidTemplate.ts +499 -0
- package/Models/DatabaseModels/OnCallDutyPolicySchedule.ts +43 -0
- package/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.ts +662 -0
- package/Models/DatabaseModels/ProjectOnCallCalendarFeed.ts +584 -0
- package/Models/DatabaseModels/ThreatIntelFeed.ts +16 -5
- package/Models/DatabaseModels/UserOnCallCalendarFeed.ts +546 -0
- package/Models/DatabaseModels/UserOnCallShiftReminder.ts +231 -0
- package/Models/DatabaseModels/UserOnCallShiftReminderLog.ts +331 -0
- package/Server/API/GlobalConfigAPI.ts +362 -183
- package/Server/API/OnCallCalendarAPI.ts +2194 -0
- package/Server/API/TelemetryAPI.ts +42 -4
- package/Server/EnvironmentConfig.ts +250 -0
- package/Server/Infrastructure/OnCallCalendarFeedCache.ts +1050 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.ts +253 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.ts +59 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.ts +25 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Middleware/MultipartFormData.ts +118 -32
- package/Server/Middleware/OnCallCalendarFeedRateLimit.ts +487 -0
- package/Server/Services/AlertEpisodeLabelRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodeOnCallRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodeOwnerRuleEngineService.ts +9 -1
- package/Server/Services/AlertEpisodePrivacyRuleEngineService.ts +9 -1
- package/Server/Services/AlertGroupingEngineService.ts +9 -1
- package/Server/Services/AlertLabelRuleEngineService.ts +9 -1
- package/Server/Services/AlertOnCallRuleEngineService.ts +9 -1
- package/Server/Services/AlertOwnerRuleEngineService.ts +9 -1
- package/Server/Services/AlertPrivacyRuleEngineService.ts +9 -1
- package/Server/Services/AlertReminderRuleService.ts +9 -1
- package/Server/Services/AutoRemediationRuleEngineService.ts +9 -1
- package/Server/Services/CephClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/CephClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/CloudResourceLabelRuleEngineService.ts +9 -1
- package/Server/Services/CloudResourceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DashboardLabelRuleEngineService.ts +9 -1
- package/Server/Services/DashboardOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DockerHostLabelRuleEngineService.ts +9 -1
- package/Server/Services/DockerHostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/DockerSwarmClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/DockerSwarmClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/HostLabelRuleEngineService.ts +9 -1
- package/Server/Services/HostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeOnCallRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodeOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentEpisodePrivacyRuleEngineService.ts +9 -1
- package/Server/Services/IncidentGroupingEngineService.ts +9 -1
- package/Server/Services/IncidentLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncidentOnCallRuleEngineService.ts +9 -1
- package/Server/Services/IncidentOwnerRuleEngineService.ts +9 -1
- package/Server/Services/IncidentPrivacyRuleEngineService.ts +9 -1
- package/Server/Services/IncidentReminderRuleService.ts +9 -1
- package/Server/Services/IncidentSlaRuleService.ts +9 -1
- package/Server/Services/IncomingCallPolicyLabelRuleEngineService.ts +9 -1
- package/Server/Services/IncomingCallPolicyOwnerRuleEngineService.ts +9 -1
- package/Server/Services/Index.ts +14 -0
- package/Server/Services/IoTFleetLabelRuleEngineService.ts +9 -1
- package/Server/Services/IoTFleetOwnerRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/KubernetesResourceService.ts +5 -1
- package/Server/Services/MonitorLabelRuleEngineService.ts +9 -1
- package/Server/Services/MonitorOwnerRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceAutoImportRuleEngineService.ts +35 -0
- package/Server/Services/NetworkDeviceAutoImportRuleService.ts +96 -0
- package/Server/Services/NetworkDeviceLabelRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceOidTemplateService.ts +201 -0
- package/Server/Services/NetworkDeviceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/NetworkDeviceService.ts +209 -1
- package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +32 -0
- package/Server/Services/OnCallDutyPolicyLabelRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.ts +260 -0
- package/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleLayerService.ts +70 -3
- package/Server/Services/OnCallDutyPolicyScheduleLayerUserService.ts +138 -3
- package/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.ts +9 -1
- package/Server/Services/OnCallDutyPolicyScheduleService.ts +1465 -134
- package/Server/Services/OnCallDutyPolicyUserOverrideService.ts +167 -31
- package/Server/Services/PodmanHostLabelRuleEngineService.ts +9 -1
- package/Server/Services/PodmanHostOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ProjectOnCallCalendarFeedService.ts +192 -0
- package/Server/Services/ProxmoxClusterLabelRuleEngineService.ts +9 -1
- package/Server/Services/ProxmoxClusterOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RumApplicationLabelRuleEngineService.ts +9 -1
- package/Server/Services/RumApplicationOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RunbookLabelRuleEngineService.ts +9 -1
- package/Server/Services/RunbookOwnerRuleEngineService.ts +9 -1
- package/Server/Services/RunbookRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceLabelRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ScheduledMaintenanceReminderRuleService.ts +9 -1
- package/Server/Services/ServerlessFunctionLabelRuleEngineService.ts +9 -1
- package/Server/Services/ServerlessFunctionOwnerRuleEngineService.ts +9 -1
- package/Server/Services/ServiceLabelRuleEngineService.ts +9 -1
- package/Server/Services/ServiceOwnerRuleEngineService.ts +9 -1
- package/Server/Services/StatusPageLabelRuleEngineService.ts +9 -1
- package/Server/Services/StatusPageMonitorRuleEngineService.ts +7 -0
- package/Server/Services/StatusPageOwnerRuleEngineService.ts +9 -1
- package/Server/Services/TeamMemberService.ts +489 -1
- package/Server/Services/TeamService.ts +50 -0
- package/Server/Services/TelemetrySourceMapService.ts +266 -23
- package/Server/Services/UserNotificationSettingService.ts +44 -1
- package/Server/Services/UserOnCallCalendarFeedService.ts +159 -0
- package/Server/Services/UserOnCallShiftReminderLogService.ts +151 -0
- package/Server/Services/UserOnCallShiftReminderService.ts +112 -0
- package/Server/Services/UserService.ts +27 -0
- package/Server/Services/WorkflowLabelRuleEngineService.ts +9 -1
- package/Server/Services/WorkflowOwnerRuleEngineService.ts +9 -1
- package/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.ts +186 -0
- package/Server/Utils/Monitor/CapturedMetricAttributeUtil.ts +245 -0
- package/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.ts +21 -2
- package/Server/Utils/Monitor/MonitorMetricUtil.ts +55 -21
- package/Server/Utils/Monitor/MonitorTemplateUtil.ts +32 -0
- package/Server/Utils/Monitor/NetworkDeviceMetricUtil.ts +15 -2
- package/Server/Utils/Monitor/NetworkDeviceWalkUtil.ts +18 -1
- package/Server/Utils/Monitor/NetworkInventoryUtil.ts +10 -0
- package/Server/Utils/Monitor/SeriesResourceLabels.ts +34 -0
- package/Server/Utils/OnCall/CalendarFeedToken.ts +241 -0
- package/Server/Utils/OnCall/OnCallCalendarFeedRenderer.ts +1488 -0
- package/Server/Utils/OnCall/OnCallCalendarFeedUrls.ts +230 -0
- package/Server/Utils/OnCall/OnCallShiftChangeListeners.ts +227 -0
- package/Server/Utils/OnCall/OnCallShiftMaterializer.ts +1127 -0
- package/Server/Utils/OnCall/OnCallShiftReminderListener.ts +174 -0
- package/Server/Utils/OnCall/OnCallShiftReminderRunner.ts +2584 -0
- package/Server/Utils/Response.ts +134 -0
- package/Server/Utils/Rules/RuleEngineRuleRead.ts +48 -0
- package/Server/Utils/StartServer.ts +10 -0
- package/Server/Utils/Telemetry/AppMetrics.ts +51 -0
- package/Server/Utils/Telemetry/ExceptionSanitizer.ts +14 -1
- package/Server/Utils/Telemetry/LogExceptionExtractor.ts +14 -2
- package/Server/Utils/Telemetry/SourceMapResolver.ts +16 -5
- package/Server/Utils/Telemetry/StackTraceParser.ts +399 -0
- package/Tests/App/Dashboard/EventOverlayHook.test.tsx +125 -0
- package/Tests/App/Dashboard/HeaderImageAssets.test.tsx +93 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedLinks.test.tsx +229 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedPlanGate.test.tsx +489 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedSideMenus.test.tsx +149 -0
- package/Tests/App/Dashboard/OnCallCalendarFeedUtil.test.ts +855 -0
- package/Tests/App/Dashboard/OnCallPersonalCalendarFeed.test.tsx +1209 -0
- package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +3 -3
- package/Tests/App/Dashboard/OnCallSharedCalendarFeedCard.test.tsx +1019 -0
- package/Tests/App/Dashboard/OnCallShiftRemindersAndUpcomingShifts.test.tsx +655 -0
- package/Tests/App/Dashboard/UserElementEmail.test.tsx +12 -4
- package/Tests/App/Dashboard/UserEmailCallSites.test.tsx +1 -1
- package/Tests/App/Dashboard/UserSettingsSetupChecklistModel.test.ts +73 -0
- package/Tests/Models/DatabaseModels/DomainRoleTierCoverage.test.ts +14 -0
- package/Tests/Models/DatabaseModels/ModelRegistryInvariants.test.ts +469 -0
- package/Tests/Models/OnCallCalendarFeedModels.test.ts +642 -0
- package/Tests/Models/OnCallDutyPolicyScheduleCalendarFeed.test.ts +288 -0
- package/Tests/Models/OnCallDutyPolicyScheduleShiftConfigVersion.test.ts +88 -0
- package/Tests/Models/SecurityDomainAccessControl.test.ts +429 -0
- package/Tests/Models/UserOnCallShiftReminderModels.test.ts +368 -0
- package/Tests/Server/API/GlobalConfigLicense.test.ts +657 -0
- package/Tests/Server/API/Helpers.ts +8 -0
- package/Tests/Server/API/OnCallCalendarAPI.test.ts +4461 -0
- package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +84 -6
- package/Tests/Server/API/TelemetryResolveStackTraceAPI.test.ts +805 -0
- package/Tests/Server/EnvironmentConfigOnCallCalendarFeed.test.ts +357 -0
- package/Tests/Server/Infrastructure/OnCallCalendarFeedCache.test.ts +1589 -0
- package/Tests/Server/Infrastructure/Postgres/AddOnCallCalendarFeedsMigration.test.ts +394 -0
- package/Tests/Server/Middleware/IdentityRateLimit.test.ts +1144 -0
- package/Tests/Server/Middleware/MultipartFormData.test.ts +618 -3
- package/Tests/Server/Middleware/OnCallCalendarFeedRateLimit.test.ts +1365 -0
- package/Tests/Server/Services/FeedRetentionConsistency.test.ts +70 -0
- package/Tests/Server/Services/MonitorLabelRuleEngineScale.test.ts +520 -0
- package/Tests/Server/Services/NetworkDeviceOidTemplateService.test.ts +332 -0
- package/Tests/Server/Services/NetworkDeviceOidTemplateWriteGuards.test.ts +409 -0
- package/Tests/Server/Services/OnCallCalendarFeedServices.test.ts +1103 -0
- package/Tests/Server/Services/OnCallDutyPolicyScheduleResolver.test.ts +1037 -0
- package/Tests/Server/Services/OnCallShiftConfigPropagation.test.ts +1270 -0
- package/Tests/Server/Services/RuleEngineRuleFetchLimit.test.ts +239 -0
- package/Tests/Server/Services/TeamDeleteMemberCleanup.test.ts +156 -0
- package/Tests/Server/Services/TeamMemberOnCallCleanup.test.ts +755 -0
- package/Tests/Server/Services/TelemetrySourceMapService.test.ts +1210 -2
- package/Tests/Server/Services/UserNotificationSettingShiftReminderDefaults.test.ts +267 -0
- package/Tests/Server/Services/UserOnCallShiftReminderServices.test.ts +583 -0
- package/Tests/Server/Services/UserServiceSeatLimit.test.ts +182 -0
- package/Tests/Server/Types/AnalyticsDatabase/SecurityEventModelPermission.test.ts +255 -0
- package/Tests/Server/Types/Database/Permissions/OnCallCalendarFeedPermissions.test.ts +254 -0
- package/Tests/Server/Types/Database/Permissions/ReadBlockPermission.test.ts +212 -0
- package/Tests/Server/Types/Database/Permissions/SecurityRoleAccess.test.ts +413 -0
- package/Tests/Server/Utils/CodeRepository.test.ts +689 -0
- package/Tests/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.test.ts +495 -0
- package/Tests/Server/Utils/ExceptionSanitizer.test.ts +77 -0
- package/Tests/Server/Utils/Monitor/CapturedMetricAttributeUtil.test.ts +284 -0
- package/Tests/Server/Utils/Monitor/MonitorCustomMetricAttributes.test.ts +503 -0
- package/Tests/Server/Utils/Monitor/MonitorTemplatePrototypePollution.test.ts +106 -0
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkLogWritePath.test.ts +33 -4
- package/Tests/Server/Utils/Monitor/NetworkDeviceWalkUtil.test.ts +14 -4
- package/Tests/Server/Utils/Monitor/NetworkInventoryUtil.test.ts +44 -0
- package/Tests/Server/Utils/OnCall/CalendarFeedToken.test.ts +467 -0
- package/Tests/Server/Utils/OnCall/OnCallCalendarFeedRenderer.test.ts +2142 -0
- package/Tests/Server/Utils/OnCall/OnCallCalendarFeedUrls.test.ts +278 -0
- package/Tests/Server/Utils/OnCall/OnCallResolverTestHarness.ts +440 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftChangeListeners.test.ts +314 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftMaterializer.test.ts +1502 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderListener.test.ts +491 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderRunner.test.ts +3088 -0
- package/Tests/Server/Utils/OnCall/OnCallShiftReminderTestHarness.ts +910 -0
- package/Tests/Server/Utils/OpenAPISpec.test.ts +536 -0
- package/Tests/Server/Utils/ResponseSendCalendarResponse.test.ts +561 -0
- package/Tests/Server/Utils/Rules/RuleEngineRuleRead.test.ts +115 -0
- package/Tests/Server/Utils/StackTraceParser.test.ts +610 -0
- package/Tests/Server/Utils/StartServerEncryptionSecretWarning.test.ts +64 -0
- package/Tests/Server/Utils/Telemetry/AppMetrics.test.ts +29 -0
- package/Tests/Server/Utils/Telemetry/LogExceptionExtractor.test.ts +0 -0
- package/Tests/Server/Utils/Telemetry/SourceMapLimits.test.ts +656 -0
- package/Tests/Server/Utils/Telemetry/SourceMapResolver.test.ts +100 -0
- package/Tests/Types/Calendar/ICalendar.test.ts +488 -0
- package/Tests/Types/Monitor/SnmpMonitor/SnmpOidListUtil.test.ts +454 -0
- package/Tests/Types/NotificationSetting/NotificationSettingEventType.test.ts +53 -0
- package/Tests/Types/OnCallDutyPolicy/CalendarFeedTestFixtures.ts +310 -0
- package/Tests/Types/OnCallDutyPolicy/CalendarFeedWindow.test.ts +205 -0
- package/Tests/Types/OnCallDutyPolicy/LayerUtilLayerMetaAndIterationCap.test.ts +458 -0
- package/Tests/Types/OnCallDutyPolicy/MaterializedShift.test.ts +197 -0
- package/Tests/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.test.ts +1986 -0
- package/Tests/Types/OnCallDutyPolicy/ScheduleShiftUtilGroupKey.test.ts +678 -0
- package/Tests/Types/OnCallDutyPolicy/ShiftSeamUtil.test.ts +417 -0
- package/Tests/Types/SecurityRolePermissions.test.ts +193 -0
- package/Tests/UI/Components/Charts/AnnotationLayout.test.ts +773 -0
- package/Tests/UI/Components/Charts/ChartAnnotationRail.test.tsx +789 -0
- package/Tests/UI/Components/Charts/ChartBucketIdentity.test.ts +254 -0
- package/Tests/UI/Components/Charts/TimeAnnotation.test.ts +471 -0
- package/Tests/UI/Components/EditionLabelLicenseRefresh.test.tsx +405 -0
- package/Tests/UI/Components/ErrorMessageRefreshControl.test.tsx +83 -0
- package/Tests/UI/Components/MarkdownConverters.test.ts +686 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableDeleteAndEmptyStates.test.tsx +341 -0
- package/Tests/UI/Components/OrderedStatesList.test.tsx +5 -5
- package/Tests/UI/Components/PendingProjectInvitations.test.tsx +1 -1
- package/Tests/UI/Components/TableSortAndMobileColumns.test.tsx +195 -0
- package/Tests/UI/Components/XAxis.test.ts +270 -5
- package/Tests/UI/Components/XAxisDaylightSaving.test.ts +113 -0
- package/Tests/UI/Styles/ChartFocusRing.test.ts +153 -0
- package/Tests/UI/Styles/ChartFocusRingCoverage.test.tsx +377 -0
- package/Tests/UI/Styles/ThemeStylesheet.ts +162 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealBreadcrumbTrails.ts +10 -0
- package/Tests/UI/Utils/Breadcrumb/fixtures/RealRoutePatterns.ts +2 -0
- package/Tests/Utils/EnterpriseLicenseSeats.test.ts +507 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.test.ts +951 -1
- package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +238 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveryReverseDnsChain.test.ts +1056 -0
- package/Tests/Utils/NetworkDiscovery/ReverseDnsNameUtil.test.ts +882 -0
- package/Types/Calendar/ICalendar.ts +442 -0
- package/Types/Date.ts +39 -0
- package/Types/Email/EmailTemplateType.ts +2 -0
- package/Types/Monitor/SnmpMonitor/SnmpOidListUtil.ts +333 -0
- package/Types/NotificationSetting/NotificationSettingEventType.ts +4 -0
- package/Types/OnCallDutyPolicy/CalendarFeedWindow.ts +140 -0
- package/Types/OnCallDutyPolicy/Layer.ts +190 -35
- package/Types/OnCallDutyPolicy/MaterializedShift.ts +274 -0
- package/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.ts +1415 -0
- package/Types/OnCallDutyPolicy/ScheduleShiftUtil.ts +159 -4
- package/Types/OnCallDutyPolicy/ShiftSeamUtil.ts +106 -0
- package/Types/Permission.ts +96 -0
- package/Types/Rum/SessionReplay.ts +21 -0
- package/Types/Telemetry/SourceMap.ts +8 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.tsx +176 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.ts +745 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.tsx +576 -0
- package/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.tsx +204 -0
- package/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.tsx +491 -544
- package/UI/Components/Charts/ChartLibrary/BarChart/BarChart.tsx +324 -372
- package/UI/Components/Charts/ChartLibrary/LineChart/LineChart.tsx +487 -540
- package/UI/Components/Charts/ChartLibrary/Types/FormattedReferenceRegion.ts +7 -3
- package/UI/Components/Charts/ChartLibrary/Types/FormattedTimeReferenceLine.ts +14 -3
- package/UI/Components/Charts/Types/ChartEventKind.ts +13 -0
- package/UI/Components/Charts/Types/ReferenceRegionProps.ts +6 -0
- package/UI/Components/Charts/Types/TimeReferenceLineProps.ts +20 -3
- package/UI/Components/Charts/Utils/TimeAnnotation.ts +69 -35
- package/UI/Components/Charts/Utils/XAxis.ts +125 -18
- package/UI/Components/EditionLabel/EditionLabel.tsx +280 -26
- package/UI/Components/ErrorMessage/ErrorMessage.tsx +21 -10
- package/UI/Components/Feed/FeedItem.tsx +4 -5
- package/UI/Components/Header/HeaderIconDropdownButton.tsx +1 -2
- package/UI/Components/Header/UserProfile/UserProfile.tsx +1 -2
- package/UI/Components/Image/Image.tsx +20 -3
- package/UI/Components/Markdown.tsx/MarkdownConverters.ts +0 -0
- package/UI/Components/MemberRoleAssignment/MemberRoleAssignment.tsx +1 -2
- package/UI/Components/ModelTable/BaseModelTable.tsx +150 -24
- package/UI/Components/Table/TableHeader.tsx +64 -48
- package/UI/Components/Table/TableRow.tsx +13 -3
- package/UI/Styles/Theme.css +38 -0
- package/Utils/EnterpriseLicense/EnterpriseLicenseSeats.ts +271 -0
- package/Utils/NetworkDiscovery/AutoImportRuleMatcher.ts +6 -0
- package/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.ts +141 -10
- package/Utils/NetworkDiscovery/DiscoveredHostUtil.ts +55 -3
- package/Utils/NetworkDiscovery/ReverseDnsNameUtil.ts +151 -0
- package/Utils/Rules/RuleEngineLimits.ts +32 -0
- package/build/dist/Models/AnalyticsModels/SecurityEvent.js +48 -16
- package/build/dist/Models/AnalyticsModels/SecurityEvent.js.map +1 -1
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js +10 -5
- package/build/dist/Models/AnalyticsModels/ThreatIntelIndicator.js.map +1 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js +46 -1
- package/build/dist/Models/DatabaseModels/AlertSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DetectionRule.js +16 -5
- package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js +14 -5
- package/build/dist/Models/DatabaseModels/GoogleSecOpsConnection.js.map +1 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js +46 -1
- package/build/dist/Models/DatabaseModels/IncidentSeverity.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Index.js +13 -0
- package/build/dist/Models/DatabaseModels/Index.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDevice.js +115 -3
- package/build/dist/Models/DatabaseModels/NetworkDevice.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +88 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js +519 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceOidTemplate.js.map +1 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js +44 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicySchedule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js +699 -0
- package/build/dist/Models/DatabaseModels/OnCallDutyPolicyScheduleCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js +620 -0
- package/build/dist/Models/DatabaseModels/ProjectOnCallCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js +16 -5
- package/build/dist/Models/DatabaseModels/ThreatIntelFeed.js.map +1 -1
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js +585 -0
- package/build/dist/Models/DatabaseModels/UserOnCallCalendarFeed.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js +247 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminder.js.map +1 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js +355 -0
- package/build/dist/Models/DatabaseModels/UserOnCallShiftReminderLog.js.map +1 -0
- package/build/dist/Server/API/GlobalConfigAPI.js +293 -176
- package/build/dist/Server/API/GlobalConfigAPI.js.map +1 -1
- package/build/dist/Server/API/OnCallCalendarAPI.js +1371 -0
- package/build/dist/Server/API/OnCallCalendarAPI.js.map +1 -0
- package/build/dist/Server/API/TelemetryAPI.js +31 -3
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/EnvironmentConfig.js +185 -0
- package/build/dist/Server/EnvironmentConfig.js.map +1 -1
- package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js +663 -0
- package/build/dist/Server/Infrastructure/OnCallCalendarFeedCache.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js +103 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790400000000-AddOnCallCalendarFeeds.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js +26 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790500000000-AddNetworkDeviceOidTemplate.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js +14 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1790600000000-AddAutoImportRuleOidTemplate.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/MultipartFormData.js +93 -28
- package/build/dist/Server/Middleware/MultipartFormData.js.map +1 -1
- package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js +342 -0
- package/build/dist/Server/Middleware/OnCallCalendarFeedRateLimit.js.map +1 -0
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js +8 -1
- package/build/dist/Server/Services/AlertGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AlertPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/AlertReminderRuleService.js +8 -1
- package/build/dist/Server/Services/AlertReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js +8 -1
- package/build/dist/Server/Services/AutoRemediationRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CephClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CephClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CloudResourceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/CloudResourceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DashboardLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DashboardOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerSwarmClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/DockerSwarmClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/HostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/HostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodeOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentEpisodePrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentGroupingEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentOnCallRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncidentPrivacyRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncidentReminderRuleService.js +8 -1
- package/build/dist/Server/Services/IncidentReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js +8 -1
- package/build/dist/Server/Services/IncidentSlaRuleService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncomingCallPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IncomingCallPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +14 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IoTFleetLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/IoTFleetOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/KubernetesClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/KubernetesClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/KubernetesResourceService.js +5 -1
- package/build/dist/Server/Services/KubernetesResourceService.js.map +1 -1
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/MonitorLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/MonitorOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js +30 -21
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js +64 -0
- package/build/dist/Server/Services/NetworkDeviceAutoImportRuleService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/NetworkDeviceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js +180 -0
- package/build/dist/Server/Services/NetworkDeviceOidTemplateService.js.map +1 -0
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/NetworkDeviceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +154 -1
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +20 -0
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js +219 -0
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js +47 -3
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js +112 -3
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleLayerUserService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js +955 -9
- package/build/dist/Server/Services/OnCallDutyPolicyScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js +93 -6
- package/build/dist/Server/Services/OnCallDutyPolicyUserOverrideService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/PodmanHostLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/PodmanHostOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js +157 -0
- package/build/dist/Server/Services/ProjectOnCallCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ProxmoxClusterLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ProxmoxClusterOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RumApplicationLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RumApplicationOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/RunbookRuleEngineService.js +8 -1
- package/build/dist/Server/Services/RunbookRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js +8 -1
- package/build/dist/Server/Services/ScheduledMaintenanceReminderRuleService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServerlessFunctionLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServerlessFunctionOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServiceLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/ServiceOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/StatusPageLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js +6 -0
- package/build/dist/Server/Services/StatusPageMonitorRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/StatusPageOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/TeamMemberService.js +396 -1
- package/build/dist/Server/Services/TeamMemberService.js.map +1 -1
- package/build/dist/Server/Services/TeamService.js +43 -0
- package/build/dist/Server/Services/TeamService.js.map +1 -1
- package/build/dist/Server/Services/TelemetrySourceMapService.js +213 -19
- package/build/dist/Server/Services/TelemetrySourceMapService.js.map +1 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js +26 -1
- package/build/dist/Server/Services/UserNotificationSettingService.js.map +1 -1
- package/build/dist/Server/Services/UserOnCallCalendarFeedService.js +140 -0
- package/build/dist/Server/Services/UserOnCallCalendarFeedService.js.map +1 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js +116 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderLogService.js.map +1 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderService.js +92 -0
- package/build/dist/Server/Services/UserOnCallShiftReminderService.js.map +1 -0
- package/build/dist/Server/Services/UserService.js +25 -0
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js +8 -1
- package/build/dist/Server/Services/WorkflowLabelRuleEngineService.js.map +1 -1
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js +8 -1
- package/build/dist/Server/Services/WorkflowOwnerRuleEngineService.js.map +1 -1
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js +145 -0
- package/build/dist/Server/Utils/EnterpriseLicense/EnterpriseLicenseSeatUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js +201 -0
- package/build/dist/Server/Utils/Monitor/CapturedMetricAttributeUtil.js.map +1 -0
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js +19 -2
- package/build/dist/Server/Utils/Monitor/Criteria/SnmpMonitorCriteria.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js +42 -23
- package/build/dist/Server/Utils/Monitor/MonitorMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js +29 -0
- package/build/dist/Server/Utils/Monitor/MonitorTemplateUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js +11 -2
- package/build/dist/Server/Utils/Monitor/NetworkDeviceMetricUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js +16 -1
- package/build/dist/Server/Utils/Monitor/NetworkDeviceWalkUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js +10 -0
- package/build/dist/Server/Utils/Monitor/NetworkInventoryUtil.js.map +1 -1
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js +33 -0
- package/build/dist/Server/Utils/Monitor/SeriesResourceLabels.js.map +1 -1
- package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js +161 -0
- package/build/dist/Server/Utils/OnCall/CalendarFeedToken.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js +983 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedRenderer.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js +155 -0
- package/build/dist/Server/Utils/OnCall/OnCallCalendarFeedUrls.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js +145 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftChangeListeners.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js +752 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftMaterializer.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js +92 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderListener.js.map +1 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js +1786 -0
- package/build/dist/Server/Utils/OnCall/OnCallShiftReminderRunner.js.map +1 -0
- package/build/dist/Server/Utils/Response.js +97 -0
- package/build/dist/Server/Utils/Response.js.map +1 -1
- package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js +37 -0
- package/build/dist/Server/Utils/Rules/RuleEngineRuleRead.js.map +1 -0
- package/build/dist/Server/Utils/StartServer.js +9 -1
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js +41 -0
- package/build/dist/Server/Utils/Telemetry/AppMetrics.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js +12 -1
- package/build/dist/Server/Utils/Telemetry/ExceptionSanitizer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js +14 -2
- package/build/dist/Server/Utils/Telemetry/LogExceptionExtractor.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js +15 -5
- package/build/dist/Server/Utils/Telemetry/SourceMapResolver.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/StackTraceParser.js +307 -0
- package/build/dist/Server/Utils/Telemetry/StackTraceParser.js.map +1 -1
- package/build/dist/Types/Calendar/ICalendar.js +290 -0
- package/build/dist/Types/Calendar/ICalendar.js.map +1 -0
- package/build/dist/Types/Date.js +27 -0
- package/build/dist/Types/Date.js.map +1 -1
- package/build/dist/Types/Email/EmailTemplateType.js +2 -0
- package/build/dist/Types/Email/EmailTemplateType.js.map +1 -1
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js +253 -0
- package/build/dist/Types/Monitor/SnmpMonitor/SnmpOidListUtil.js.map +1 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js +3 -0
- package/build/dist/Types/NotificationSetting/NotificationSettingEventType.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js +97 -0
- package/build/dist/Types/OnCallDutyPolicy/CalendarFeedWindow.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/Layer.js +113 -19
- package/build/dist/Types/OnCallDutyPolicy/Layer.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js +134 -0
- package/build/dist/Types/OnCallDutyPolicy/MaterializedShift.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js +800 -0
- package/build/dist/Types/OnCallDutyPolicy/OnCallCalendarFeedUtil.js.map +1 -0
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js +97 -3
- package/build/dist/Types/OnCallDutyPolicy/ScheduleShiftUtil.js.map +1 -1
- package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js +77 -0
- package/build/dist/Types/OnCallDutyPolicy/ShiftSeamUtil.js.map +1 -0
- package/build/dist/Types/Permission.js +86 -0
- package/build/dist/Types/Permission.js.map +1 -1
- package/build/dist/Types/Rum/SessionReplay.js +19 -0
- package/build/dist/Types/Rum/SessionReplay.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js +83 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationHoverCard.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js +531 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/AnnotationLayout.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js +264 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/ChartAnnotationLayer.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js +122 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/Annotations/UseChartAnnotations.js.map +1 -0
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js +213 -233
- package/build/dist/UI/Components/Charts/ChartLibrary/AreaChart/AreaChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js +139 -152
- package/build/dist/UI/Components/Charts/ChartLibrary/BarChart/BarChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js +212 -232
- package/build/dist/UI/Components/Charts/ChartLibrary/LineChart/LineChart.js.map +1 -1
- package/build/dist/UI/Components/Charts/Types/ChartEventKind.js +14 -0
- package/build/dist/UI/Components/Charts/Types/ChartEventKind.js.map +1 -0
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js +57 -28
- package/build/dist/UI/Components/Charts/Utils/TimeAnnotation.js.map +1 -1
- package/build/dist/UI/Components/Charts/Utils/XAxis.js +103 -17
- package/build/dist/UI/Components/Charts/Utils/XAxis.js.map +1 -1
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js +198 -23
- package/build/dist/UI/Components/EditionLabel/EditionLabel.js.map +1 -1
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js +15 -5
- package/build/dist/UI/Components/ErrorMessage/ErrorMessage.js.map +1 -1
- package/build/dist/UI/Components/Feed/FeedItem.js +4 -5
- package/build/dist/UI/Components/Feed/FeedItem.js.map +1 -1
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js +1 -2
- package/build/dist/UI/Components/Header/HeaderIconDropdownButton.js.map +1 -1
- package/build/dist/UI/Components/Header/UserProfile/UserProfile.js.map +1 -1
- package/build/dist/UI/Components/Image/Image.js +6 -1
- package/build/dist/UI/Components/Image/Image.js.map +1 -1
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js +0 -0
- package/build/dist/UI/Components/Markdown.tsx/MarkdownConverters.js.map +1 -1
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js +1 -2
- package/build/dist/UI/Components/MemberRoleAssignment/MemberRoleAssignment.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +104 -23
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/Table/TableHeader.js +20 -22
- package/build/dist/UI/Components/Table/TableHeader.js.map +1 -1
- package/build/dist/UI/Components/Table/TableRow.js +13 -4
- package/build/dist/UI/Components/Table/TableRow.js.map +1 -1
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js +153 -0
- package/build/dist/Utils/EnterpriseLicense/EnterpriseLicenseSeats.js.map +1 -0
- package/build/dist/Utils/NetworkDiscovery/AutoImportRuleMatcher.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js +127 -7
- package/build/dist/Utils/NetworkDiscovery/DiscoveredDeviceBuilder.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js +50 -3
- package/build/dist/Utils/NetworkDiscovery/DiscoveredHostUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js +132 -0
- package/build/dist/Utils/NetworkDiscovery/ReverseDnsNameUtil.js.map +1 -0
- package/build/dist/Utils/Rules/RuleEngineLimits.js +31 -0
- package/build/dist/Utils/Rules/RuleEngineLimits.js.map +1 -0
- package/jest.config.json +1 -0
- package/package.json +2 -2
|
@@ -11,6 +11,8 @@ import { IncidentFeedEventType } from "../../Models/DatabaseModels/IncidentFeed"
|
|
|
11
11
|
import { Red500 } from "../../Types/BrandColors";
|
|
12
12
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
13
13
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
14
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
15
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
14
16
|
|
|
15
17
|
class IncidentPrivacyRuleEngineServiceClass {
|
|
16
18
|
/**
|
|
@@ -52,10 +54,16 @@ class IncidentPrivacyRuleEngineServiceClass {
|
|
|
52
54
|
monitorNamePattern: true,
|
|
53
55
|
monitorDescriptionPattern: true,
|
|
54
56
|
},
|
|
55
|
-
limit:
|
|
57
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
56
58
|
skip: 0,
|
|
57
59
|
});
|
|
58
60
|
|
|
61
|
+
logIfRuleReadWasTruncated({
|
|
62
|
+
ruleKind: "IncidentPrivacyRule",
|
|
63
|
+
projectId: incident.projectId,
|
|
64
|
+
rulesRead: rules.length,
|
|
65
|
+
});
|
|
66
|
+
|
|
59
67
|
if (rules.length === 0) {
|
|
60
68
|
return false;
|
|
61
69
|
}
|
|
@@ -15,6 +15,8 @@ import ObjectID from "../../Types/ObjectID";
|
|
|
15
15
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
16
16
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
17
17
|
import { IsBillingEnabled } from "../EnvironmentConfig";
|
|
18
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
19
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
18
20
|
|
|
19
21
|
export class Service extends DatabaseService<Model> {
|
|
20
22
|
public constructor() {
|
|
@@ -193,13 +195,19 @@ export class Service extends DatabaseService<Model> {
|
|
|
193
195
|
_id: true,
|
|
194
196
|
},
|
|
195
197
|
},
|
|
196
|
-
limit:
|
|
198
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
197
199
|
skip: 0,
|
|
198
200
|
props: {
|
|
199
201
|
isRoot: true,
|
|
200
202
|
},
|
|
201
203
|
});
|
|
202
204
|
|
|
205
|
+
logIfRuleReadWasTruncated({
|
|
206
|
+
ruleKind: "IncidentReminderRule",
|
|
207
|
+
projectId: data.projectId,
|
|
208
|
+
rulesRead: rules.length,
|
|
209
|
+
});
|
|
210
|
+
|
|
203
211
|
for (const rule of rules) {
|
|
204
212
|
if (rule.incidentSeverities && rule.incidentSeverities.length > 0) {
|
|
205
213
|
if (!data.incidentSeverityId) {
|
|
@@ -13,6 +13,8 @@ import logger, { LogAttributes } from "../Utils/Logger";
|
|
|
13
13
|
import { IsBillingEnabled } from "../EnvironmentConfig";
|
|
14
14
|
import MonitorService from "./MonitorService";
|
|
15
15
|
import IncidentService from "./IncidentService";
|
|
16
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
17
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
16
18
|
|
|
17
19
|
export class Service extends DatabaseService<Model> {
|
|
18
20
|
public constructor() {
|
|
@@ -132,13 +134,19 @@ export class Service extends DatabaseService<Model> {
|
|
|
132
134
|
incidentTitlePattern: true,
|
|
133
135
|
incidentDescriptionPattern: true,
|
|
134
136
|
},
|
|
135
|
-
limit:
|
|
137
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
136
138
|
skip: 0,
|
|
137
139
|
props: {
|
|
138
140
|
isRoot: true,
|
|
139
141
|
},
|
|
140
142
|
});
|
|
141
143
|
|
|
144
|
+
logIfRuleReadWasTruncated({
|
|
145
|
+
ruleKind: "IncidentSlaRule",
|
|
146
|
+
projectId: data.projectId,
|
|
147
|
+
rulesRead: rules.length,
|
|
148
|
+
});
|
|
149
|
+
|
|
142
150
|
if (rules.length === 0) {
|
|
143
151
|
logger.debug(`No enabled SLA rules found for project ${data.projectId}`, {
|
|
144
152
|
projectId: data.projectId?.toString(),
|
|
@@ -6,6 +6,8 @@ import IncomingCallPolicyService from "./IncomingCallPolicyService";
|
|
|
6
6
|
import ObjectID from "../../Types/ObjectID";
|
|
7
7
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
8
8
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
9
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
10
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
9
11
|
|
|
10
12
|
class IncomingCallPolicyLabelRuleEngineServiceClass {
|
|
11
13
|
@CaptureSpan()
|
|
@@ -32,10 +34,16 @@ class IncomingCallPolicyLabelRuleEngineServiceClass {
|
|
|
32
34
|
incomingCallPolicyDescriptionPattern: true,
|
|
33
35
|
labelsToAdd: { _id: true },
|
|
34
36
|
},
|
|
35
|
-
limit:
|
|
37
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
36
38
|
skip: 0,
|
|
37
39
|
});
|
|
38
40
|
|
|
41
|
+
logIfRuleReadWasTruncated({
|
|
42
|
+
ruleKind: "IncomingCallPolicyLabelRule",
|
|
43
|
+
projectId: policy.projectId,
|
|
44
|
+
rulesRead: rules.length,
|
|
45
|
+
});
|
|
46
|
+
|
|
39
47
|
if (rules.length === 0) {
|
|
40
48
|
return;
|
|
41
49
|
}
|
|
@@ -10,6 +10,8 @@ import IncomingCallPolicyService from "./IncomingCallPolicyService";
|
|
|
10
10
|
import ObjectID from "../../Types/ObjectID";
|
|
11
11
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
12
12
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
13
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
14
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
13
15
|
|
|
14
16
|
class IncomingCallPolicyOwnerRuleEngineServiceClass {
|
|
15
17
|
@CaptureSpan()
|
|
@@ -38,10 +40,16 @@ class IncomingCallPolicyOwnerRuleEngineServiceClass {
|
|
|
38
40
|
ownerUsers: { _id: true },
|
|
39
41
|
ownerTeams: { _id: true },
|
|
40
42
|
},
|
|
41
|
-
limit:
|
|
43
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
42
44
|
skip: 0,
|
|
43
45
|
});
|
|
44
46
|
|
|
47
|
+
logIfRuleReadWasTruncated({
|
|
48
|
+
ruleKind: "IncomingCallPolicyOwnerRule",
|
|
49
|
+
projectId: policy.projectId,
|
|
50
|
+
rulesRead: rules.length,
|
|
51
|
+
});
|
|
52
|
+
|
|
45
53
|
if (rules.length === 0) {
|
|
46
54
|
return;
|
|
47
55
|
}
|
package/Server/Services/Index.ts
CHANGED
|
@@ -61,6 +61,7 @@ import NetworkDeviceOwnerUserService from "./NetworkDeviceOwnerUserService";
|
|
|
61
61
|
import NetworkDeviceOwnerRuleService from "./NetworkDeviceOwnerRuleService";
|
|
62
62
|
import NetworkDeviceLabelRuleService from "./NetworkDeviceLabelRuleService";
|
|
63
63
|
import NetworkDeviceAutoImportRuleService from "./NetworkDeviceAutoImportRuleService";
|
|
64
|
+
import NetworkDeviceOidTemplateService from "./NetworkDeviceOidTemplateService";
|
|
64
65
|
import NetworkDeviceDiscoveryScanService from "./NetworkDeviceDiscoveryScanService";
|
|
65
66
|
import NetworkInterfaceService from "./NetworkInterfaceService";
|
|
66
67
|
import NetworkSiteService from "./NetworkSiteService";
|
|
@@ -166,6 +167,12 @@ import OnCallDutyPolicyScheduleOwnerTeamService from "./OnCallDutyPolicySchedule
|
|
|
166
167
|
import OnCallDutyPolicyScheduleLabelRuleService from "./OnCallDutyPolicyScheduleLabelRuleService";
|
|
167
168
|
import OnCallDutyPolicyScheduleLayerUserService from "./OnCallDutyPolicyScheduleLayerUserService";
|
|
168
169
|
import OnCallDutyPolicyScheduleService from "./OnCallDutyPolicyScheduleService";
|
|
170
|
+
// On-call calendar feeds and shift reminders
|
|
171
|
+
import UserOnCallCalendarFeedService from "./UserOnCallCalendarFeedService";
|
|
172
|
+
import OnCallDutyPolicyScheduleCalendarFeedService from "./OnCallDutyPolicyScheduleCalendarFeedService";
|
|
173
|
+
import ProjectOnCallCalendarFeedService from "./ProjectOnCallCalendarFeedService";
|
|
174
|
+
import UserOnCallShiftReminderService from "./UserOnCallShiftReminderService";
|
|
175
|
+
import UserOnCallShiftReminderLogService from "./UserOnCallShiftReminderLogService";
|
|
169
176
|
// On-Call Duty
|
|
170
177
|
import OnCallDutyPolicyService from "./OnCallDutyPolicyService";
|
|
171
178
|
import ProbeService from "./ProbeService";
|
|
@@ -500,6 +507,7 @@ const services: Array<BaseService> = [
|
|
|
500
507
|
NetworkDeviceOwnerRuleService,
|
|
501
508
|
NetworkDeviceLabelRuleService,
|
|
502
509
|
NetworkDeviceAutoImportRuleService,
|
|
510
|
+
NetworkDeviceOidTemplateService,
|
|
503
511
|
NetworkDeviceDiscoveryScanService,
|
|
504
512
|
NetworkInterfaceService,
|
|
505
513
|
NetworkSiteService,
|
|
@@ -688,6 +696,12 @@ const services: Array<BaseService> = [
|
|
|
688
696
|
OnCallDutyPolicyScheduleOwnerTeamService,
|
|
689
697
|
OnCallDutyPolicyScheduleLabelRuleService,
|
|
690
698
|
OnCallDutyPolicyScheduleLayerUserService,
|
|
699
|
+
// On-call calendar feeds and shift reminders
|
|
700
|
+
UserOnCallCalendarFeedService,
|
|
701
|
+
OnCallDutyPolicyScheduleCalendarFeedService,
|
|
702
|
+
ProjectOnCallCalendarFeedService,
|
|
703
|
+
UserOnCallShiftReminderService,
|
|
704
|
+
UserOnCallShiftReminderLogService,
|
|
691
705
|
OnCallDutyPolicyScheduleLayerService,
|
|
692
706
|
OnCallDutyPolicyEscalationRuleScheduleService,
|
|
693
707
|
|
|
@@ -6,6 +6,8 @@ import IoTFleetService from "./IoTFleetService";
|
|
|
6
6
|
import ObjectID from "../../Types/ObjectID";
|
|
7
7
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
8
8
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
9
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
10
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
9
11
|
|
|
10
12
|
class IoTFleetLabelRuleEngineServiceClass {
|
|
11
13
|
/**
|
|
@@ -35,10 +37,16 @@ class IoTFleetLabelRuleEngineServiceClass {
|
|
|
35
37
|
iotFleetDescriptionPattern: true,
|
|
36
38
|
labelsToAdd: { _id: true },
|
|
37
39
|
},
|
|
38
|
-
limit:
|
|
40
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
39
41
|
skip: 0,
|
|
40
42
|
});
|
|
41
43
|
|
|
44
|
+
logIfRuleReadWasTruncated({
|
|
45
|
+
ruleKind: "IoTFleetLabelRule",
|
|
46
|
+
projectId: iotFleet.projectId,
|
|
47
|
+
rulesRead: rules.length,
|
|
48
|
+
});
|
|
49
|
+
|
|
42
50
|
if (rules.length === 0) {
|
|
43
51
|
return;
|
|
44
52
|
}
|
|
@@ -10,6 +10,8 @@ import IoTFleetService from "./IoTFleetService";
|
|
|
10
10
|
import ObjectID from "../../Types/ObjectID";
|
|
11
11
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
12
12
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
13
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
14
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
13
15
|
|
|
14
16
|
class IoTFleetOwnerRuleEngineServiceClass {
|
|
15
17
|
/**
|
|
@@ -42,10 +44,16 @@ class IoTFleetOwnerRuleEngineServiceClass {
|
|
|
42
44
|
ownerUsers: { _id: true },
|
|
43
45
|
ownerTeams: { _id: true },
|
|
44
46
|
},
|
|
45
|
-
limit:
|
|
47
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
46
48
|
skip: 0,
|
|
47
49
|
});
|
|
48
50
|
|
|
51
|
+
logIfRuleReadWasTruncated({
|
|
52
|
+
ruleKind: "IoTFleetOwnerRule",
|
|
53
|
+
projectId: iotFleet.projectId,
|
|
54
|
+
rulesRead: rules.length,
|
|
55
|
+
});
|
|
56
|
+
|
|
49
57
|
if (rules.length === 0) {
|
|
50
58
|
return;
|
|
51
59
|
}
|
|
@@ -9,6 +9,8 @@ import { Purple500 } from "../../Types/BrandColors";
|
|
|
9
9
|
import ObjectID from "../../Types/ObjectID";
|
|
10
10
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
11
11
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
12
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
13
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
12
14
|
|
|
13
15
|
class KubernetesClusterLabelRuleEngineServiceClass {
|
|
14
16
|
/**
|
|
@@ -40,10 +42,16 @@ class KubernetesClusterLabelRuleEngineServiceClass {
|
|
|
40
42
|
kubernetesClusterDescriptionPattern: true,
|
|
41
43
|
labelsToAdd: { _id: true },
|
|
42
44
|
},
|
|
43
|
-
limit:
|
|
45
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
44
46
|
skip: 0,
|
|
45
47
|
});
|
|
46
48
|
|
|
49
|
+
logIfRuleReadWasTruncated({
|
|
50
|
+
ruleKind: "KubernetesClusterLabelRule",
|
|
51
|
+
projectId: kubernetesCluster.projectId,
|
|
52
|
+
rulesRead: rules.length,
|
|
53
|
+
});
|
|
54
|
+
|
|
47
55
|
if (rules.length === 0) {
|
|
48
56
|
return;
|
|
49
57
|
}
|
|
@@ -13,6 +13,8 @@ import { Purple500 } from "../../Types/BrandColors";
|
|
|
13
13
|
import ObjectID from "../../Types/ObjectID";
|
|
14
14
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
15
15
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
16
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
17
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
16
18
|
|
|
17
19
|
class KubernetesClusterOwnerRuleEngineServiceClass {
|
|
18
20
|
/**
|
|
@@ -47,10 +49,16 @@ class KubernetesClusterOwnerRuleEngineServiceClass {
|
|
|
47
49
|
ownerUsers: { _id: true },
|
|
48
50
|
ownerTeams: { _id: true },
|
|
49
51
|
},
|
|
50
|
-
limit:
|
|
52
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
51
53
|
skip: 0,
|
|
52
54
|
});
|
|
53
55
|
|
|
56
|
+
logIfRuleReadWasTruncated({
|
|
57
|
+
ruleKind: "KubernetesClusterOwnerRule",
|
|
58
|
+
projectId: kubernetesCluster.projectId,
|
|
59
|
+
rulesRead: rules.length,
|
|
60
|
+
});
|
|
61
|
+
|
|
54
62
|
if (rules.length === 0) {
|
|
55
63
|
return;
|
|
56
64
|
}
|
|
@@ -946,7 +946,11 @@ export class Service extends DatabaseService<Model> {
|
|
|
946
946
|
|
|
947
947
|
/**
|
|
948
948
|
* Helper for the cleanup worker: snapshot-interval aware cutoff.
|
|
949
|
-
* 3× the 5-minute snapshot interval. Tune via
|
|
949
|
+
* 3× the 5-minute snapshot interval by default. Tune via
|
|
950
|
+
* K8S_INVENTORY_STALE_MINUTES — a value below 5 is ignored and the
|
|
951
|
+
* 15-minute default applies, so it is not clamped to the floor. Keep the
|
|
952
|
+
* threshold above the agent's resourceSpecs interval: CleanupStaleResources
|
|
953
|
+
* hard-deletes inventory rows whose lastSeenAt is older than this cutoff.
|
|
950
954
|
*/
|
|
951
955
|
public getStaleThresholdDate(nowOverride?: Date): Date {
|
|
952
956
|
const minutes: number = this.getStaleThresholdMinutes();
|
|
@@ -12,6 +12,8 @@ import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
|
12
12
|
import QueryHelper from "../Types/Database/QueryHelper";
|
|
13
13
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
14
14
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
15
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
16
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
15
17
|
|
|
16
18
|
class MonitorLabelRuleEngineServiceClass {
|
|
17
19
|
/**
|
|
@@ -41,10 +43,16 @@ class MonitorLabelRuleEngineServiceClass {
|
|
|
41
43
|
monitorDescriptionPattern: true,
|
|
42
44
|
labelsToAdd: { _id: true },
|
|
43
45
|
},
|
|
44
|
-
limit:
|
|
46
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
45
47
|
skip: 0,
|
|
46
48
|
});
|
|
47
49
|
|
|
50
|
+
logIfRuleReadWasTruncated({
|
|
51
|
+
ruleKind: "MonitorLabelRule",
|
|
52
|
+
projectId: monitor.projectId,
|
|
53
|
+
rulesRead: rules.length,
|
|
54
|
+
});
|
|
55
|
+
|
|
48
56
|
if (rules.length === 0) {
|
|
49
57
|
return;
|
|
50
58
|
}
|
|
@@ -15,6 +15,8 @@ import LIMIT_MAX from "../../Types/Database/LimitMax";
|
|
|
15
15
|
import QueryHelper from "../Types/Database/QueryHelper";
|
|
16
16
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
17
17
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
18
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
19
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
18
20
|
|
|
19
21
|
class MonitorOwnerRuleEngineServiceClass {
|
|
20
22
|
/**
|
|
@@ -46,10 +48,16 @@ class MonitorOwnerRuleEngineServiceClass {
|
|
|
46
48
|
ownerUsers: { _id: true },
|
|
47
49
|
ownerTeams: { _id: true },
|
|
48
50
|
},
|
|
49
|
-
limit:
|
|
51
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
50
52
|
skip: 0,
|
|
51
53
|
});
|
|
52
54
|
|
|
55
|
+
logIfRuleReadWasTruncated({
|
|
56
|
+
ruleKind: "MonitorOwnerRule",
|
|
57
|
+
projectId: monitor.projectId,
|
|
58
|
+
rulesRead: rules.length,
|
|
59
|
+
});
|
|
60
|
+
|
|
53
61
|
if (rules.length === 0) {
|
|
54
62
|
return;
|
|
55
63
|
}
|
|
@@ -399,6 +399,7 @@ class NetworkDeviceAutoImportRuleEngineServiceClass {
|
|
|
399
399
|
sysObjectIdPattern: true,
|
|
400
400
|
includePingOnlyHosts: true,
|
|
401
401
|
monitorTemplateId: true,
|
|
402
|
+
oidTemplateId: true,
|
|
402
403
|
},
|
|
403
404
|
props: { isRoot: true },
|
|
404
405
|
});
|
|
@@ -695,6 +696,7 @@ class NetworkDeviceAutoImportRuleEngineServiceClass {
|
|
|
695
696
|
sysObjectIdPattern: true,
|
|
696
697
|
includePingOnlyHosts: true,
|
|
697
698
|
monitorTemplateId: true,
|
|
699
|
+
oidTemplateId: true,
|
|
698
700
|
},
|
|
699
701
|
sort: {
|
|
700
702
|
createdAt: SortOrder.Ascending,
|
|
@@ -1119,6 +1121,31 @@ class NetworkDeviceAutoImportRuleEngineServiceClass {
|
|
|
1119
1121
|
),
|
|
1120
1122
|
);
|
|
1121
1123
|
|
|
1124
|
+
/*
|
|
1125
|
+
* The OID Collection Template the imported device is LINKED to.
|
|
1126
|
+
*
|
|
1127
|
+
* A device carries at most one, so unlike the monitor templates above
|
|
1128
|
+
* this is not a set: the first matching rule that names one wins, and
|
|
1129
|
+
* rules are already in a deterministic order. Linking here is what
|
|
1130
|
+
* makes the template a device TYPE rather than a shortcut - without it
|
|
1131
|
+
* every scan would import devices that somebody has to go back and
|
|
1132
|
+
* bulk-assign by hand, which is the chore issue #3507 is about.
|
|
1133
|
+
*/
|
|
1134
|
+
const oidTemplateIdForHost: ObjectID | undefined = (():
|
|
1135
|
+
| ObjectID
|
|
1136
|
+
| undefined => {
|
|
1137
|
+
for (const matchedRule of evaluation.matchedRules) {
|
|
1138
|
+
const candidateId: string =
|
|
1139
|
+
matchedRule.oidTemplateId?.toString() || "";
|
|
1140
|
+
|
|
1141
|
+
if (candidateId) {
|
|
1142
|
+
return new ObjectID(candidateId);
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
return undefined;
|
|
1147
|
+
})();
|
|
1148
|
+
|
|
1122
1149
|
let networkDevice: NetworkDevice | undefined = data.existingDevices.get(
|
|
1123
1150
|
host.ipAddress,
|
|
1124
1151
|
);
|
|
@@ -1168,6 +1195,9 @@ class NetworkDeviceAutoImportRuleEngineServiceClass {
|
|
|
1168
1195
|
host: host,
|
|
1169
1196
|
scan: scan,
|
|
1170
1197
|
autoApplyVendorHealthTemplate: true,
|
|
1198
|
+
...(oidTemplateIdForHost
|
|
1199
|
+
? { oidTemplateId: oidTemplateIdForHost }
|
|
1200
|
+
: {}),
|
|
1171
1201
|
});
|
|
1172
1202
|
networkDevice.id = ObjectID.generate();
|
|
1173
1203
|
data.existingDevices.set(host.ipAddress, networkDevice);
|
|
@@ -1182,6 +1212,9 @@ class NetworkDeviceAutoImportRuleEngineServiceClass {
|
|
|
1182
1212
|
existingDevices: data.existingDevices,
|
|
1183
1213
|
result: result,
|
|
1184
1214
|
attempts: data.attempts,
|
|
1215
|
+
...(oidTemplateIdForHost
|
|
1216
|
+
? { oidTemplateId: oidTemplateIdForHost }
|
|
1217
|
+
: {}),
|
|
1185
1218
|
});
|
|
1186
1219
|
|
|
1187
1220
|
networkDevice = createResult.device || undefined;
|
|
@@ -1447,6 +1480,7 @@ class NetworkDeviceAutoImportRuleEngineServiceClass {
|
|
|
1447
1480
|
* and one retry under the address-suffixed fallback name settles it.
|
|
1448
1481
|
*/
|
|
1449
1482
|
private async createDeviceForHost(data: {
|
|
1483
|
+
oidTemplateId?: ObjectID | undefined;
|
|
1450
1484
|
projectId: ObjectID;
|
|
1451
1485
|
scan: NetworkDeviceDiscoveryScan;
|
|
1452
1486
|
host: DiscoveredNetworkDevice;
|
|
@@ -1471,6 +1505,7 @@ class NetworkDeviceAutoImportRuleEngineServiceClass {
|
|
|
1471
1505
|
* OIDs instead (NetworkInventoryUtil).
|
|
1472
1506
|
*/
|
|
1473
1507
|
autoApplyVendorHealthTemplate: true,
|
|
1508
|
+
...(data.oidTemplateId ? { oidTemplateId: data.oidTemplateId } : {}),
|
|
1474
1509
|
});
|
|
1475
1510
|
|
|
1476
1511
|
const created: NetworkDevice = await NetworkDeviceService.create({
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import DatabaseService from "./DatabaseService";
|
|
2
2
|
import MonitorTemplateService from "./MonitorTemplateService";
|
|
3
|
+
import NetworkDeviceOidTemplateService from "./NetworkDeviceOidTemplateService";
|
|
3
4
|
import Model from "../../Models/DatabaseModels/NetworkDeviceAutoImportRule";
|
|
4
5
|
import Monitor from "../../Models/DatabaseModels/Monitor";
|
|
5
6
|
import MonitorTemplate from "../../Models/DatabaseModels/MonitorTemplate";
|
|
7
|
+
import NetworkDeviceOidTemplate from "../../Models/DatabaseModels/NetworkDeviceOidTemplate";
|
|
6
8
|
import { OnCreate, OnUpdate } from "../Types/Database/Hooks";
|
|
7
9
|
import CreateBy from "../Types/Database/CreateBy";
|
|
8
10
|
import UpdateBy from "../Types/Database/UpdateBy";
|
|
@@ -46,6 +48,16 @@ function readMonitorTemplateId(data: Record<string, unknown>): ObjectID | null {
|
|
|
46
48
|
);
|
|
47
49
|
}
|
|
48
50
|
|
|
51
|
+
const OID_TEMPLATE_KEYS: Array<string> = ["oidTemplateId", "oidTemplate"];
|
|
52
|
+
|
|
53
|
+
function readOidTemplateId(data: Record<string, unknown>): ObjectID | null {
|
|
54
|
+
return RelationIdUtil.readConsistent(
|
|
55
|
+
data,
|
|
56
|
+
OID_TEMPLATE_KEYS,
|
|
57
|
+
"OID Collection Template",
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
|
|
49
61
|
export class Service extends DatabaseService<Model> {
|
|
50
62
|
public constructor() {
|
|
51
63
|
super(Model);
|
|
@@ -76,6 +88,18 @@ export class Service extends DatabaseService<Model> {
|
|
|
76
88
|
});
|
|
77
89
|
}
|
|
78
90
|
|
|
91
|
+
const oidTemplateId: ObjectID | null = readOidTemplateId(
|
|
92
|
+
createBy.data as unknown as Record<string, unknown>,
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
if (oidTemplateId) {
|
|
96
|
+
await this.validateOidTemplateSelection({
|
|
97
|
+
oidTemplateId: oidTemplateId,
|
|
98
|
+
projectId: createBy.props.tenantId || createBy.data.projectId,
|
|
99
|
+
props: createBy.props,
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
79
103
|
return { createBy, carryForward: null };
|
|
80
104
|
}
|
|
81
105
|
|
|
@@ -97,6 +121,31 @@ export class Service extends DatabaseService<Model> {
|
|
|
97
121
|
dataKeys.includes("includePingOnlyHosts") ||
|
|
98
122
|
dataKeys.includes("isEnabled");
|
|
99
123
|
|
|
124
|
+
const isOidTemplateChange: boolean = RelationIdUtil.isWritten(
|
|
125
|
+
dataKeys,
|
|
126
|
+
OID_TEMPLATE_KEYS,
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
/*
|
|
130
|
+
* Validated before the early return and independently of the rest: an OID
|
|
131
|
+
* Collection Template is the collect half of the rule, so pointing at one
|
|
132
|
+
* is legitimate on its own and must not need a criteria or monitor change
|
|
133
|
+
* to be checked.
|
|
134
|
+
*/
|
|
135
|
+
if (isOidTemplateChange) {
|
|
136
|
+
const writtenOidTemplateId: ObjectID | null = readOidTemplateId(
|
|
137
|
+
updateBy.data as unknown as Record<string, unknown>,
|
|
138
|
+
);
|
|
139
|
+
|
|
140
|
+
if (writtenOidTemplateId) {
|
|
141
|
+
await this.validateOidTemplateSelection({
|
|
142
|
+
oidTemplateId: writtenOidTemplateId,
|
|
143
|
+
projectId: updateBy.props.tenantId,
|
|
144
|
+
props: updateBy.props,
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
100
149
|
if (!isCriteriaChange && !isMonitorProvisioningChange) {
|
|
101
150
|
return { updateBy, carryForward: null };
|
|
102
151
|
}
|
|
@@ -205,6 +254,53 @@ export class Service extends DatabaseService<Model> {
|
|
|
205
254
|
return { updateBy, carryForward: null };
|
|
206
255
|
}
|
|
207
256
|
|
|
257
|
+
/*
|
|
258
|
+
* A rule may only name an OID Collection Template from its own project.
|
|
259
|
+
*
|
|
260
|
+
* Without this, a rule could hold a cross-project reference: the read is
|
|
261
|
+
* tenant-scoped only at the ROOT query, so the rules list would render
|
|
262
|
+
* another project's template name, and every device the rule imported would
|
|
263
|
+
* be created pointing at it. NetworkDeviceService refuses that link, so the
|
|
264
|
+
* devices would simply come out unconfigured — a silent, confusing failure
|
|
265
|
+
* whose cause is one field on a rule nobody is looking at.
|
|
266
|
+
*
|
|
267
|
+
* The read carries the caller's own props, exactly as the monitor-template
|
|
268
|
+
* check does: selecting a template is also a read of it, so a user who
|
|
269
|
+
* cannot see it must not be able to attach it.
|
|
270
|
+
*/
|
|
271
|
+
private async validateOidTemplateSelection(data: {
|
|
272
|
+
oidTemplateId: ObjectID;
|
|
273
|
+
projectId: ObjectID | undefined;
|
|
274
|
+
props: DatabaseCommonInteractionProps;
|
|
275
|
+
}): Promise<void> {
|
|
276
|
+
if (!data.projectId) {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
const oidTemplate: NetworkDeviceOidTemplate | null =
|
|
281
|
+
await NetworkDeviceOidTemplateService.findOneById({
|
|
282
|
+
id: data.oidTemplateId,
|
|
283
|
+
select: {
|
|
284
|
+
_id: true,
|
|
285
|
+
projectId: true,
|
|
286
|
+
},
|
|
287
|
+
props: data.props,
|
|
288
|
+
});
|
|
289
|
+
|
|
290
|
+
if (!oidTemplate) {
|
|
291
|
+
throw new BadDataException("OID Collection Template not found.");
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
if (
|
|
295
|
+
!oidTemplate.projectId ||
|
|
296
|
+
oidTemplate.projectId.toString() !== data.projectId.toString()
|
|
297
|
+
) {
|
|
298
|
+
throw new BadDataException(
|
|
299
|
+
"OID Collection Template must belong to the same project.",
|
|
300
|
+
);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
208
304
|
private async validateMonitorTemplateSelection(data: {
|
|
209
305
|
monitorTemplateId: ObjectID;
|
|
210
306
|
projectId: ObjectID | undefined;
|
|
@@ -10,6 +10,8 @@ import { LabelRuleRunResult } from "../../Types/NetworkAutomation/RuleRunResult"
|
|
|
10
10
|
import RulePatternMatchUtil from "../../Utils/Rules/RulePatternMatchUtil";
|
|
11
11
|
import CaptureSpan from "../Utils/Telemetry/CaptureSpan";
|
|
12
12
|
import logger, { LogAttributes } from "../Utils/Logger";
|
|
13
|
+
import { MAX_RULES_EVALUATED_PER_PROJECT } from "../../Utils/Rules/RuleEngineLimits";
|
|
14
|
+
import logIfRuleReadWasTruncated from "../Utils/Rules/RuleEngineRuleRead";
|
|
13
15
|
|
|
14
16
|
/*
|
|
15
17
|
* Bounds on one manual "Run now" of a label rule. The automatic path only
|
|
@@ -65,10 +67,16 @@ class NetworkDeviceLabelRuleEngineServiceClass {
|
|
|
65
67
|
networkDeviceDescriptionPattern: true,
|
|
66
68
|
labelsToAdd: { _id: true },
|
|
67
69
|
},
|
|
68
|
-
limit:
|
|
70
|
+
limit: MAX_RULES_EVALUATED_PER_PROJECT,
|
|
69
71
|
skip: 0,
|
|
70
72
|
});
|
|
71
73
|
|
|
74
|
+
logIfRuleReadWasTruncated({
|
|
75
|
+
ruleKind: "NetworkDeviceLabelRule",
|
|
76
|
+
projectId: networkDevice.projectId,
|
|
77
|
+
rulesRead: rules.length,
|
|
78
|
+
});
|
|
79
|
+
|
|
72
80
|
if (rules.length === 0) {
|
|
73
81
|
return;
|
|
74
82
|
}
|