Alerting: Split grafana and lotex routes (#44742)

* split Lotex and Grafana routes
* update template to use authorize function for every route
This commit is contained in:
Yuriy Tseretyan
2022-02-04 12:42:04 -05:00
committed by GitHub
parent 126ed461b1
commit ddfe2dce74
21 changed files with 2257 additions and 214 deletions
@@ -12,7 +12,6 @@ import (
"github.com/grafana/grafana/pkg/api/response"
"github.com/grafana/grafana/pkg/api/routing"
"github.com/grafana/grafana/pkg/middleware"
"github.com/grafana/grafana/pkg/models"
apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
"github.com/grafana/grafana/pkg/services/ngalert/metrics"
@@ -26,13 +25,6 @@ type ConfigurationApiForkingService interface {
RoutePostNGalertConfig(*models.ReqContext) response.Response
}
type ConfigurationApiService interface {
RouteDeleteNGalertConfig(*models.ReqContext) response.Response
RouteGetAlertmanagers(*models.ReqContext) response.Response
RouteGetNGalertConfig(*models.ReqContext) response.Response
RoutePostNGalertConfig(*models.ReqContext, apimodels.PostableNGalertConfig) response.Response
}
func (f *ForkedConfigurationApi) RouteDeleteNGalertConfig(ctx *models.ReqContext) response.Response {
return f.forkRouteDeleteNGalertConfig(ctx)
}
@@ -57,6 +49,7 @@ func (api *API) RegisterConfigurationApiEndpoints(srv ConfigurationApiForkingSer
api.RouteRegister.Group("", func(group routing.RouteRegister) {
group.Delete(
toMacaronPath("/api/v1/ngalert/admin_config"),
api.authorize(http.MethodDelete, "/api/v1/ngalert/admin_config"),
metrics.Instrument(
http.MethodDelete,
"/api/v1/ngalert/admin_config",
@@ -66,6 +59,7 @@ func (api *API) RegisterConfigurationApiEndpoints(srv ConfigurationApiForkingSer
)
group.Get(
toMacaronPath("/api/v1/ngalert/alertmanagers"),
api.authorize(http.MethodGet, "/api/v1/ngalert/alertmanagers"),
metrics.Instrument(
http.MethodGet,
"/api/v1/ngalert/alertmanagers",
@@ -75,6 +69,7 @@ func (api *API) RegisterConfigurationApiEndpoints(srv ConfigurationApiForkingSer
)
group.Get(
toMacaronPath("/api/v1/ngalert/admin_config"),
api.authorize(http.MethodGet, "/api/v1/ngalert/admin_config"),
metrics.Instrument(
http.MethodGet,
"/api/v1/ngalert/admin_config",
@@ -84,6 +79,7 @@ func (api *API) RegisterConfigurationApiEndpoints(srv ConfigurationApiForkingSer
)
group.Post(
toMacaronPath("/api/v1/ngalert/admin_config"),
api.authorize(http.MethodPost, "/api/v1/ngalert/admin_config"),
metrics.Instrument(
http.MethodPost,
"/api/v1/ngalert/admin_config",
@@ -91,5 +87,5 @@ func (api *API) RegisterConfigurationApiEndpoints(srv ConfigurationApiForkingSer
m,
),
)
}, middleware.ReqSignedIn)
})
}