diff --git a/api/external_endpoint.go b/api/external_endpoint.go index 16c1d088..a1a8ee91 100644 --- a/api/external_endpoint.go +++ b/api/external_endpoint.go @@ -68,11 +68,20 @@ func CreateExternalEndpointResult(cfg *config.Config) fiber.Handler { return c.Status(500).SendString(err.Error()) } logr.Infof("[api.CreateExternalEndpointResult] Successfully inserted result for external endpoint with key=%s and success=%s", c.Params("key"), success) + inEndpointMaintenanceWindow := false + for _, maintenanceWindow := range externalEndpoint.MaintenanceWindows { + if maintenanceWindow.IsUnderMaintenance() { + logr.Debug("[api.CreateExternalEndpointResult] Under endpoint maintenance window") + inEndpointMaintenanceWindow = true + } + } // Check if an alert should be triggered or resolved - if !cfg.Maintenance.IsUnderMaintenance() { + if !cfg.Maintenance.IsUnderMaintenance() && !inEndpointMaintenanceWindow { watchdog.HandleAlerting(convertedEndpoint, result, cfg.Alerting) externalEndpoint.NumberOfSuccessesInARow = convertedEndpoint.NumberOfSuccessesInARow externalEndpoint.NumberOfFailuresInARow = convertedEndpoint.NumberOfFailuresInARow + } else { + logr.Debug("[api.CreateExternalEndpointResult] Not handling alerting because currently in the maintenance window") } if cfg.Metrics { metrics.PublishMetricsForEndpoint(convertedEndpoint, result, extraLabels)