[Alerting] Forking LoTex ruler (#32138)

* updates alerting api to master

* skeleton for lotex ruler

* withPath helper & legacyRulerPrefix const

* forked ruler

* wires up proxy

* safeMacaronWrapper

* working proxy

* jsonExtractor

* lint
This commit is contained in:
Owen Diehl
2021-03-19 10:32:13 -04:00
committed by GitHub
parent c8b59b79c3
commit 93d0f7163f
7 changed files with 337 additions and 10 deletions

View File

@@ -6,6 +6,7 @@ import (
"github.com/grafana/grafana/pkg/infra/log"
"github.com/grafana/grafana/pkg/services/datasourceproxy"
ngmodels "github.com/grafana/grafana/pkg/services/ngalert/models"
"github.com/grafana/grafana/pkg/services/ngalert/schedule"
@@ -36,6 +37,7 @@ type API struct {
DataService *tsdb.Service
Schedule schedule.ScheduleService
Store store.Store
DataProxy *datasourceproxy.DatasourceProxyService
}
// RegisterAPIEndpoints registers API handlers
@@ -43,7 +45,10 @@ func (api *API) RegisterAPIEndpoints() {
logger := log.New("ngalert.api")
api.RegisterAlertmanagerApiEndpoints(AlertmanagerApiMock{log: logger})
api.RegisterPrometheusApiEndpoints(PrometheusApiMock{log: logger})
api.RegisterRulerApiEndpoints(RulerApiMock{log: logger})
api.RegisterRulerApiEndpoints(NewForkedRuler(
&LotexRuler{DataProxy: api.DataProxy, log: logger},
RulerApiMock{log: logger},
))
api.RegisterTestingApiEndpoints(TestingApiMock{log: logger})
// Legacy routes; they will be removed in v8