Alerting: add route owner middleware (#73869)

alerting: add route owner middleware

Signed-off-by: bergquist <carl.bergquist@gmail.com>
This commit is contained in:
Carl Bergquist
2023-08-29 12:43:33 +02:00
committed by GitHub
parent fe1563882a
commit 10a82e30ba
8 changed files with 89 additions and 0 deletions
@@ -12,6 +12,7 @@ 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/middleware/requestmeta"
contextmodel "github.com/grafana/grafana/pkg/services/contexthandler/model"
apimodels "github.com/grafana/grafana/pkg/services/ngalert/api/tooling/definitions"
"github.com/grafana/grafana/pkg/services/ngalert/metrics"
@@ -115,6 +116,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
api.RouteRegister.Group("", func(group routing.RouteRegister) {
group.Delete(
toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodDelete, "/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"),
metrics.Instrument(
http.MethodDelete,
@@ -125,6 +127,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Delete(
toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodDelete, "/api/ruler/grafana/api/v1/rules/{Namespace}"),
metrics.Instrument(
http.MethodDelete,
@@ -135,6 +138,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Delete(
toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodDelete, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"),
metrics.Instrument(
http.MethodDelete,
@@ -145,6 +149,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Delete(
toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodDelete, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"),
metrics.Instrument(
http.MethodDelete,
@@ -155,6 +160,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Get(
toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodGet, "/api/ruler/grafana/api/v1/rules/{Namespace}/{Groupname}"),
metrics.Instrument(
http.MethodGet,
@@ -165,6 +171,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Get(
toMacaronPath("/api/ruler/grafana/api/v1/rules"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodGet, "/api/ruler/grafana/api/v1/rules"),
metrics.Instrument(
http.MethodGet,
@@ -175,6 +182,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Get(
toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodGet, "/api/ruler/grafana/api/v1/rules/{Namespace}"),
metrics.Instrument(
http.MethodGet,
@@ -185,6 +193,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Get(
toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodGet, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"),
metrics.Instrument(
http.MethodGet,
@@ -195,6 +204,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Get(
toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodGet, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}/{Groupname}"),
metrics.Instrument(
http.MethodGet,
@@ -205,6 +215,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Get(
toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodGet, "/api/ruler/{DatasourceUID}/api/v1/rules"),
metrics.Instrument(
http.MethodGet,
@@ -215,6 +226,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Post(
toMacaronPath("/api/ruler/grafana/api/v1/rules/{Namespace}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodPost, "/api/ruler/grafana/api/v1/rules/{Namespace}"),
metrics.Instrument(
http.MethodPost,
@@ -225,6 +237,7 @@ func (api *API) RegisterRulerApiEndpoints(srv RulerApi, m *metrics.API) {
)
group.Post(
toMacaronPath("/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"),
requestmeta.SetOwner(requestmeta.TeamAlerting),
api.authorize(http.MethodPost, "/api/ruler/{DatasourceUID}/api/v1/rules/{Namespace}"),
metrics.Instrument(
http.MethodPost,