mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Alerting: Separate the forked Alertmanager into two implementations (#77582)
This commit is contained in:
parent
0abfc3b6be
commit
01af8f61f1
@ -1,94 +0,0 @@
|
|||||||
package remote
|
|
||||||
|
|
||||||
import (
|
|
||||||
"context"
|
|
||||||
|
|
||||||
apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
|
|
||||||
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
|
||||||
"github.com/grafana/grafana/pkg/services/ngalert/notifier"
|
|
||||||
)
|
|
||||||
|
|
||||||
type Mode int
|
|
||||||
|
|
||||||
const (
|
|
||||||
ModeRemoteSecondary Mode = iota
|
|
||||||
ModeRemotePrimary
|
|
||||||
)
|
|
||||||
|
|
||||||
type ForkedAlertmanager struct {
|
|
||||||
internal notifier.Alertmanager
|
|
||||||
remote notifier.Alertmanager
|
|
||||||
mode Mode
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewForkedAlertmanager(internal, remote notifier.Alertmanager, m Mode) *ForkedAlertmanager {
|
|
||||||
return &ForkedAlertmanager{
|
|
||||||
internal: internal,
|
|
||||||
remote: remote,
|
|
||||||
mode: m,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) ApplyConfig(ctx context.Context, config *models.AlertConfiguration) error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) SaveAndApplyConfig(ctx context.Context, config *apimodels.PostableUserConfig) error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) SaveAndApplyDefaultConfig(ctx context.Context) error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) GetStatus() apimodels.GettableStatus {
|
|
||||||
return apimodels.GettableStatus{}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) CreateSilence(ctx context.Context, silence *apimodels.PostableSilence) (string, error) {
|
|
||||||
return "", nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) DeleteSilence(ctx context.Context, id string) error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) GetSilence(ctx context.Context, id string) (apimodels.GettableSilence, error) {
|
|
||||||
return apimodels.GettableSilence{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) ListSilences(ctx context.Context, filter []string) (apimodels.GettableSilences, error) {
|
|
||||||
return apimodels.GettableSilences{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) GetAlerts(ctx context.Context, active, silenced, inhibited bool, filter []string, receiver string) (apimodels.GettableAlerts, error) {
|
|
||||||
return apimodels.GettableAlerts{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) GetAlertGroups(ctx context.Context, active, silenced, inhibited bool, filter []string, receiver string) (apimodels.AlertGroups, error) {
|
|
||||||
return apimodels.AlertGroups{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) PutAlerts(ctx context.Context, alerts apimodels.PostableAlerts) error {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) GetReceivers(ctx context.Context) ([]apimodels.Receiver, error) {
|
|
||||||
return []apimodels.Receiver{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) TestReceivers(ctx context.Context, c apimodels.TestReceiversConfigBodyParams) (*notifier.TestReceiversResult, error) {
|
|
||||||
return ¬ifier.TestReceiversResult{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) TestTemplate(ctx context.Context, c apimodels.TestTemplatesConfigBodyParams) (*notifier.TestTemplatesResults, error) {
|
|
||||||
return ¬ifier.TestTemplatesResults{}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) CleanUp() {}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) StopAndWait() {}
|
|
||||||
|
|
||||||
func (fam *ForkedAlertmanager) Ready() bool {
|
|
||||||
return false
|
|
||||||
}
|
|
@ -0,0 +1,85 @@
|
|||||||
|
package remote
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
|
||||||
|
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||||
|
"github.com/grafana/grafana/pkg/services/ngalert/notifier"
|
||||||
|
)
|
||||||
|
|
||||||
|
type RemotePrimaryForkedAlertmanager struct {
|
||||||
|
internal notifier.Alertmanager
|
||||||
|
remote notifier.Alertmanager
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewRemotePrimaryForkedAlertmanager(internal, remote notifier.Alertmanager) *RemotePrimaryForkedAlertmanager {
|
||||||
|
return &RemotePrimaryForkedAlertmanager{
|
||||||
|
internal: internal,
|
||||||
|
remote: remote,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) ApplyConfig(ctx context.Context, config *models.AlertConfiguration) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) SaveAndApplyConfig(ctx context.Context, config *apimodels.PostableUserConfig) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) SaveAndApplyDefaultConfig(ctx context.Context) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) GetStatus() apimodels.GettableStatus {
|
||||||
|
return apimodels.GettableStatus{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) CreateSilence(ctx context.Context, silence *apimodels.PostableSilence) (string, error) {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) DeleteSilence(ctx context.Context, id string) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) GetSilence(ctx context.Context, id string) (apimodels.GettableSilence, error) {
|
||||||
|
return apimodels.GettableSilence{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) ListSilences(ctx context.Context, filter []string) (apimodels.GettableSilences, error) {
|
||||||
|
return apimodels.GettableSilences{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) GetAlerts(ctx context.Context, active, silenced, inhibited bool, filter []string, receiver string) (apimodels.GettableAlerts, error) {
|
||||||
|
return apimodels.GettableAlerts{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) GetAlertGroups(ctx context.Context, active, silenced, inhibited bool, filter []string, receiver string) (apimodels.AlertGroups, error) {
|
||||||
|
return apimodels.AlertGroups{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) PutAlerts(ctx context.Context, alerts apimodels.PostableAlerts) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) GetReceivers(ctx context.Context) ([]apimodels.Receiver, error) {
|
||||||
|
return []apimodels.Receiver{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) TestReceivers(ctx context.Context, c apimodels.TestReceiversConfigBodyParams) (*notifier.TestReceiversResult, error) {
|
||||||
|
return ¬ifier.TestReceiversResult{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) TestTemplate(ctx context.Context, c apimodels.TestTemplatesConfigBodyParams) (*notifier.TestTemplatesResults, error) {
|
||||||
|
return ¬ifier.TestTemplatesResults{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) CleanUp() {}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) StopAndWait() {}
|
||||||
|
|
||||||
|
func (fam *RemotePrimaryForkedAlertmanager) Ready() bool {
|
||||||
|
return false
|
||||||
|
}
|
@ -0,0 +1,85 @@
|
|||||||
|
package remote
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
|
||||||
|
"github.com/grafana/grafana/pkg/services/ngalert/models"
|
||||||
|
"github.com/grafana/grafana/pkg/services/ngalert/notifier"
|
||||||
|
)
|
||||||
|
|
||||||
|
type RemoteSecondaryForkedAlertmanager struct {
|
||||||
|
internal notifier.Alertmanager
|
||||||
|
remote notifier.Alertmanager
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewRemoteSecondaryForkedAlertmanager(internal, remote notifier.Alertmanager) *RemoteSecondaryForkedAlertmanager {
|
||||||
|
return &RemoteSecondaryForkedAlertmanager{
|
||||||
|
internal: internal,
|
||||||
|
remote: remote,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) ApplyConfig(ctx context.Context, config *models.AlertConfiguration) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) SaveAndApplyConfig(ctx context.Context, config *apimodels.PostableUserConfig) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) SaveAndApplyDefaultConfig(ctx context.Context) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) GetStatus() apimodels.GettableStatus {
|
||||||
|
return apimodels.GettableStatus{}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) CreateSilence(ctx context.Context, silence *apimodels.PostableSilence) (string, error) {
|
||||||
|
return "", nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) DeleteSilence(ctx context.Context, id string) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) GetSilence(ctx context.Context, id string) (apimodels.GettableSilence, error) {
|
||||||
|
return apimodels.GettableSilence{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) ListSilences(ctx context.Context, filter []string) (apimodels.GettableSilences, error) {
|
||||||
|
return apimodels.GettableSilences{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) GetAlerts(ctx context.Context, active, silenced, inhibited bool, filter []string, receiver string) (apimodels.GettableAlerts, error) {
|
||||||
|
return apimodels.GettableAlerts{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) GetAlertGroups(ctx context.Context, active, silenced, inhibited bool, filter []string, receiver string) (apimodels.AlertGroups, error) {
|
||||||
|
return apimodels.AlertGroups{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) PutAlerts(ctx context.Context, alerts apimodels.PostableAlerts) error {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) GetReceivers(ctx context.Context) ([]apimodels.Receiver, error) {
|
||||||
|
return []apimodels.Receiver{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) TestReceivers(ctx context.Context, c apimodels.TestReceiversConfigBodyParams) (*notifier.TestReceiversResult, error) {
|
||||||
|
return ¬ifier.TestReceiversResult{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) TestTemplate(ctx context.Context, c apimodels.TestTemplatesConfigBodyParams) (*notifier.TestTemplatesResults, error) {
|
||||||
|
return ¬ifier.TestTemplatesResults{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) CleanUp() {}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) StopAndWait() {}
|
||||||
|
|
||||||
|
func (fam *RemoteSecondaryForkedAlertmanager) Ready() bool {
|
||||||
|
return false
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user