From 090d163fc8d0c7e77d6beebd51378ac9f95ebe6b Mon Sep 17 00:00:00 2001 From: Sofia Papagiannaki Date: Fri, 26 Feb 2021 19:06:24 +0200 Subject: [PATCH] Modifications for supporting migration --- pkg/api/alertmanager.go | 2 ++ pkg/api/cortex-ruler.go | 2 ++ spec.json | 20 ++++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/pkg/api/alertmanager.go b/pkg/api/alertmanager.go index 9d3f17025b6..a463efe7fcd 100644 --- a/pkg/api/alertmanager.go +++ b/pkg/api/alertmanager.go @@ -304,5 +304,7 @@ func (r *ApiReceiver) Type() ReceiverType { } type GrafanaReceivers struct { + // required: true + DefaultReceiver *GrafanaReceiver `yaml:"default_receiver" json:"default_receiver"` GrafanaManagedReceivers []*GrafanaReceiver `yaml:"grafana_managed_receiver_configs,omitempty" json:"grafana_managed_receiver_configs,omitempty"` } diff --git a/pkg/api/cortex-ruler.go b/pkg/api/cortex-ruler.go index 527bdf0aa74..2b616e508a3 100644 --- a/pkg/api/cortex-ruler.go +++ b/pkg/api/cortex-ruler.go @@ -157,6 +157,8 @@ type ExtendedUpsertAlertDefinitionCommand struct { NoDataState NoDataState `json:"no_data_state" yaml:"no_data_state"` ExecutionErrorState ExecutionErrorState `json:"exec_err_state" yaml:"exec_err_state"` Settings map[string]interface{} `json:"settings" yaml:"settings"` + // Receivers are optional and used for migrating notification channels of existing alerts + Receivers []*GrafanaReceiver `json:"receivers" yaml:"receivers"` // internal state FolderUID string `json:"-" yaml:"-"` DatasourceUIDs []string `json:"-" yaml:"-"` diff --git a/spec.json b/spec.json index b631bbb6280..017ac1d98e9 100644 --- a/spec.json +++ b/spec.json @@ -1057,7 +1057,13 @@ }, "ApiReceiver": { "type": "object", + "required": [ + "default_receiver" + ], "properties": { + "default_receiver": { + "$ref": "#/definitions/GrafanaReceiver" + }, "email_configs": { "type": "array", "items": { @@ -1500,6 +1506,14 @@ ], "x-go-name": "NoDataState" }, + "receivers": { + "description": "Receivers are optional and used for migrating notification channels of existing alerts", + "type": "array", + "items": { + "$ref": "#/definitions/GrafanaReceiver" + }, + "x-go-name": "Receivers" + }, "settings": { "type": "object", "additionalProperties": { @@ -1610,7 +1624,13 @@ }, "GrafanaReceivers": { "type": "object", + "required": [ + "default_receiver" + ], "properties": { + "default_receiver": { + "$ref": "#/definitions/GrafanaReceiver" + }, "grafana_managed_receiver_configs": { "type": "array", "items": {