diff --git a/pkg/services/ngalert/notifier/alerts.go b/pkg/services/ngalert/notifier/alerts.go index 2052b2a99d6..ed55a72e4ef 100644 --- a/pkg/services/ngalert/notifier/alerts.go +++ b/pkg/services/ngalert/notifier/alerts.go @@ -13,3 +13,7 @@ func (am *alertmanager) GetAlerts(_ context.Context, active, silenced, inhibited func (am *alertmanager) GetAlertGroups(_ context.Context, active, silenced, inhibited bool, filter []string, receivers string) (alertingNotify.AlertGroups, error) { return am.Base.GetAlertGroups(active, silenced, inhibited, filter, receivers) } + +func (am *alertmanager) MergeNflog(b []byte) error { + return am.Base.MergeNflog(b) +} diff --git a/pkg/services/ngalert/notifier/multiorg_alertmanager.go b/pkg/services/ngalert/notifier/multiorg_alertmanager.go index 603cae34652..ddde2ad8e89 100644 --- a/pkg/services/ngalert/notifier/multiorg_alertmanager.go +++ b/pkg/services/ngalert/notifier/multiorg_alertmanager.go @@ -77,6 +77,12 @@ type Alertmanager interface { Ready() bool } +// StateMerger describes a type that is able to merge external state (nflog, silences) with its own. +type StateMerger interface { + MergeNflog([]byte) error + MergeSilences([]byte) error +} + type MultiOrgAlertmanager struct { Crypto Crypto ProvStore provisioningStore diff --git a/pkg/services/ngalert/notifier/silences.go b/pkg/services/ngalert/notifier/silences.go index 905fe231f8d..dca86cb12cf 100644 --- a/pkg/services/ngalert/notifier/silences.go +++ b/pkg/services/ngalert/notifier/silences.go @@ -21,3 +21,7 @@ func (am *alertmanager) CreateSilence(_ context.Context, ps *alertingNotify.Post func (am *alertmanager) DeleteSilence(_ context.Context, silenceID string) error { return am.Base.DeleteSilence(silenceID) } + +func (am *alertmanager) MergeSilences(b []byte) error { + return am.Base.MergeSilences(b) +}