diff --git a/cmd/karma/views.go b/cmd/karma/views.go index 131c07f1f..5d42fce9a 100644 --- a/cmd/karma/views.go +++ b/cmd/karma/views.go @@ -443,6 +443,18 @@ func silences(c *gin.Context) { searchTerm = strings.ToLower(searchTermValue) } + clusters := []string{} + if searchTerm != "" { + upstreams := getUpstreams() + for _, u := range upstreams.Instances { + if strings.ToLower(u.Name) == searchTerm { + if !slices.StringInSlice(clusters, u.Cluster) { + clusters = append(clusters, u.Cluster) + } + } + } + } + for _, silence := range alertmanager.DedupSilences() { if silence.IsExpired && !showExpired { continue @@ -451,6 +463,8 @@ func silences(c *gin.Context) { isMatch := false if strings.ToLower(silence.Silence.ID) == searchTerm { isMatch = true + } else if slices.StringInSlice(clusters, silence.Cluster) { + isMatch = true } else if strings.Contains(strings.ToLower(silence.Silence.Comment), searchTerm) { isMatch = true } else if strings.Contains(strings.ToLower(silence.Silence.CreatedBy), searchTerm) {