Project: Cortex (Observability and Analysis / Observability)
File: config-file-reference.md

title: "Configuration file" linkTitle: "Configuration file" weight: 1 slug: configuration-file <!-- DO NOT EDIT THIS FILE - This file has been automatically generated from its .template --> Cortex can be configured using a YAML file - specified using the `-config.file` flag - or CLI flags. In case you combine both, CLI flags take precedence over the YAML config file. The current configuration of any Cortex component can be seen by visiting the `/config` HTTP path. Passwords are filtered out of this endpoint. To specify which configuration file to load, pass the `-config.file` flag at the command line. The file is written in , defined by the scheme below. Brackets indicate that a parameter is optional. `<boolean>`: a boolean that can take the values `true` or `false` `<int>`: any integer matching the regular expression `[1-9]+[0-9]` `<duration>`: a duration matching the regular expression `[0-9]+(ns|us|s|ms|s|m|h|d|w|y)` where y = 365 days. `<string>`: a regular string `<url>`: a URL `<prefix>`: a CLI flag prefix based on the context (look at the parent configuration block to see which CLI flags prefix should be used) `<relabel_config>`: a . `<time>`: a timestamp, with available formats: `2006-01-20` (midnight, local timezone), `2006-01-20T15:04` (local timezone), and RFC 3339 formats: `2006-01-20T15:04:05Z` (UTC) or `2006-01-20T15:04:05+07:00` (explicit timezone) You can use environment variable references in the config file to set values that need to be configurable during deployment by using the `-config.expand-env` flag. To do this, use: ``` ${VAR} ``` Where VAR is the name of the environment variable. Each variable reference is replaced at startup by the value of the environment variable. The replacement is case-sensitive and occurs before the YAML file is parsed. References to undefined variables are replaced by empty strings unless you specify a default value or custom error text. To specify a default value, use: ``` ${VAR:default_value} ``` Where default_value is the value to use if the environment variable is undefined. ```yaml [target: <string> | default = "all"] [auth_enabled: <boolean> | default = true] [http_prefix: <string> | default = "/api/prom"] api: [responsecompressionenabled: <boolean> | default = false] [alertmanagerhttpprefix: <string> | default = "/alertmanager"] [prometheushttpprefix: <string> | default = "/prometheus"] [httprequestheaderstolog: <list of string> | default = []] [cors_origin: <string> | default = ".*"] [buildinfoenabled: <boolean> | default = false] [server: <server_config>] [distributor: <distributor_config>] [querier: <querier_config>] [ingesterclient: <ingesterclient_config>] [ingester: <ingester_config>] [flusher: <flusher_config>] [storage: <storage_config>] [limits: <limits_config>] [frontendworker: <frontendworker_config>] [frontend: <queryfrontendconfig>] [queryrange: <queryrange_config>] [blocksstorage: <blocksstorage_config>] [compactor: <compactor_config>] [storegateway: <storegateway_config>] tenant_federation: [enabled: <boolean> | default = false] [ruler: <ruler_config>] [rulerstorage: <rulerstorage_config>] [configs: <configs_config>] [alertmanager: <alertmanager_config>] [alertmanagerstorage: <alertmanagerstorage_config>] [runtimeconfig: <runtimeconfigurationstorageconfig>] [memberlist: <memberlist_config>] query_scheduler: [maxoutstandingrequestspertenant: <int> | default = 0] [querierforgetdelay: <duration> | default = 0s] grpcclientconfig: [maxrecvmsg_size: <int> | default = 104857600] [maxsendmsg_size: <int> | default = 16777216] [grpc_compression: <string> | default = ""] [rate_limit: <float> | default = 0] [ratelimitburst: <int> | default = 0] [backoffonratelimits: <boolean> | default = false] backoff_config: [min_period: <duration> | default = 100ms] [max_period: <duration> | default = 10s] [max_retries: <int> | default = 10] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [tracing: <tracing_config>] ``` The `alertmanager_config` configures the Cortex

```yaml [data_dir: <string> | default = "data/"] [retention: <duration> | default = 120h] [external_url: <url> | default = ] [poll_interval: <duration> | default = 15s] [maxrecvmsg_size: <int> | default = 16777216] [sharding_enabled: <boolean> | default = false] sharding_ring: kvstore: [store: <string> | default = "consul"] [prefix: <string> | default = "alertmanagers/"] dynamodb: [region: <string> | default = ""] [table_name: <string> | default = ""] [ttl: <duration> | default = 0s] [pullersynctime: <duration> | default = 1m] [maxcasretries: <int> | default = 10] [consul: <consul_config>] [etcd: <etcd_config>] multi: [primary: <string> | default = ""] [secondary: <string> | default = ""] [mirror_enabled: <boolean> | default = false] [mirror_timeout: <duration> | default = 2s] [heartbeat_period: <duration> | default = 15s] [heartbeat_timeout: <duration> | default = 1m] [replication_factor: <int> | default = 3] [zoneawarenessenabled: <boolean> | default = false] [final_sleep: <duration> | default = 0s] [waitinstancestate_timeout: <duration> | default = 10m] [instanceinterfacenames: <list of string> | default = [eth0 en0]] [instanceavailabilityzone: <string> | default = ""] [fallbackconfigfile: <string> | default = ""] [autowebhookroot: <string> | default = ""] cluster: [listen_address: <string> | default = "0.0.0.0:9094"] [advertise_address: <string> | default = ""] [peers: <string> | default = ""] [peer_timeout: <duration> | default = 15s] [gossip_interval: <duration> | default = 200ms] [pushpullinterval: <duration> | default = 1m] [enable_api: <boolean> | default = false] [api_concurrency: <int> | default = 0] [gc_interval: <duration> | default = 30m] alertmanager_client: [remote_timeout: <duration> | default = 2s] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [grpc_compression: <string> | default = ""] [maxrecvmsg_size: <int> | default = 16777216] [maxsendmsg_size: <int> | default = 4194304] [persist_interval: <duration> | default = 15m] [enabled_tenants: <string> | default = ""] [disabled_tenants: <string> | default = ""] ``` The `alertmanagerstorageconfig` configures the Cortex alertmanager storage

```yaml [backend: <string> | default = "s3"] s3: [endpoint: <string> | default = ""] [region: <string> | default = ""] [bucket_name: <string> | default = ""] [secretaccesskey: <string> | default = ""] [accesskeyid: <string> | default = ""] [insecure: <boolean> | default = false] [signature_version: <string> | default = "v4"] [bucketlookuptype: <string> | default = "auto"] [sendcontentmd5: <boolean> | default = true] [sse: <s3sseconfig>] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] gcs: [bucket_name: <string> | default = ""] [service_account: <string> | default = ""] azure: [account_name: <string> | default = ""] [account_key: <string> | default = ""] [connection_string: <string> | default = ""] [container_name: <string> | default = ""] [endpoint_suffix: <string> | default = ""] [max_retries: <int> | default = 20] [msi_resource: <string> | default = ""] [userassignedid: <string> | default = ""] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] swift: [auth_version: <int> | default = 0] [auth_url: <string> | default = ""] [username: <string> | default = ""] [userdomainname: <string> | default = ""] [userdomainid: <string> | default = ""] [user_id: <string> | default = ""] [password: <string> | default = ""] [domain_id: <string> | default = ""] [domain_name: <string> | default = ""] [project_id: <string> | default = ""] [project_name: <string> | default = ""] [projectdomainid: <string> | default = ""] [projectdomainname: <string> | default = ""] [region_name: <string> | default = ""] [container_name: <string> | default = ""] [max_retries: <int> | default = 3] [connect_timeout: <duration> | default = 10s] [request_timeout: <duration> | default = 5s] filesystem: [dir: <string> | default = ""] [configdb: <configstore_config>] local: [path: <string> | default = ""] ``` The `blocksstorageconfig` configures the blocks storage. ```yaml [backend: <string> | default = "s3"] s3: [endpoint: <string> | default = ""] [region: <string> | default = ""] [bucket_name: <string> | default = ""] [secretaccesskey: <string> | default = ""] [accesskeyid: <string> | default = ""] [insecure: <boolean> | default = false] [signature_version: <string> | default = "v4"] [bucketlookuptype: <string> | default = "auto"] [sendcontentmd5: <boolean> | default = true] [sse: <s3sseconfig>] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] gcs: [bucket_name: <string> | default = ""] [service_account: <string> | default = ""] azure: [account_name: <string> | default = ""] [account_key: <string> | default = ""] [connection_string: <string> | default = ""] [container_name: <string> | default = ""] [endpoint_suffix: <string> | default = ""] [max_retries: <int> | default = 20] [msi_resource: <string> | default = ""] [userassignedid: <string> | default = ""] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] swift: [auth_version: <int> | default = 0] [auth_url: <string> | default = ""] [username: <string> | default = ""] [userdomainname: <string> | default = ""] [userdomainid: <string> | default = ""] [user_id: <string> | default = ""] [password: <string> | default = ""] [domain_id: <string> | default = ""] [domain_name: <string> | default = ""] [project_id: <string> | default = ""] [project_name: <string> | default = ""] [projectdomainid: <string> | default = ""] [projectdomainname: <string> | default = ""] [region_name: <string> | default = ""] [container_name: <string> | default = ""] [max_retries: <int> | default = 3] [connect_timeout: <duration> | default = 10s] [request_timeout: <duration> | default = 5s] filesystem: [dir: <string> | default = ""] bucket_store: [sync_dir: <string> | default = "tsdb-sync"] [sync_interval: <duration> | default = 15m] [max_concurrent: <int> | default = 100] [maxinflightrequests: <int> | default = 0] [tenantsyncconcurrency: <int> | default = 10] [blocksyncconcurrency: <int> | default = 20] [metasyncconcurrency: <int> | default = 20] [consistency_delay: <duration> | default = 0s] index_cache: [backend: <string> | default = "inmemory"] inmemory: [maxsizebytes: <int> | default = 1073741824] [enabled_items: <list of string> | default = []] memcached: [addresses: <string> | default = ""] [timeout: <duration> | default = 100ms] [maxidleconnections: <int> | default = 16] [maxasyncconcurrency: <int> | default = 50] [maxasyncbuffer_size: <int> | default = 10000] [maxgetmulti_concurrency: <int> | default = 100] [maxgetmultibatchsize: <int> | default = 0] [maxitemsize: <int> | default = 1048576] [auto_discovery: <boolean> | default = false] setasynccircuitbreakerconfig: [enabled: <boolean> | default = false] [halfopenmax_requests: <int> | default = 10] [open_duration: <duration> | default = 5s] [min_requests: <int> | default = 50] [consecutive_failures: <int> | default = 5] [failure_percent: <float> | default =

[enabled_items: <list of string> | default = []] redis: [addresses: <string> | default = ""] [username: <string> | default = ""] [password: <string> | default = ""] [db: <int> | default = 0] [master_name: <string> | default = ""] [maxgetmulti_concurrency: <int> | default = 100] [getmultibatch_size: <int> | default = 100] [maxsetmulti_concurrency: <int> | default = 100] [setmultibatch_size: <int> | default = 100] [maxasyncconcurrency: <int> | default = 50] [maxasyncbuffer_size: <int> | default = 10000] [dial_timeout: <duration> | default = 5s] [read_timeout: <duration> | default = 3s] [write_timeout: <duration> | default = 3s] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [cache_size: <int> | default = 0] setasynccircuitbreakerconfig: [enabled: <boolean> | default = false] [halfopenmax_requests: <int> | default = 10] [open_duration: <duration> | default = 5s] [min_requests: <int> | default = 50] [consecutive_failures: <int> | default = 5] [failure_percent: <float> | default = 0.05] [enabled_items: <list of string> | default = []] multilevel: [maxasyncconcurrency: <int> | default = 50] [maxasyncbuffer_size: <int> | default = 10000] [maxbackfillitems: <int> | default = 10000] chunks_cache: [backend: <string> | default = ""] memcached: [addresses: <string> | default = ""] [timeout: <duration> | default = 100ms] [maxidleconnections: <int> | default = 16] [maxasyncconcurrency: <int> | default = 50] [maxasyncbuffer_size: <int> | default = 10000] [maxgetmulti_concurrency: <int> | default = 100] [maxgetmultibatchsize: <int> | default = 0] [maxitemsize: <int> | default = 1048576] [auto_discovery: <boolean> | default = false] setasynccircuitbreakerconfig: [enabled: <boolean> | default = false] [halfopenmax_requests: <int> | default = 10] [open_duration: <duration> | default = 5s] [min_requests: <int> | default = 50] [consecutive_failures: <int> | default = 5] [failure_percent: <float> | default = 0.05] redis: [addresses: <string> | default = ""] [username: <string> | default = ""] [password: <string> | default = ""] [db: <int> | default = 0] [master_name: <string> | default = ""] [maxgetmulti_concurrency: <int> | default = 100] [getmultibatch_size: <int> | default = 100] [maxsetmulti_concurrency: <int> | default = 100] [setmultibatch_size: <int> | default = 100] [maxasyncconcurrency: <int> | default = 50] [maxasyncbuffer_size: <int> | default = 10000] [dial_timeout: <duration> | default = 5s] [read_timeout: <duration> | default = 3s] [write_timeout: <duration> | default = 3s] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [cache_size: <int> | default = 0] setasynccircuitbreakerconfig: [enabled: <boolean> | default = false] [halfopenmax_requests: <int> | default = 10] [open_duration: <duration> | default = 5s] [min_requests: <int> | default = 50] [consecutive_failures: <int> | default = 5] [failure_percent: <float> | default = 0.05] [subrange_size: <int> | default = 16000] [maxgetrange_requests: <int> | default = 3] [attributes_ttl: <duration> | default = 168h] [subrange_ttl: <duration> | default = 24h] metadata_cache: [backend: <string> | default = ""] memcached: [addresses: <string> | default = ""] [timeout: <duration> | default = 100ms] [maxidleconnections: <int> | default = 16] [maxasyncconcurrency: <int> | default = 50] [maxasyncbuffer_size: <int> | default = 10000] [maxgetmulti_concurrency: <int> | default = 100] [maxgetmultibatchsize: <int> | default = 0] [maxitemsize: <int> | default = 1048576] [auto_discovery: <boolean> | default = false] setasynccircuitbreakerconfig: [enabled: <boolean> | default = false] [halfopenmax_requests: <int> | default = 10] [open_duration: <duration> | default = 5s] [min_requests: <int> | default = 50] [consecutive_failures: <int> | default = 5] [failure_percent: <float> | default =

redis: [addresses: <string> | default = ""] [username: <string> | default = ""] [password: <string> | default = ""] [db: <int> | default = 0] [master_name: <string> | default = ""] [maxgetmulti_concurrency: <int> | default = 100] [getmultibatch_size: <int> | default = 100] [maxsetmulti_concurrency: <int> | default = 100] [setmultibatch_size: <int> | default = 100] [maxasyncconcurrency: <int> | default = 50] [maxasyncbuffer_size: <int> | default = 10000] [dial_timeout: <duration> | default = 5s] [read_timeout: <duration> | default = 3s] [write_timeout: <duration> | default = 3s] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [cache_size: <int> | default = 0] setasynccircuitbreakerconfig: [enabled: <boolean> | default = false] [halfopenmax_requests: <int> | default = 10] [open_duration: <duration> | default = 5s] [min_requests: <int> | default = 50] [consecutive_failures: <int> | default = 5] [failure_percent: <float> | default = 0.05] [tenantslistttl: <duration> | default = 15m] [tenantblockslist_ttl: <duration> | default = 5m] [chunkslistttl: <duration> | default = 24h] [metafileexiststtl: <duration> | default = 2h] [metafiledoesntexist_ttl: <duration> | default = 5m] [metafilecontentttl: <duration> | default = 24h] [metafilemaxsize_bytes: <int> | default = 1048576] [metafileattributesttl: <duration> | default = 168h] [blockindexattributes_ttl: <duration> | default = 168h] [bucketindexcontent_ttl: <duration> | default = 5m] [bucketindexmaxsizebytes: <int> | default = 1048576] [ignoredeletionmark_delay: <duration> | default = 6h] [ignoreblockswithin: <duration> | default = 0s] bucket_index: [enabled: <boolean> | default = false] [updateonerror_interval: <duration> | default = 1m] [idle_timeout: <duration> | default = 1h] [maxstaleperiod: <duration> | default = 1h] [blockdiscoverystrategy: <string> | default = "concurrent"] [maxchunkpool_bytes: <int> | default = 2147483648] [indexheaderlazyloadingenabled: <boolean> | default = false] [indexheaderlazyloadingidle_timeout: <duration> | default = 20m] [lazyexpandedpostings_enabled: <boolean> | default = false] [seriesbatchsize: <int> | default = 10000] tsdb: [dir: <string> | default = "tsdb"] [blockrangesperiod: <list of duration> | default = 2h0m0s] [retention_period: <duration> | default = 6h] [ship_interval: <duration> | default = 1m] [ship_concurrency: <int> | default = 10] [headcompactioninterval: <duration> | default = 1m] [headcompactionconcurrency: <int> | default = 5] [headcompactionidle_timeout: <duration> | default = 1h] [headchunkswritebuffersize_bytes: <int> | default = 4194304] [stripe_size: <int> | default = 16384] [walcompressionenabled: <boolean> | default = false] [walsegmentsize_bytes: <int> | default = 134217728] [flushblockson_shutdown: <boolean> | default = false] [closeidletsdb_timeout: <duration> | default = 0s] [headchunkswritequeuesize: <int> | default = 0] [maxtsdbopeningconcurrencyon_startup: <int> | default = 10] [max_exemplars: <int> | default = 0] [memorysnapshoton_shutdown: <boolean> | default = false] [outofordercapmax: <int> | default = 32] ``` The `compactor_config` configures the compactor for the blocks storage. ```yaml [block_ranges: <list of duration> | default = 2h0m0s,12h0m0s,24h0m0s] [blocksyncconcurrency: <int> | default = 20] [metasyncconcurrency: <int> | default = 20] [consistency_delay: <duration> | default = 0s] [data_dir: <string> | default =

[compaction_interval: <duration> | default = 1h] [compaction_retries: <int> | default = 3] [compaction_concurrency: <int> | default = 1] [cleanup_interval: <duration> | default = 15m] [cleanup_concurrency: <int> | default = 20] [deletion_delay: <duration> | default = 12h] [tenantcleanupdelay: <duration> | default = 6h] [skipblockswithoutoforderchunks_enabled: <boolean> | default = false] [blockfilesconcurrency: <int> | default = 10] [blocksfetchconcurrency: <int> | default = 3] [blockdeletionmarksmigrationenabled: <boolean> | default = false] [enabled_tenants: <string> | default = ""] [disabled_tenants: <string> | default = ""] [sharding_enabled: <boolean> | default = false] [sharding_strategy: <string> | default = "default"] sharding_ring: kvstore: [store: <string> | default = "consul"] [prefix: <string> | default = "collectors/"] dynamodb: [region: <string> | default = ""] [table_name: <string> | default = ""] [ttl: <duration> | default = 0s] [pullersynctime: <duration> | default = 1m] [maxcasretries: <int> | default = 10] [consul: <consul_config>] [etcd: <etcd_config>] multi: [primary: <string> | default = ""] [secondary: <string> | default = ""] [mirror_enabled: <boolean> | default = false] [mirror_timeout: <duration> | default = 2s] [heartbeat_period: <duration> | default = 5s] [heartbeat_timeout: <duration> | default = 1m] [waitstabilitymin_duration: <duration> | default = 1m] [waitstabilitymax_duration: <duration> | default = 5m] [instanceinterfacenames: <list of string> | default = [eth0 en0]] [tokensfilepath: <string> | default = ""] [unregisteronshutdown: <boolean> | default = true] [waitactiveinstance_timeout: <duration> | default = 10m] [blockvisitmarker_timeout: <duration> | default = 5m] [blockvisitmarkerfileupdate_interval: <duration> | default = 1m] [acceptmalformedindex: <boolean> | default = false] [cachingbucketenabled: <boolean> | default = false] ``` The `configs_config` configures the Cortex Configs DB and API. ```yaml database: [uri: <string> | default = "postgres://postgres@configs-db.weave.local/configs?sslmode=disable"] [migrations_dir: <string> | default = ""] [password_file: <string> | default = ""] api: notifications: [disable_email: <boolean> | default = false] [disable_webhook: <boolean> | default = false] ``` The `configstore_config` configures the config database storing rules and alerts, and is used by the Cortex alertmanager. The supported CLI flags `<prefix>` used to reference this config block are: `alertmanager-storage` `ruler-storage` &nbsp; ```yaml [configsapiurl: <url> | default = ] [client_timeout: <duration> | default = 5s] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] ``` The `consul_config` configures the consul client. The supported CLI flags `<prefix>` used to reference this config block are: no prefix `alertmanager.sharding-ring` `compactor.ring` `distributor.ha-tracker` `distributor.ring` `ruler.ring` `store-gateway.sharding-ring` &nbsp; ```yaml [host: <string> | default = "localhost:8500"] [acl_token: <string> | default = ""] [httpclienttimeout: <duration> | default = 20s] [consistent_reads: <boolean> | default = false] [watchratelimit: <float> | default = 1] [watchburstsize: <int> | default = 1] ``` The `distributor_config` configures the Cortex distributor. ```yaml pool: [clientcleanupperiod: <duration> | default = 15s] [healthcheckingesters: <boolean> | default = true] ha_tracker: [enablehatracker: <boolean> | default = false] [hatrackerupdate_timeout: <duration> | default = 15s] [hatrackerupdatetimeoutjitter_max: <duration> | default = 5s] [hatrackerfailover_timeout: <duration> | default = 30s] kvstore: [store: <string> | default = "consul"] [prefix: <string> | default = "ha-tracker/"] dynamodb: [region: <string> | default = ""] [table_name: <string> | default = ""] [ttl: <duration> | default = 0s] [pullersynctime: <duration> | default = 1m] [maxcasretries: <int> | default = 10] [consul: <consul_config>] [etcd: <etcd_config>] multi: [primary: <string> | default = ""] [secondary: <string> | default = ""] [mirror_enabled: <boolean> | default = false] [mirror_timeout: <duration> | default = 2s] [maxrecvmsg_size: <int> | default = 104857600] [remote_timeout: <duration> | default = 2s] [extraqueuedelay: <duration> | default = 0s] [sharding_strategy: <string> | default = "default"] [shardbyall_labels: <boolean> | default = false] [extend_writes: <boolean> | default = true] [signwriterequests: <boolean> | default = false] ring: kvstore: [store: <string> | default = "consul"] [prefix: <string> | default = "collectors/"] dynamodb: [region: <string> | default = ""] [table_name: <string> | default = ""] [ttl: <duration> | default = 0s] [pullersynctime: <duration> | default = 1m] [maxcasretries: <int> | default = 10] [consul: <consul_config>] [etcd: <etcd_config>] multi: [primary: <string> | default = ""] [secondary: <string> | default = ""] [mirror_enabled: <boolean> | default = false] [mirror_timeout: <duration> | default = 2s] [heartbeat_period: <duration> | default = 5s] [heartbeat_timeout: <duration> | default = 1m] [instanceinterfacenames: <list of string> | default = [eth0 en0]] instance_limits: [maxingestionrate: <float> | default = 0] [maxinflightpush_requests: <int> | default = 0] ``` The `etcd_config` configures the etcd client. The supported CLI flags `<prefix>` used to reference this config block are: no prefix `alertmanager.sharding-ring` `compactor.ring` `distributor.ha-tracker` `distributor.ring` `ruler.ring` `store-gateway.sharding-ring` &nbsp; ```yaml [endpoints: <list of string> | default = []] [dial_timeout: <duration> | default = 10s] [max_retries: <int> | default = 10] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [username: <string> | default = ""] [password: <string> | default = ""] [ping-without-stream-allowed: <boolean> | default = true] ``` The `fifocacheconfig` configures the local in-memory

