()
| 612 | } |
| 613 | |
| 614 | func (t *Cortex) initQueryFrontend() (serv services.Service, err error) { |
| 615 | retry := transport.NewRetry(t.Cfg.QueryRange.MaxRetries, prometheus.DefaultRegisterer) |
| 616 | roundTripper, frontendV1, frontendV2, err := frontend.InitFrontend(t.Cfg.Frontend, t.OverridesConfig, t.Cfg.Server.GRPCListenPort, util_log.Logger, prometheus.DefaultRegisterer, retry) |
| 617 | if err != nil { |
| 618 | return nil, err |
| 619 | } |
| 620 | |
| 621 | // Wrap roundtripper into Tripperware. |
| 622 | roundTripper = t.QueryFrontendTripperware(roundTripper) |
| 623 | |
| 624 | handler := transport.NewHandler(t.Cfg.Frontend.Handler, t.Cfg.TenantFederation, roundTripper, util_log.Logger, prometheus.DefaultRegisterer) |
| 625 | t.API.RegisterQueryFrontendHandler(handler) |
| 626 | |
| 627 | if frontendV1 != nil { |
| 628 | t.API.RegisterQueryFrontend1(frontendV1) |
| 629 | t.Frontend = frontendV1 |
| 630 | |
| 631 | return frontendV1, nil |
| 632 | } else if frontendV2 != nil { |
| 633 | t.API.RegisterQueryFrontend2(frontendV2) |
| 634 | |
| 635 | return frontendV2, nil |
| 636 | } |
| 637 | |
| 638 | return nil, nil |
| 639 | } |
| 640 | |
| 641 | func (t *Cortex) initRulerStorage() (serv services.Service, err error) { |
| 642 | // if the ruler is not configured and we're in single binary then let's just log an error and continue. |
nothing calls this directly
no test coverage detected