[Alerting]: implement backend checking for forking to Lotex ruler (#32208)

* Rename DatasourceId path parameter

* Implement fork ruler backendType()

* Apply suggestions from code review
This commit is contained in:
Sofia Papagiannaki
2021-03-23 18:08:57 +02:00
committed by GitHub
parent 94ac097f47
commit 24cb059a6b
12 changed files with 153 additions and 107 deletions
+18 -18
View File
@@ -32,26 +32,26 @@ type RulerApiBase struct {
func (api *API) RegisterRulerApiEndpoints(srv RulerApiService) {
api.RouteRegister.Group("", func(group routing.RouteRegister) {
group.Delete(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}"), routing.Wrap(srv.RouteDeleteNamespaceRulesConfig))
group.Delete(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}/{Groupname}"), routing.Wrap(srv.RouteDeleteRuleGroupConfig))
group.Get(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}"), routing.Wrap(srv.RouteGetNamespaceRulesConfig))
group.Get(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}/{Groupname}"), routing.Wrap(srv.RouteGetRulegGroupConfig))
group.Get(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules"), routing.Wrap(srv.RouteGetRulesConfig))
group.Post(toMacaronPath("/ruler/{DatasourceId}/api/v1/rules/{Namespace}"), binding.Bind(apimodels.RuleGroupConfig{}), routing.Wrap(srv.RoutePostNameRulesConfig))
group.Delete(toMacaronPath("/ruler/{Recipient}/api/v1/rules/{Namespace}"), routing.Wrap(srv.RouteDeleteNamespaceRulesConfig))
group.Delete(toMacaronPath("/ruler/{Recipient}/api/v1/rules/{Namespace}/{Groupname}"), routing.Wrap(srv.RouteDeleteRuleGroupConfig))
group.Get(toMacaronPath("/ruler/{Recipient}/api/v1/rules/{Namespace}"), routing.Wrap(srv.RouteGetNamespaceRulesConfig))
group.Get(toMacaronPath("/ruler/{Recipient}/api/v1/rules/{Namespace}/{Groupname}"), routing.Wrap(srv.RouteGetRulegGroupConfig))
group.Get(toMacaronPath("/ruler/{Recipient}/api/v1/rules"), routing.Wrap(srv.RouteGetRulesConfig))
group.Post(toMacaronPath("/ruler/{Recipient}/api/v1/rules/{Namespace}"), binding.Bind(apimodels.RuleGroupConfig{}), routing.Wrap(srv.RoutePostNameRulesConfig))
})
}
func (base RulerApiBase) RouteDeleteNamespaceRulesConfig(c *models.ReqContext) response.Response {
datasourceId := c.Params(":DatasourceId")
base.log.Info("RouteDeleteNamespaceRulesConfig: ", "DatasourceId", datasourceId)
recipient := c.Params(":Recipient")
base.log.Info("RouteDeleteNamespaceRulesConfig: ", "Recipient", recipient)
namespace := c.Params(":Namespace")
base.log.Info("RouteDeleteNamespaceRulesConfig: ", "Namespace", namespace)
return response.Error(http.StatusNotImplemented, "", nil)
}
func (base RulerApiBase) RouteDeleteRuleGroupConfig(c *models.ReqContext) response.Response {
datasourceId := c.Params(":DatasourceId")
base.log.Info("RouteDeleteRuleGroupConfig: ", "DatasourceId", datasourceId)
recipient := c.Params(":Recipient")
base.log.Info("RouteDeleteRuleGroupConfig: ", "Recipient", recipient)
namespace := c.Params(":Namespace")
base.log.Info("RouteDeleteRuleGroupConfig: ", "Namespace", namespace)
groupname := c.Params(":Groupname")
@@ -60,16 +60,16 @@ func (base RulerApiBase) RouteDeleteRuleGroupConfig(c *models.ReqContext) respon
}
func (base RulerApiBase) RouteGetNamespaceRulesConfig(c *models.ReqContext) response.Response {
datasourceId := c.Params(":DatasourceId")
base.log.Info("RouteGetNamespaceRulesConfig: ", "DatasourceId", datasourceId)
recipient := c.Params(":Recipient")
base.log.Info("RouteGetNamespaceRulesConfig: ", "Recipient", recipient)
namespace := c.Params(":Namespace")
base.log.Info("RouteGetNamespaceRulesConfig: ", "Namespace", namespace)
return response.Error(http.StatusNotImplemented, "", nil)
}
func (base RulerApiBase) RouteGetRulegGroupConfig(c *models.ReqContext) response.Response {
datasourceId := c.Params(":DatasourceId")
base.log.Info("RouteGetRulegGroupConfig: ", "DatasourceId", datasourceId)
recipient := c.Params(":Recipient")
base.log.Info("RouteGetRulegGroupConfig: ", "Recipient", recipient)
namespace := c.Params(":Namespace")
base.log.Info("RouteGetRulegGroupConfig: ", "Namespace", namespace)
groupname := c.Params(":Groupname")
@@ -78,14 +78,14 @@ func (base RulerApiBase) RouteGetRulegGroupConfig(c *models.ReqContext) response
}
func (base RulerApiBase) RouteGetRulesConfig(c *models.ReqContext) response.Response {
datasourceId := c.Params(":DatasourceId")
base.log.Info("RouteGetRulesConfig: ", "DatasourceId", datasourceId)
recipient := c.Params(":Recipient")
base.log.Info("RouteGetRulesConfig: ", "Recipient", recipient)
return response.Error(http.StatusNotImplemented, "", nil)
}
func (base RulerApiBase) RoutePostNameRulesConfig(c *models.ReqContext, body apimodels.RuleGroupConfig) response.Response {
datasourceId := c.Params(":DatasourceId")
base.log.Info("RoutePostNameRulesConfig: ", "DatasourceId", datasourceId)
recipient := c.Params(":Recipient")
base.log.Info("RoutePostNameRulesConfig: ", "Recipient", recipient)
namespace := c.Params(":Namespace")
base.log.Info("RoutePostNameRulesConfig: ", "Namespace", namespace)
base.log.Info("RoutePostNameRulesConfig: ", "body", body)