```yaml [maxsizebytes: <string> | default = ""] [maxsizeitems: <int> | default = 0] [validity: <duration> | default = 0s] [size: <int> | default = 0] ``` The `flusher_config` configures the WAL flusher target, used to manually run one-time flushes when scaling down ingesters. ```yaml [exitafterflush: <boolean> | default = true] ``` The `frontendworkerconfig` configures the worker - running within the Cortex querier - picking up and executing queries enqueued by the query-frontend or query-scheduler. ```yaml [frontend_address: <string> | default = ""] [scheduler_address: <string> | default = ""] [dnslookupduration: <duration> | default = 10s] [parallelism: <int> | default = 10] [matchmaxconcurrent: <boolean> | default = false] [id: <string> | default = ""] grpcclientconfig: [maxrecvmsg_size: <int> | default = 104857600] [maxsendmsg_size: <int> | default = 16777216] [grpc_compression: <string> | default = ""] [rate_limit: <float> | default = 0] [ratelimitburst: <int> | default = 0] [backoffonratelimits: <boolean> | default = false] backoff_config: [min_period: <duration> | default = 100ms] [max_period: <duration> | default = 10s] [max_retries: <int> | default = 10] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] ``` The `ingester_config` configures the Cortex ingester. ```yaml lifecycler: ring: kvstore: [store: <string> | default = "consul"] [prefix: <string> | default = "collectors/"] dynamodb: [region: <string> | default = ""] [table_name: <string> | default = ""] [ttl: <duration> | default = 0s] [pullersynctime: <duration> | default = 1m] [maxcasretries: <int> | default = 10] [consul: <consul_config>] [etcd: <etcd_config>] multi: [primary: <string> | default = ""] [secondary: <string> | default = ""] [mirror_enabled: <boolean> | default = false] [mirror_timeout: <duration> | default = 2s] [heartbeat_timeout: <duration> | default = 1m] [replication_factor: <int> | default = 3] [zoneawarenessenabled: <boolean> | default = false] [excluded_zones: <string> | default = ""] [detailedmetricsenabled: <boolean> | default = true] [num_tokens: <int> | default = 128] [tokensgeneratorstrategy: <string> | default = "random"] [heartbeat_period: <duration> | default = 5s] [observe_period: <duration> | default = 0s] [join_after: <duration> | default = 0s] [minreadyduration: <duration> | default = 15s] [interface_names: <list of string> | default = [eth0 en0]] [final_sleep: <duration> | default = 30s] [tokensfilepath: <string> | default = ""] [availability_zone: <string> | default = ""] [unregisteronshutdown: <boolean> | default = true] [readinesscheckring_health: <boolean> | default = true] [metadataretainperiod: <duration> | default = 10m] [rateupdateperiod: <duration> | default = 15s] [usertsdbconfigsupdateperiod: <duration> | default = 15s] [activeseriesmetrics_enabled: <boolean> | default = true] [activeseriesmetricsupdateperiod: <duration> | default = 1m] [activeseriesmetricsidletimeout: <duration> | default = 10m] instance_limits: [maxingestionrate: <float> | default = 0] [max_tenants: <int> | default = 0] [max_series: <int> | default = 0] [maxinflightpush_requests: <int> | default = 0] [ignoreserieslimitformetric_names: <string> | default = ""] [adminlimitmessage: <string> | default = "please contact administrator to raise it"] ``` The `ingesterclientconfig` configures how the Cortex distributors connect to the ingesters. ```yaml grpcclientconfig: [maxrecvmsg_size: <int> | default = 104857600] [maxsendmsg_size: <int> | default = 16777216] [grpc_compression: <string> | default = ""] [rate_limit: <float> | default = 0] [ratelimitburst: <int> | default = 0] [backoffonratelimits: <boolean> | default = false] backoff_config: [min_period: <duration> | default = 100ms] [max_period: <duration> | default = 10s] [max_retries: <int> | default = 10] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [maxinflightpush_requests: <int> | default = 0] ``` The `limits_config` configures default and per-tenant limits imposed by Cortex services (ie. distributor, ingester,

```yaml [ingestion_rate: <float> | default = 25000] [ingestionratestrategy: <string> | default = "local"] [ingestionburstsize: <int> | default = 50000] [accepthasamples: <boolean> | default = false] [haclusterlabel: <string> | default = "cluster"] [hareplicalabel: <string> | default = "replica"] [hamaxclusters: <int> | default = 0] [drop_labels: <list of string> | default = []] [maxlabelname_length: <int> | default = 1024] [maxlabelvalue_length: <int> | default = 2048] [maxlabelnamesperseries: <int> | default = 30] [maxlabelssize_bytes: <int> | default = 0] [maxmetadatalength: <int> | default = 1024] [rejectoldsamples: <boolean> | default = false] [rejectoldsamplesmaxage: <duration> | default = 2w] [creationgraceperiod: <duration> | default = 10m] [enforcemetadatametric_name: <boolean> | default = true] [enforcemetricname: <boolean> | default = true] [ingestiontenantshard_size: <int> | default = 0] [metricrelabelconfigs: <relabel_config...> | default = []] [max_exemplars: <int> | default = 0] [maxseriesper_user: <int> | default = 5000000] [maxseriesper_metric: <int> | default = 50000] [maxglobalseriesperuser: <int> | default = 0] [maxglobalseriespermetric: <int> | default = 0] [maxseriesperlabelset: <list of MaxSeriesPerLabelSet> | default = []] [maxmetadataper_user: <int> | default = 8000] [maxmetadataper_metric: <int> | default = 10] [maxglobalmetadataperuser: <int> | default = 0] [maxglobalmetadatapermetric: <int> | default = 0] [outofordertimewindow: <duration> | default = 0s] [maxfetchedchunksperquery: <int> | default = 2000000] [maxfetchedseriesperquery: <int> | default = 0] [maxfetchedchunkbytesper_query: <int> | default = 0] [maxfetcheddatabytesper_query: <int> | default = 0] [maxquerylookback: <duration> | default = 0s] [maxquerylength: <duration> | default = 0s] [maxqueryparallelism: <int> | default = 14] [maxcachefreshness: <duration> | default = 1m] [maxqueriersper_tenant: <float> | default = 0] [maxoutstandingrequestspertenant: <int> | default = 100] query_priority: [enabled: <boolean> | default = false] [default_priority: <int> | default = 0] [priorities: <list of PriorityDef> | default = []] [rulerevaluationdelay_duration: <duration> | default = 0s] [rulertenantshard_size: <int> | default = 0] [rulermaxrulesperrule_group: <int> | default = 0] [rulermaxrulegroupsper_tenant: <int> | default = 0] [storegatewaytenantshardsize: <float> | default = 0] [maxdownloadedbytesperrequest: <int> | default = 0] [compactorblocksretention_period: <duration> | default = 0s] [compactortenantshard_size: <int> | default = 0] [s3ssetype: <string> | default = ""] [s3ssekmskeyid: <string> | default = ""] [s3ssekmsencryptioncontext: <string> | default = ""] [alertmanagerreceiversfirewallblockcidr_networks: <string> | default = ""] [alertmanagerreceiversfirewallblockprivate_addresses: <boolean> | default = false] [alertmanagernotificationrate_limit: <float> | default = 0] [alertmanagernotificationratelimitper_integration: <map of string to float64> | default = {}] [alertmanagermaxconfigsizebytes: <int> | default = 0] [alertmanagermaxtemplates_count: <int> | default = 0] [alertmanagermaxtemplatesizebytes: <int> | default = 0] [alertmanagermaxdispatcheraggregationgroups: <int> | default = 0] [alertmanagermaxalerts_count: <int> | default = 0] [alertmanagermaxalertssizebytes: <int> | default = 0] [disabledrulegroups: <list of DisabledRuleGroup> | default = []] ``` The `memberlist_config` configures the Gossip memberlist. ```yaml [node_name: <string> | default = ""] [randomizenodename: <boolean> | default = true] [stream_timeout: <duration> | default = 10s] [retransmit_factor: <int> | default = 4] [pullpushinterval: <duration> | default = 30s] [gossip_interval: <duration> | default = 200ms] [gossip_nodes: <int> | default = 3] [gossiptodeadnodestime: <duration> | default = 30s] [deadnodereclaim_time: <duration> | default = 0s] [compression_enabled: <boolean> | default = true] [advertise_addr: <string> | default = ""] [advertise_port: <int> | default = 7946] [join_members: <list of string> | default = []] [minjoinbackoff: <duration> | default = 1s] [maxjoinbackoff: <duration> | default = 1m] [maxjoinretries: <int> | default = 10] [abortifclusterjoinfails: <boolean> | default = true] [rejoin_interval: <duration> | default = 0s] [leftingesterstimeout: <duration> | default = 5m] [leave_timeout: <duration> | default = 5s] [messagehistorybuffer_bytes: <int> | default = 0] [bind_addr: <list of string> | default = []] [bind_port: <int> | default = 7946] [packetdialtimeout: <duration> | default = 5s] [packetwritetimeout: <duration> | default = 5s] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] ``` The `memcached_config` block configures how data is stored in Memcached (ie.

```yaml [expiration: <duration> | default = 0s] [batch_size: <int> | default = 1024] [parallelism: <int> | default = 100] ``` The `memcachedclientconfig` configures the client used to connect to Memcached. ```yaml [host: <string> | default = ""] [service: <string> | default = "memcached"] [addresses: <string> | default = ""] [timeout: <duration> | default = 100ms] [maxidleconns: <int> | default = 16] [maxitemsize: <int> | default = 0] [update_interval: <duration> | default = 1m] [consistent_hash: <boolean> | default = true] [circuitbreakerconsecutive_failures: <int> | default = 10] [circuitbreakertimeout: <duration> | default = 10s] [circuitbreakerinterval: <duration> | default = 10s] ``` The `querier_config` configures the Cortex querier. ```yaml [max_concurrent: <int> | default = 20] [timeout: <duration> | default = 2m] [ingestermetadatastreaming: <boolean> | default = false] [max_samples: <int> | default = 50000000] [queryingesterswithin: <duration> | default = 0s] [querystoreforlabelsenabled: <boolean> | default = false] [perstepstats_enabled: <boolean> | default = false] [querystoreafter: <duration> | default = 0s] [maxqueryinto_future: <duration> | default = 10m] [defaultevaluationinterval: <duration> | default = 1m] [maxsubquerysteps: <int> | default = 0] [activequerytracker_dir: <string> | default = "./active-query-tracker"] [lookback_delta: <duration> | default = 5m] [storegatewayaddresses: <string> | default = ""] storegatewayclient: [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [grpc_compression: <string> | default = ""] [storegatewayquery_stats: <boolean> | default = true] [shuffleshardingingesterslookbackperiod: <duration> | default = 0s] [thanos_engine: <boolean> | default = false] [ignoremaxquery_length: <boolean> | default = false] ``` The `queryfrontendconfig` configures the Cortex query-frontend. ```yaml [logquerieslonger_than: <duration> | default = 0s] [maxbodysize: <int> | default = 10485760] [querystatsenabled: <boolean> | default = false] [maxoutstandingper_tenant: <int> | default = 0] [querierforgetdelay: <duration> | default = 0s] [scheduler_address: <string> | default = ""] [schedulerdnslookup_period: <duration> | default = 10s] [schedulerworkerconcurrency: <int> | default = 5] grpcclientconfig: [maxrecvmsg_size: <int> | default = 104857600] [maxsendmsg_size: <int> | default = 16777216] [grpc_compression: <string> | default = ""] [rate_limit: <float> | default = 0] [ratelimitburst: <int> | default = 0] [backoffonratelimits: <boolean> | default = false] backoff_config: [min_period: <duration> | default = 100ms] [max_period: <duration> | default = 10s] [max_retries: <int> | default = 10] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [retryontoomanyoutstanding_requests: <boolean> | default = false] [instanceinterfacenames: <list of string> | default = [eth0 en0]] [downstream_url: <string> | default = ""] ``` The `queryrangeconfig` configures the query splitting and caching in the Cortex query-frontend. ```yaml [splitqueriesby_interval: <duration> | default = 0s] [alignquerieswith_step: <boolean> | default = false] results_cache: cache: [enable_fifocache: <boolean> | default = false] [default_validity: <duration> | default = 0s] background: [writeback_goroutines: <int> | default = 10] [writeback_buffer: <int> | default = 10000] [memcached: <memcached_config>] [memcachedclient: <memcachedclient_config>] [redis: <redis_config>] [fifocache: <fifocacheconfig>] [compression: <string> | default = ""] [cachequeryablesamples_stats: <boolean> | default = false] [cache_results: <boolean> | default = false] [max_retries: <int> | default = 5] [forwardheaderslist: <list of string> | default = []] ``` The `redis_config` configures the Redis backend cache. ```yaml [endpoint: <string> | default = ""] [master_name: <string> | default = ""] [timeout: <duration> | default = 500ms] [expiration: <duration> | default = 0s] [db: <int> | default = 0] [pool_size: <int> | default = 0] [password: <string> | default = ""] [tls_enabled: <boolean> | default = false] [tlsinsecureskip_verify: <boolean> | default = false] [idle_timeout: <duration> | default = 0s] [maxconnectionage: <duration> | default = 0s] ``` The `ruler_config` configures the Cortex

```yaml [external_url: <url> | default = ] [external_labels: <map of string (labelName) to string (labelValue)> | default = []] ruler_client: [maxrecvmsg_size: <int> | default = 104857600] [maxsendmsg_size: <int> | default = 16777216] [grpc_compression: <string> | default = ""] [rate_limit: <float> | default = 0] [ratelimitburst: <int> | default = 0] [backoffonratelimits: <boolean> | default = false] backoff_config: [min_period: <duration> | default = 100ms] [max_period: <duration> | default = 10s] [max_retries: <int> | default = 10] [tls_enabled: <boolean> | default = false] [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [evaluation_interval: <duration> | default = 1m] [poll_interval: <duration> | default = 1m] [rule_path: <string> | default = "/rules"] [alertmanager_url: <string> | default = ""] [enablealertmanagerdiscovery: <boolean> | default = false] [alertmanagerrefreshinterval: <duration> | default = 1m] [notificationqueuecapacity: <int> | default = 10000] [notification_timeout: <duration> | default = 10s] alertmanager_client: [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] [basicauthusername: <string> | default = ""] [basicauthpassword: <string> | default = ""] [foroutagetolerance: <duration> | default = 1h] [forgraceperiod: <duration> | default = 10m] [resend_delay: <duration> | default = 1m] [concurrentevalsenabled: <boolean> | default = false] [maxconcurrentevals: <int> | default = 1] [enable_sharding: <boolean> | default = false] [sharding_strategy: <string> | default = "default"] [searchpendingfor: <duration> | default = 5m] ring: kvstore: [store: <string> | default = "consul"] [prefix: <string> | default = "rulers/"] dynamodb: [region: <string> | default = ""] [table_name: <string> | default = ""] [ttl: <duration> | default = 0s] [pullersynctime: <duration> | default = 1m] [maxcasretries: <int> | default = 10] [consul: <consul_config>] [etcd: <etcd_config>] multi: [primary: <string> | default = ""] [secondary: <string> | default = ""] [mirror_enabled: <boolean> | default = false] [mirror_timeout: <duration> | default = 2s] [heartbeat_period: <duration> | default = 5s] [heartbeat_timeout: <duration> | default = 1m] [replication_factor: <int> | default = 1] [zoneawarenessenabled: <boolean> | default = false] [instanceinterfacenames: <list of string> | default = [eth0 en0]] [num_tokens: <int> | default = 128] [final_sleep: <duration> | default = 0s] [flush_period: <duration> | default = 1m] [enable_api: <boolean> | default = false] [apideduplicaterules: <boolean> | default = false] [enabled_tenants: <string> | default = ""] [disabled_tenants: <string> | default = ""] [querystatsenabled: <boolean> | default = false] [disablerulegroup_label: <boolean> | default = false] ``` The `rulerstorageconfig` configures the Cortex ruler storage

```yaml [backend: <string> | default = "s3"] s3: [endpoint: <string> | default = ""] [region: <string> | default = ""] [bucket_name: <string> | default = ""] [secretaccesskey: <string> | default = ""] [accesskeyid: <string> | default = ""] [insecure: <boolean> | default = false] [signature_version: <string> | default = "v4"] [bucketlookuptype: <string> | default = "auto"] [sendcontentmd5: <boolean> | default = true] [sse: <s3sseconfig>] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] gcs: [bucket_name: <string> | default = ""] [service_account: <string> | default = ""] azure: [account_name: <string> | default = ""] [account_key: <string> | default = ""] [connection_string: <string> | default = ""] [container_name: <string> | default = ""] [endpoint_suffix: <string> | default = ""] [max_retries: <int> | default = 20] [msi_resource: <string> | default = ""] [userassignedid: <string> | default = ""] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] swift: [auth_version: <int> | default = 0] [auth_url: <string> | default = ""] [username: <string> | default = ""] [userdomainname: <string> | default = ""] [userdomainid: <string> | default = ""] [user_id: <string> | default = ""] [password: <string> | default = ""] [domain_id: <string> | default = ""] [domain_name: <string> | default = ""] [project_id: <string> | default = ""] [project_name: <string> | default = ""] [projectdomainid: <string> | default = ""] [projectdomainname: <string> | default = ""] [region_name: <string> | default = ""] [container_name: <string> | default = ""] [max_retries: <int> | default = 3] [connect_timeout: <duration> | default = 10s] [request_timeout: <duration> | default = 5s] filesystem: [dir: <string> | default = ""] [configdb: <configstore_config>] local: [directory: <string> | default = ""] ``` The `runtimeconfigurationstorage_config` configures the storage backend for the runtime configuration file. ```yaml [period: <duration> | default = 10s] [file: <string> | default = ""] [backend: <string> | default = "filesystem"] s3: [endpoint: <string> | default = ""] [region: <string> | default = ""] [bucket_name: <string> | default = ""] [secretaccesskey: <string> | default = ""] [accesskeyid: <string> | default = ""] [insecure: <boolean> | default = false] [signature_version: <string> | default = "v4"] [bucketlookuptype: <string> | default = "auto"] [sendcontentmd5: <boolean> | default = true] [sse: <s3sseconfig>] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] gcs: [bucket_name: <string> | default = ""] [service_account: <string> | default = ""] azure: [account_name: <string> | default = ""] [account_key: <string> | default = ""] [connection_string: <string> | default = ""] [container_name: <string> | default = ""] [endpoint_suffix: <string> | default = ""] [max_retries: <int> | default = 20] [msi_resource: <string> | default = ""] [userassignedid: <string> | default = ""] http: [idleconntimeout: <duration> | default = 1m30s] [responseheadertimeout: <duration> | default = 2m] [insecureskipverify: <boolean> | default = false] [tlshandshaketimeout: <duration> | default = 10s] [expectcontinuetimeout: <duration> | default = 1s] [maxidleconnections: <int> | default = 100] [maxidleconnectionsperhost: <int> | default = 100] [maxconnectionsper_host: <int> | default = 0] swift: [auth_version: <int> | default = 0] [auth_url: <string> | default = ""] [username: <string> | default = ""] [userdomainname: <string> | default = ""] [userdomainid: <string> | default = ""] [user_id: <string> | default = ""] [password: <string> | default = ""] [domain_id: <string> | default = ""] [domain_name: <string> | default = ""] [project_id: <string> | default = ""] [project_name: <string> | default = ""] [projectdomainid: <string> | default = ""] [projectdomainname: <string> | default = ""] [region_name: <string> | default = ""] [container_name: <string> | default = ""] [max_retries: <int> | default = 3] [connect_timeout: <duration> | default = 10s] [request_timeout: <duration> | default = 5s] filesystem: [dir: <string> | default = ""] ``` The `s3sseconfig` configures the S3 server-side encryption. The supported CLI flags `<prefix>` used to reference this config block are: `alertmanager-storage` `blocks-storage` `ruler-storage` `runtime-config` &nbsp; ```yaml [type: <string> | default = ""] [kmskeyid: <string> | default = ""] [kmsencryptioncontext: <string> | default = ""] ``` The `server_config` configures the HTTP and gRPC server of the launched

```yaml [httplistennetwork: <string> | default = "tcp"] [httplistenaddress: <string> | default = ""] [httplistenport: <int> | default = 80] [httplistenconn_limit: <int> | default = 0] [grpclistennetwork: <string> | default = "tcp"] [grpclistenaddress: <string> | default = ""] [grpclistenport: <int> | default = 9095] [grpclistenconn_limit: <int> | default = 0] [tlsciphersuites: <string> | default = ""] [tlsminversion: <string> | default = ""] httptlsconfig: [cert_file: <string> | default = ""] [key_file: <string> | default = ""] [clientauthtype: <string> | default = ""] [clientcafile: <string> | default = ""] grpctlsconfig: [cert_file: <string> | default = ""] [key_file: <string> | default = ""] [clientauthtype: <string> | default = ""] [clientcafile: <string> | default = ""] [register_instrumentation: <boolean> | default = true] [gracefulshutdowntimeout: <duration> | default = 30s] [httpserverread_timeout: <duration> | default = 30s] [httpserverwrite_timeout: <duration> | default = 30s] [httpserveridle_timeout: <duration> | default = 2m] [grpcservermaxrecvmsg_size: <int> | default = 4194304] [grpcservermaxsendmsg_size: <int> | default = 4194304] [grpcservermaxconcurrentstreams: <int> | default = 100] [grpcservermaxconnectionidle: <duration> | default = 2562047h47m16.854775807s] [grpcservermaxconnectionage: <duration> | default = 2562047h47m16.854775807s] [grpcservermaxconnectionage_grace: <duration> | default = 2562047h47m16.854775807s] [grpcserverkeepalive_time: <duration> | default = 2h] [grpcserverkeepalive_timeout: <duration> | default = 20s] [grpcservermintimebetween_pings: <duration> | default = 10s] [grpcserverpingwithoutstream_allowed: <boolean> | default = true] [log_format: <string> | default = "logfmt"] [log_level: <string> | default = "info"] [logsourceips_enabled: <boolean> | default = false] [logsourceips_header: <string> | default = ""] [logsourceips_regex: <string> | default = ""] [logrequestheaders: <boolean> | default = false] [logrequestatinfolevel_enabled: <boolean> | default = false] [logrequestexcludeheaderslist: <string> | default = ""] [httppathprefix: <string> | default = ""] ``` The `storage_config` configures the storage type Cortex uses. ```yaml [engine: <string> | default = "blocks"] ``` The `storegatewayconfig` configures the store-gateway service used by the blocks storage. ```yaml [sharding_enabled: <boolean> | default = false] sharding_ring: kvstore: [store: <string> | default = "consul"] [prefix: <string> | default = "collectors/"] dynamodb: [region: <string> | default = ""] [table_name: <string> | default = ""] [ttl: <duration> | default = 0s] [pullersynctime: <duration> | default = 1m] [maxcasretries: <int> | default = 10] [consul: <consul_config>] [etcd: <etcd_config>] multi: [primary: <string> | default = ""] [secondary: <string> | default = ""] [mirror_enabled: <boolean> | default = false] [mirror_timeout: <duration> | default = 2s] [heartbeat_period: <duration> | default = 15s] [heartbeat_timeout: <duration> | default = 1m] [replication_factor: <int> | default = 3] [tokensfilepath: <string> | default = ""] [zoneawarenessenabled: <boolean> | default = false] [keepinstanceintheringonshutdown: <boolean> | default = false] [waitstabilitymin_duration: <duration> | default = 1m] [waitstabilitymax_duration: <duration> | default = 5m] [waitinstancestate_timeout: <duration> | default = 10m] [final_sleep: <duration> | default = 0s] [instanceinterfacenames: <list of string> | default = [eth0 en0]] [instanceavailabilityzone: <string> | default = ""] [sharding_strategy: <string> | default = "default"] [enabled_tenants: <string> | default = ""] [disabled_tenants: <string> | default = ""] ``` The `tracing_config` configures backends cortex uses. ```yaml [type: <string> | default = "jaeger"] otel: [otlp_endpoint: <string> | default = ""] [exporter_type: <string> | default = ""] [sample_ratio: <float> | default = 0.001] [round_robin: <boolean> | default = false] [tls_enabled: <boolean> | default = false] tls: [tlscertpath: <string> | default = ""] [tlskeypath: <string> | default = ""] [tlscapath: <string> | default = ""] [tlsservername: <string> | default = ""] [tlsinsecureskip_verify: <boolean> | default = false] ``` ```yaml [limit: <int> | default = ] [label_set: <map of string (labelName) to string (labelValue)> | default = []] ``` ```yaml [priority: <int> | default = 0] [reserved_queriers: <float> | default = 0] [query_attributes: <list of QueryAttribute> | default = []] ``` ```yaml [regex: <string> | default = ""] time_window: [start: <int> | default = 0] [end: <int> | default = 0] ``` ```yaml [namespace: <string>