Indicate whether templates are provisioned (#49025)
This commit is contained in:
@@ -83,7 +83,7 @@ func (moa *MultiOrgAlertmanager) GetAlertmanagerConfiguration(ctx context.Contex
|
||||
}
|
||||
|
||||
if moa.settings.IsFeatureToggleEnabled(featuremgmt.FlagAlertProvisioning) {
|
||||
result.AlertmanagerConfig, err = moa.mergeProvenance(ctx, result.AlertmanagerConfig, org)
|
||||
result, err = moa.mergeProvenance(ctx, result, org)
|
||||
if err != nil {
|
||||
return definitions.GettableUserConfig{}, err
|
||||
}
|
||||
@@ -126,25 +126,34 @@ func (moa *MultiOrgAlertmanager) ApplyAlertmanagerConfiguration(ctx context.Cont
|
||||
return nil
|
||||
}
|
||||
|
||||
func (moa *MultiOrgAlertmanager) mergeProvenance(ctx context.Context, config definitions.GettableApiAlertingConfig, org int64) (definitions.GettableApiAlertingConfig, error) {
|
||||
if config.Route != nil {
|
||||
provenance, err := moa.ProvStore.GetProvenance(ctx, config.Route, org)
|
||||
func (moa *MultiOrgAlertmanager) mergeProvenance(ctx context.Context, config definitions.GettableUserConfig, org int64) (definitions.GettableUserConfig, error) {
|
||||
if config.AlertmanagerConfig.Route != nil {
|
||||
provenance, err := moa.ProvStore.GetProvenance(ctx, config.AlertmanagerConfig.Route, org)
|
||||
if err != nil {
|
||||
return definitions.GettableApiAlertingConfig{}, err
|
||||
return definitions.GettableUserConfig{}, err
|
||||
}
|
||||
config.Route.Provenance = provenance
|
||||
config.AlertmanagerConfig.Route.Provenance = provenance
|
||||
}
|
||||
|
||||
cp := definitions.EmbeddedContactPoint{}
|
||||
cpProvs, err := moa.ProvStore.GetProvenances(ctx, org, cp.ResourceType())
|
||||
if err != nil {
|
||||
return definitions.GettableApiAlertingConfig{}, err
|
||||
return definitions.GettableUserConfig{}, err
|
||||
}
|
||||
for _, receiver := range config.Receivers {
|
||||
for _, receiver := range config.AlertmanagerConfig.Receivers {
|
||||
for _, contactPoint := range receiver.GrafanaManagedReceivers {
|
||||
if provenance, exists := cpProvs[contactPoint.UID]; exists {
|
||||
contactPoint.Provenance = provenance
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tmpl := definitions.MessageTemplate{}
|
||||
tmplProvs, err := moa.ProvStore.GetProvenances(ctx, org, tmpl.ResourceType())
|
||||
if err != nil {
|
||||
return definitions.GettableUserConfig{}, nil
|
||||
}
|
||||
config.TemplateFileProvenances = tmplProvs
|
||||
|
||||
return config, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user