cortex

package
v0.0.0-...-cae4bf4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 24, 2020 License: Apache-2.0 Imports: 58 Imported by: 0

Documentation

Index

Constants

View Source
const (
	API                 string = "api"
	Ring                string = "ring"
	RuntimeConfig       string = "runtime-config"
	Overrides           string = "overrides"
	Server              string = "server"
	Distributor         string = "distributor"
	Ingester            string = "ingester"
	Flusher             string = "flusher"
	Querier             string = "querier"
	StoreQueryable      string = "store-queryable"
	QueryFrontend       string = "query-frontend"
	Store               string = "store"
	DeleteRequestsStore string = "delete-requests-store"
	TableManager        string = "table-manager"
	RulerStorage        string = "ruler-storage"
	Ruler               string = "ruler"
	Configs             string = "configs"
	AlertManager        string = "alertmanager"
	Compactor           string = "compactor"
	StoreGateway        string = "store-gateway"
	MemberlistKV        string = "memberlist-kv"
	Purger              string = "purger"
	All                 string = "all"
)

The various modules that make up Cortex.

Variables

This section is empty.

Functions

func DisableSignalHandling

func DisableSignalHandling(config *server.Config)

func NewServerService

func NewServerService(serv *server.Server, servicesToWaitFor func() []services.Service) services.Service

NewServerService constructs service from Server component. servicesToWaitFor is called when server is stopping, and should return all services that need to terminate before server actually stops. N.B.: this function is NOT Cortex specific, please let's keep it that way. Passed server should not react on signals. Early return from Run function is considered to be an error.

Types

type Config

type Config struct {
	Target      string `yaml:"target"`
	AuthEnabled bool   `yaml:"auth_enabled"`
	PrintConfig bool   `yaml:"-"`
	HTTPPrefix  string `yaml:"http_prefix"`
	ListModules bool   `yaml:"-"` // No yaml for this, it only works with flags.

	API            api.Config               `yaml:"api"`
	Server         server.Config            `yaml:"server"`
	Distributor    distributor.Config       `yaml:"distributor"`
	Querier        querier.Config           `yaml:"querier"`
	IngesterClient client.Config            `yaml:"ingester_client"`
	Ingester       ingester.Config          `yaml:"ingester"`
	Flusher        flusher.Config           `yaml:"flusher"`
	Storage        storage.Config           `yaml:"storage"`
	ChunkStore     chunk.StoreConfig        `yaml:"chunk_store"`
	Schema         chunk.SchemaConfig       `yaml:"schema" doc:"hidden"` // Doc generation tool doesn't support it because part of the SchemaConfig doesn't support CLI flags (needs manual documentation)
	LimitsConfig   validation.Limits        `yaml:"limits"`
	Prealloc       client.PreallocConfig    `yaml:"prealloc" doc:"hidden"`
	Worker         frontend.WorkerConfig    `yaml:"frontend_worker"`
	Frontend       frontend.Config          `yaml:"frontend"`
	QueryRange     queryrange.Config        `yaml:"query_range"`
	TableManager   chunk.TableManagerConfig `yaml:"table_manager"`
	Encoding       encoding.Config          `yaml:"-"` // No yaml for this, it only works with flags.
	BlocksStorage  tsdb.BlocksStorageConfig `yaml:"blocks_storage"`
	Compactor      compactor.Config         `yaml:"compactor"`
	StoreGateway   storegateway.Config      `yaml:"store_gateway"`
	PurgerConfig   purger.Config            `yaml:"purger"`

	Ruler         ruler.Config                               `yaml:"ruler"`
	Configs       configs.Config                             `yaml:"configs"`
	Alertmanager  alertmanager.MultitenantAlertmanagerConfig `yaml:"alertmanager"`
	RuntimeConfig runtimeconfig.ManagerConfig                `yaml:"runtime_config"`
	MemberlistKV  memberlist.KVConfig                        `yaml:"memberlist"`
}

Config is the root config for Cortex.

func (*Config) RegisterFlags

func (c *Config) RegisterFlags(f *flag.FlagSet)

RegisterFlags registers flag.

func (*Config) Validate

func (c *Config) Validate(log log.Logger) error

Validate the cortex config and returns an error if the validation doesn't pass

type Cortex

type Cortex struct {
	Cfg Config

	// set during initialization
	ServiceMap    map[string]services.Service
	ModuleManager *modules.Manager

	API              *api.API
	Server           *server.Server
	Ring             *ring.Ring
	Overrides        *validation.Overrides
	Distributor      *distributor.Distributor
	Ingester         *ingester.Ingester
	Flusher          *flusher.Flusher
	Store            chunk.Store
	DeletesStore     *purger.DeleteStore
	Frontend         *frontend.Frontend
	TableManager     *chunk.TableManager
	Cache            cache.Cache
	RuntimeConfig    *runtimeconfig.Manager
	Purger           *purger.Purger
	TombstonesLoader *purger.TombstonesLoader

	Ruler        *ruler.Ruler
	RulerStorage rules.RuleStore
	ConfigAPI    *configAPI.API
	ConfigDB     db.DB
	Alertmanager *alertmanager.MultitenantAlertmanager
	Compactor    *compactor.Compactor
	StoreGateway *storegateway.StoreGateway
	MemberlistKV *memberlist.KVInitService

	// Queryables that the querier should use to query the long
	// term storage. It depends on the storage engine used.
	StoreQueryables []querier.QueryableWithFilter
}

Cortex is the root datastructure for Cortex.

func New

func New(cfg Config) (*Cortex, error)

New makes a new Cortex.

func (*Cortex) Run

func (t *Cortex) Run() error

Run starts Cortex running, and blocks until a Cortex stops.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL