Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func InitFrontend ¶
func InitFrontend(cfg CombinedFrontendConfig, limits v1.Limits, grpcListenPort int, log log.Logger, reg prometheus.Registerer, retry *transport.Retry) (http.RoundTripper, *v1.Frontend, *v2.Frontend, error)
InitFrontend initializes frontend (either V1 -- without scheduler, or V2 -- with scheduler) or no frontend at all if downstream Prometheus URL is used instead.
Returned RoundTripper can be wrapped in more round-tripper middlewares, and then eventually registered into HTTP server using the Handler from this package. Returned RoundTripper is always non-nil (if there are no errors), and it uses the returned frontend (if any).
func NewDownstreamRoundTripper ¶
func NewDownstreamRoundTripper(downstreamURL string, transport http.RoundTripper) (http.RoundTripper, error)
Types ¶
type CombinedFrontendConfig ¶
type CombinedFrontendConfig struct { Handler transport.HandlerConfig `yaml:",inline"` FrontendV1 v1.Config `yaml:",inline"` FrontendV2 v2.Config `yaml:",inline"` DownstreamURL string `yaml:"downstream_url"` }
This struct combines several configuration options together to preserve backwards compatibility.
func (*CombinedFrontendConfig) RegisterFlags ¶
func (cfg *CombinedFrontendConfig) RegisterFlags(f *flag.FlagSet)
Click to show internal directories.
Click to hide internal directories.