Alerting: Empty endpoint to load alertmanager config with mimirtool (#106266)

This commit is contained in:
Alexander Akhmetov
2025-06-10 11:35:57 +02:00
committed by GitHub
parent 0da0fb5af1
commit a4fa8ab891
11 changed files with 214 additions and 97 deletions
@@ -31,6 +31,7 @@ type ConvertPrometheusApi interface {
RouteConvertPrometheusGetNamespace(*contextmodel.ReqContext) response.Response
RouteConvertPrometheusGetRuleGroup(*contextmodel.ReqContext) response.Response
RouteConvertPrometheusGetRules(*contextmodel.ReqContext) response.Response
RouteConvertPrometheusPostAlertmanagerConfig(*contextmodel.ReqContext) response.Response
RouteConvertPrometheusPostRuleGroup(*contextmodel.ReqContext) response.Response
RouteConvertPrometheusPostRuleGroups(*contextmodel.ReqContext) response.Response
}
@@ -93,6 +94,9 @@ func (f *ConvertPrometheusApiHandler) RouteConvertPrometheusGetRuleGroup(ctx *co
func (f *ConvertPrometheusApiHandler) RouteConvertPrometheusGetRules(ctx *contextmodel.ReqContext) response.Response {
return f.handleRouteConvertPrometheusGetRules(ctx)
}
func (f *ConvertPrometheusApiHandler) RouteConvertPrometheusPostAlertmanagerConfig(ctx *contextmodel.ReqContext) response.Response {
return f.handleRouteConvertPrometheusPostAlertmanagerConfig(ctx)
}
func (f *ConvertPrometheusApiHandler) RouteConvertPrometheusPostRuleGroup(ctx *contextmodel.ReqContext) response.Response {
// Parse Path Parameters
namespaceTitleParam := web.Params(ctx.Req)[":NamespaceTitle"]
@@ -248,6 +252,18 @@ func (api *API) RegisterConvertPrometheusApiEndpoints(srv ConvertPrometheusApi,
m,
),
)
group.Post(
toMacaronPath("/api/convert/api/v1/alerts"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
requestmeta.SetSLOGroup(requestmeta.SLOGroupHighSlow),
api.authorize(http.MethodPost, "/api/convert/api/v1/alerts"),
metrics.Instrument(
http.MethodPost,
"/api/convert/api/v1/alerts",
api.Hooks.Wrap(srv.RouteConvertPrometheusPostAlertmanagerConfig),
m,
),
)
group.Post(
toMacaronPath("/api/convert/prometheus/config/v1/rules/{NamespaceTitle}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),