github.com/muhammadn/cortex@v1.9.1-0.20220510110439-46bb7000d03d/pkg/alertmanager/alertspb/compat.go (about) 1 package alertspb 2 3 import "errors" 4 5 var ( 6 ErrNotFound = errors.New("alertmanager storage object not found") 7 ) 8 9 // ToProto transforms a yaml Alertmanager config and map of template files to an AlertConfigDesc 10 func ToProto(cfg string, templates map[string]string, user string) AlertConfigDesc { 11 tmpls := []*TemplateDesc{} 12 for fn, body := range templates { 13 tmpls = append(tmpls, &TemplateDesc{ 14 Body: body, 15 Filename: fn, 16 }) 17 } 18 return AlertConfigDesc{ 19 User: user, 20 RawConfig: cfg, 21 Templates: tmpls, 22 } 23 } 24 25 // ParseTemplates returns a alertmanager config object 26 func ParseTemplates(cfg AlertConfigDesc) map[string]string { 27 templates := map[string]string{} 28 for _, t := range cfg.Templates { 29 templates[t.Filename] = t.Body 30 } 31 return templates 32 }