MCPcopy Create free account
hub / github.com/cortexproject/cortex / NewRuleStore

Function NewRuleStore

pkg/ruler/storage.go:20–41  ·  view source on GitHub ↗

NewRuleStore returns a rule store backend client based on the provided cfg.

(ctx context.Context, cfg rulestore.Config, cfgProvider bucket.TenantConfigProvider, loader promRules.GroupLoader, logger log.Logger, reg prometheus.Registerer, nameValidationScheme model.ValidationScheme)

Source from the content-addressed store, hash-verified

18
19// NewRuleStore returns a rule store backend client based on the provided cfg.
20func NewRuleStore(ctx context.Context, cfg rulestore.Config, cfgProvider bucket.TenantConfigProvider, loader promRules.GroupLoader, logger log.Logger, reg prometheus.Registerer, nameValidationScheme model.ValidationScheme) (rulestore.RuleStore, error) {
21 if cfg.Backend == configdb.Name {
22 c, err := client.New(cfg.ConfigDB)
23
24 if err != nil {
25 return nil, err
26 }
27
28 return configdb.NewConfigRuleStore(c, nameValidationScheme), nil
29 }
30
31 if cfg.Backend == local.Name {
32 return local.NewLocalRulesClient(cfg.Local, loader, nameValidationScheme)
33 }
34
35 bucketClient, err := bucket.NewClient(ctx, cfg.Config, nil, "ruler-storage", logger, reg)
36 if err != nil {
37 return nil, err
38 }
39
40 return bucketclient.NewBucketRuleStore(bucketClient, cfg.UsersScanner, cfgProvider, logger, reg)
41}

Callers 1

initRulerStorageMethod · 0.92

Calls 5

NewFunction · 0.92
NewConfigRuleStoreFunction · 0.92
NewLocalRulesClientFunction · 0.92
NewClientFunction · 0.92
NewBucketRuleStoreFunction · 0.92

Tested by

no test coverage detected