MCPcopy Index your code
hub / github.com/cortexproject/cortex / initTenantFederation

Method initTenantFederation

pkg/cortex/modules.go:305–337  ·  view source on GitHub ↗

Enable merge querier if multi tenant query federation is enabled

()

Source from the content-addressed store, hash-verified

303
304// Enable merge querier if multi tenant query federation is enabled
305func (t *Cortex) initTenantFederation() (serv services.Service, err error) {
306 if t.Cfg.TenantFederation.Enabled {
307 // Make sure the mergeQuerier is only used for request with more than a
308 // single tenant. This allows for a less impactful enabling of tenant
309 // federation.
310 byPassForSingleQuerier := true
311
312 reg := prometheus.DefaultRegisterer
313 t.QuerierQueryable = querier.NewSampleAndChunkQueryable(tenantfederation.NewQueryable(t.QuerierQueryable, t.Cfg.TenantFederation, byPassForSingleQuerier, reg))
314 t.MetadataQuerier = tenantfederation.NewMetadataQuerier(t.MetadataQuerier, t.Cfg.TenantFederation, reg)
315 t.ExemplarQueryable = tenantfederation.NewExemplarQueryable(t.ExemplarQueryable, t.Cfg.TenantFederation, byPassForSingleQuerier, reg)
316
317 if t.Cfg.TenantFederation.RegexMatcherEnabled {
318 util_log.WarnExperimentalUse("tenant-federation.regex-matcher-enabled")
319
320 bucketClientFactory := func(ctx context.Context) (objstore.InstrumentedBucket, error) {
321 return bucket.NewClient(ctx, t.Cfg.BlocksStorage.Bucket, nil, "regex-resolver", util_log.Logger, reg)
322 }
323
324 regexResolver, err := tenantfederation.NewRegexResolver(t.Cfg.BlocksStorage.UsersScanner, t.Cfg.TenantFederation, reg, bucketClientFactory, util_log.Logger)
325 if err != nil {
326 return nil, fmt.Errorf("failed to initialize regex resolver: %v", err)
327 }
328 users.WithDefaultResolver(regexResolver)
329
330 return regexResolver, nil
331 }
332
333 return nil, nil
334 }
335
336 return nil, nil
337}
338
339// initQuerier registers an internal HTTP router with a Prometheus API backed by the
340// Cortex Queryable. Then it does one of the following:

Callers

nothing calls this directly

Calls 7

NewQueryableFunction · 0.92
NewMetadataQuerierFunction · 0.92
NewExemplarQueryableFunction · 0.92
NewClientFunction · 0.92
NewRegexResolverFunction · 0.92
WithDefaultResolverFunction · 0.92

Tested by

no test coverage detected