<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Configure on Grafana Labs</title><link>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/</link><description>Recent content in Configure on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/enterprise-traces/v2.8.x/configure/index.xml" rel="self" type="application/rss+xml"/><item><title>Reference</title><link>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/reference/</link><pubDate>Tue, 20 Jan 2026 21:39:07 +0000</pubDate><guid>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/reference/</guid><content><![CDATA[&lt;h1 id=&#34;configuration-reference&#34;&gt;Configuration reference&lt;/h1&gt;
&lt;!-- DO NOT EDIT THIS FILE - This file has been automatically generated from its .template --&gt;
&lt;p&gt;Grafana Enterprise Traces can be configured using a YAML file - specified using the &lt;code&gt;-config.file&lt;/code&gt; flag - or CLI flags. In case you combine both, CLI flags take precedence over the YAML config file.&lt;/p&gt;
&lt;p&gt;The current configuration of any GET component can be seen by visiting the &lt;code&gt;/config&lt;/code&gt; HTTP path.
Passwords are filtered out of this endpoint.&lt;/p&gt;
&lt;p&gt;To specify which configuration file to load, pass the &lt;code&gt;-config.file&lt;/code&gt; flag at the command line. The file is written in &lt;a href=&#34;https://en.wikipedia.org/wiki/YAML&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;YAML format&lt;/a&gt;, defined by the scheme below. Brackets indicate that a parameter is optional.&lt;/p&gt;
&lt;h2 id=&#34;generic-placeholders&#34;&gt;Generic placeholders&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;boolean&amp;gt;&lt;/code&gt;: a boolean that can take the values &lt;code&gt;true&lt;/code&gt; or &lt;code&gt;false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;int&amp;gt;&lt;/code&gt;: any integer matching the regular expression &lt;code&gt;[1-9]&#43;[0-9]*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;duration&amp;gt;&lt;/code&gt;: a duration matching the regular expression &lt;code&gt;[0-9]&#43;(ns|us|µs|ms|s|m|h|d|w|y)&lt;/code&gt; where y = 365 days&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;string&amp;gt;&lt;/code&gt;: a regular string&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;url&amp;gt;&lt;/code&gt;: a URL&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;prefix&amp;gt;&lt;/code&gt;: a CLI flag prefix based on the context (look at the parent configuration block to see which CLI flags prefix should be used)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;&amp;lt;time&amp;gt;&lt;/code&gt;: a timestamp, with available formats: &lt;code&gt;2006-01-20&lt;/code&gt; (midnight, local timezone), &lt;code&gt;2006-01-20T15:04&lt;/code&gt; (local timezone), and RFC 3339 formats: &lt;code&gt;2006-01-20T15:04:05Z&lt;/code&gt; (UTC) or &lt;code&gt;2006-01-20T15:04:05&#43;07:00&lt;/code&gt; (explicit timezone)&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;use-environment-variables-in-the-configuration&#34;&gt;Use environment variables in the configuration&lt;/h4&gt;
&lt;p&gt;You can use environment variable references in the configuration file to set values that need to be configurable during deployment using &lt;code&gt;--config.expand-env&lt;/code&gt; option.
To do this, use:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;${VAR}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Where VAR is the name of the environment variable.&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;To specify a default value, use:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;${VAR:-default_value}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;where default_value is the value to use if the environment variable is undefined.&lt;/p&gt;
&lt;p&gt;You can find more about other supported syntax &lt;a href=&#34;https://github.com/drone/envsubst/blob/master/readme.md&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;supported-contents-and-default-values&#34;&gt;Supported contents and default values&lt;/h2&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# target module
# CLI flag: -target
[target: &amp;lt;string&amp;gt; | default = &amp;#34;all&amp;#34;]

# Set to true to enable auth (deprecated: use multitenancy.enabled)
# CLI flag: -auth.enabled
[auth_enabled: &amp;lt;boolean&amp;gt; | default = false]

# Set to true to enable multitenancy.
# CLI flag: -multitenancy.enabled
[multitenancy_enabled: &amp;lt;boolean&amp;gt; | default = false]

# How long to wait between SIGTERM and shutdown. After receiving SIGTERM, GET
# will report not-ready status via /ready endpoint.
# CLI flag: -shutdown-delay
[shutdown_delay: &amp;lt;duration&amp;gt; | default = 0s]

# stream_over_http_enabled is not exposed as CLI flag.
[stream_over_http_enabled: &amp;lt;boolean&amp;gt; | default = false]

# String prefix for all http api endpoints.
# CLI flag: -http-api-prefix
[http_api_prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# Set to true to enable all Go runtime metrics
# CLI flag: -enable-go-runtime-metrics
[enable_go_runtime_metrics: &amp;lt;boolean&amp;gt; | default = false]

# The server_config block configures the HTTP and gRPC server of the launched
# services.
[server: &amp;lt;server_config&amp;gt;]

internal_server:
  # http_listen_network is not exposed as CLI flag.
  [http_listen_network: &amp;lt;string&amp;gt; | default = &amp;#34;tcp&amp;#34;]

  # http_listen_address is not exposed as CLI flag.
  [http_listen_address: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # http_listen_port is not exposed as CLI flag.
  [http_listen_port: &amp;lt;int&amp;gt; | default = 3101]

  # http_listen_conn_limit is not exposed as CLI flag.
  [http_listen_conn_limit: &amp;lt;int&amp;gt; | default = 0]

  # grpc_listen_network is not exposed as CLI flag.
  [grpc_listen_network: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # grpc_listen_address is not exposed as CLI flag.
  [grpc_listen_address: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # grpc_listen_port is not exposed as CLI flag.
  [grpc_listen_port: &amp;lt;int&amp;gt; | default = 0]

  # grpc_listen_conn_limit is not exposed as CLI flag.
  [grpc_listen_conn_limit: &amp;lt;int&amp;gt; | default = 0]

  # grpc_collect_max_streams_by_conn is not exposed as CLI flag.
  [grpc_collect_max_streams_by_conn: &amp;lt;boolean&amp;gt; | default = false]

  # proxy_protocol_enabled is not exposed as CLI flag.
  [proxy_protocol_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # tls_cipher_suites is not exposed as CLI flag.
  [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_min_version is not exposed as CLI flag.
  [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  http_tls_config:
    # Server TLS certificate. This configuration parameter is YAML only.
    [cert: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Server TLS key. This configuration parameter is YAML only.
    [key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Root certificate authority used to verify client certificates. This
    # configuration parameter is YAML only.
    [client_ca: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # cert_file is not exposed as CLI flag.
    [cert_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # key_file is not exposed as CLI flag.
    [key_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # client_auth_type is not exposed as CLI flag.
    [client_auth_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # client_ca_file is not exposed as CLI flag.
    [client_ca_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  grpc_tls_config:
    # Server TLS certificate. This configuration parameter is YAML only.
    [cert: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Server TLS key. This configuration parameter is YAML only.
    [key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Root certificate authority used to verify client certificates. This
    # configuration parameter is YAML only.
    [client_ca: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # cert_file is not exposed as CLI flag.
    [cert_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # key_file is not exposed as CLI flag.
    [key_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # client_auth_type is not exposed as CLI flag.
    [client_auth_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # client_ca_file is not exposed as CLI flag.
    [client_ca_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # register_instrumentation is not exposed as CLI flag.
  [register_instrumentation: &amp;lt;boolean&amp;gt; | default = false]

  # report_grpc_codes_in_instrumentation_label_enabled is not exposed as CLI
  # flag.
  [report_grpc_codes_in_instrumentation_label_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # graceful_shutdown_timeout is not exposed as CLI flag.
  [graceful_shutdown_timeout: &amp;lt;duration&amp;gt; | default = 30s]

  # http_server_read_timeout is not exposed as CLI flag.
  [http_server_read_timeout: &amp;lt;duration&amp;gt; | default = 30s]

  # http_server_read_header_timeout is not exposed as CLI flag.
  [http_server_read_header_timeout: &amp;lt;duration&amp;gt; | default = 0s]

  # http_server_write_timeout is not exposed as CLI flag.
  [http_server_write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

  # http_server_idle_timeout is not exposed as CLI flag.
  [http_server_idle_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  # http_log_closed_connections_without_response_enabled is not exposed as CLI
  # flag.
  [http_log_closed_connections_without_response_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # grpc_server_max_recv_msg_size is not exposed as CLI flag.
  [grpc_server_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 0]

  # grpc_server_max_send_msg_size is not exposed as CLI flag.
  [grpc_server_max_send_msg_size: &amp;lt;int&amp;gt; | default = 0]

  # grpc_server_max_concurrent_streams is not exposed as CLI flag.
  [grpc_server_max_concurrent_streams: &amp;lt;int&amp;gt; | default = 0]

  # grpc_server_max_connection_idle is not exposed as CLI flag.
  [grpc_server_max_connection_idle: &amp;lt;duration&amp;gt; | default = 0s]

  # grpc_server_max_connection_age is not exposed as CLI flag.
  [grpc_server_max_connection_age: &amp;lt;duration&amp;gt; | default = 0s]

  # grpc_server_max_connection_age_grace is not exposed as CLI flag.
  [grpc_server_max_connection_age_grace: &amp;lt;duration&amp;gt; | default = 0s]

  # grpc_server_keepalive_time is not exposed as CLI flag.
  [grpc_server_keepalive_time: &amp;lt;duration&amp;gt; | default = 0s]

  # grpc_server_keepalive_timeout is not exposed as CLI flag.
  [grpc_server_keepalive_timeout: &amp;lt;duration&amp;gt; | default = 0s]

  # grpc_server_min_time_between_pings is not exposed as CLI flag.
  [grpc_server_min_time_between_pings: &amp;lt;duration&amp;gt; | default = 0s]

  # grpc_server_ping_without_stream_allowed is not exposed as CLI flag.
  [grpc_server_ping_without_stream_allowed: &amp;lt;boolean&amp;gt; | default = false]

  # grpc_server_num_workers is not exposed as CLI flag.
  [grpc_server_num_workers: &amp;lt;int&amp;gt; | default = 0]

  # grpc_server_stats_tracking_enabled is not exposed as CLI flag.
  [grpc_server_stats_tracking_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # grpc_server_recv_buffer_pools_enabled is not exposed as CLI flag.
  [grpc_server_recv_buffer_pools_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # log_format is not exposed as CLI flag.
  [log_format: &amp;lt;string&amp;gt; | default = &amp;#34;logfmt&amp;#34;]

  # log_level is not exposed as CLI flag.
  [log_level: &amp;lt;string&amp;gt; | default = &amp;#34;info&amp;#34;]

  # log_source_ips_enabled is not exposed as CLI flag.
  [log_source_ips_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # log_source_ips_full is not exposed as CLI flag.
  [log_source_ips_full: &amp;lt;boolean&amp;gt; | default = false]

  # log_source_ips_header is not exposed as CLI flag.
  [log_source_ips_header: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # log_source_ips_regex is not exposed as CLI flag.
  [log_source_ips_regex: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # log_request_headers is not exposed as CLI flag.
  [log_request_headers: &amp;lt;boolean&amp;gt; | default = false]

  # log_request_at_info_level_enabled is not exposed as CLI flag.
  [log_request_at_info_level_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # log_request_exclude_headers_list is not exposed as CLI flag.
  [log_request_exclude_headers_list: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # trace_request_headers is not exposed as CLI flag.
  [trace_request_headers: &amp;lt;boolean&amp;gt; | default = false]

  # trace_request_exclude_headers_list is not exposed as CLI flag.
  [trace_request_exclude_headers_list: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # http_path_prefix is not exposed as CLI flag.
  [http_path_prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  cluster_validation:
    # label is not exposed as CLI flag.
    [label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    grpc:
      # enabled is not exposed as CLI flag.
      [enabled: &amp;lt;boolean&amp;gt; | default = false]

      # soft_validation is not exposed as CLI flag.
      [soft_validation: &amp;lt;boolean&amp;gt; | default = false]

    http:
      # enabled is not exposed as CLI flag.
      [enabled: &amp;lt;boolean&amp;gt; | default = false]

      # soft_validation is not exposed as CLI flag.
      [soft_validation: &amp;lt;boolean&amp;gt; | default = false]

      # excluded_paths is not exposed as CLI flag.
      [excluded_paths: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # enable is not exposed as CLI flag.
  [enable: &amp;lt;boolean&amp;gt; | default = false]

# The distributor_config block configures the distributor service.
[distributor: &amp;lt;distributor_config&amp;gt;]

# The ingester_client_config block configures how the distributor services
# connect to the ingester services.
[ingester_client: &amp;lt;ingester_client_config&amp;gt;]

metrics_generator_client:
  pool_config:
    # checkinterval is not exposed as CLI flag.
    [checkinterval: &amp;lt;duration&amp;gt; | default = 15s]

    # healthcheckenabled is not exposed as CLI flag.
    [healthcheckenabled: &amp;lt;boolean&amp;gt; | default = true]

    # healthchecktimeout is not exposed as CLI flag.
    [healthchecktimeout: &amp;lt;duration&amp;gt; | default = 1s]

    # maxconcurrenthealthchecks is not exposed as CLI flag.
    [maxconcurrenthealthchecks: &amp;lt;int&amp;gt; | default = 0]

  # remote_timeout is not exposed as CLI flag.
  [remote_timeout: &amp;lt;duration&amp;gt; | default = 5s]

  grpc_client_config:
    # max_recv_msg_size is not exposed as CLI flag.
    [max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # max_send_msg_size is not exposed as CLI flag.
    [max_send_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # grpc_compression is not exposed as CLI flag.
    [grpc_compression: &amp;lt;string&amp;gt; | default = &amp;#34;snappy&amp;#34;]

    # rate_limit is not exposed as CLI flag.
    [rate_limit: &amp;lt;float&amp;gt; | default = 0]

    # rate_limit_burst is not exposed as CLI flag.
    [rate_limit_burst: &amp;lt;int&amp;gt; | default = 0]

    # backoff_on_ratelimits is not exposed as CLI flag.
    [backoff_on_ratelimits: &amp;lt;boolean&amp;gt; | default = false]

    backoff_config:
      # min_period is not exposed as CLI flag.
      [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

      # max_period is not exposed as CLI flag.
      [max_period: &amp;lt;duration&amp;gt; | default = 10s]

      # max_retries is not exposed as CLI flag.
      [max_retries: &amp;lt;int&amp;gt; | default = 10]

    # initial_stream_window_size is not exposed as CLI flag.
    [initial_stream_window_size: &amp;lt;int&amp;gt; | default = 65535]

    # initial_connection_window_size is not exposed as CLI flag.
    [initial_connection_window_size: &amp;lt;int&amp;gt; | default = 65535]

    # tls_enabled is not exposed as CLI flag.
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cert_path is not exposed as CLI flag.
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_key_path is not exposed as CLI flag.
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_ca_path is not exposed as CLI flag.
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_server_name is not exposed as CLI flag.
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_insecure_skip_verify is not exposed as CLI flag.
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cipher_suites is not exposed as CLI flag.
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_min_version is not exposed as CLI flag.
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # connect_timeout is not exposed as CLI flag.
    [connect_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # connect_backoff_base_delay is not exposed as CLI flag.
    [connect_backoff_base_delay: &amp;lt;duration&amp;gt; | default = 1s]

    # connect_backoff_max_delay is not exposed as CLI flag.
    [connect_backoff_max_delay: &amp;lt;duration&amp;gt; | default = 5s]

    cluster_validation:
      # label is not exposed as CLI flag.
      [label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# The querier_config block configures the querier service.
[querier: &amp;lt;querier_config&amp;gt;]

# The query_frontend_config block configures the query frontend service.
[query_frontend: &amp;lt;query_frontend_config&amp;gt;]

# The compactor_config block configures the compactor service.
[compactor: &amp;lt;compactor_config&amp;gt;]

# The ingester_config block configures the ingester service.
[ingester: &amp;lt;ingester_config&amp;gt;]

metrics_generator:
  ring:
    kvstore:
      # Backend storage to use for the ring. Supported values are: consul, etcd,
      # inmemory, memberlist, multi.
      # CLI flag: -generatorstore
      [store: &amp;lt;string&amp;gt; | default = &amp;#34;consul&amp;#34;]

      # The prefix for the keys in the store. Should end with a /.
      # CLI flag: -generatorprefix
      [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;collectors/&amp;#34;]

      consul:
        # Hostname and port of Consul.
        # CLI flag: -generatorconsul.hostname
        [host: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:8500&amp;#34;]

        # ACL Token used to interact with Consul.
        # CLI flag: -generatorconsul.acl-token
        [acl_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # HTTP timeout when talking to Consul
        # CLI flag: -generatorconsul.client-timeout
        [http_client_timeout: &amp;lt;duration&amp;gt; | default = 20s]

        # Enable consistent reads to Consul.
        # CLI flag: -generatorconsul.consistent-reads
        [consistent_reads: &amp;lt;boolean&amp;gt; | default = false]

        # Rate limit when watching key or prefix in Consul, in requests per
        # second. 0 disables the rate limit.
        # CLI flag: -generatorconsul.watch-rate-limit
        [watch_rate_limit: &amp;lt;float&amp;gt; | default = 1]

        # Burst size used in rate limit. Values less than 1 are treated as 1.
        # CLI flag: -generatorconsul.watch-burst-size
        [watch_burst_size: &amp;lt;int&amp;gt; | default = 1]

        # Maximum duration to wait before retrying a Compare And Swap (CAS)
        # operation.
        # CLI flag: -generatorconsul.cas-retry-delay
        [cas_retry_delay: &amp;lt;duration&amp;gt; | default = 1s]

      etcd:
        # The etcd endpoints to connect to.
        # CLI flag: -generatoretcd.endpoints
        [endpoints: &amp;lt;list of string&amp;gt; | default = []]

        # The dial timeout for the etcd connection.
        # CLI flag: -generatoretcd.dial-timeout
        [dial_timeout: &amp;lt;duration&amp;gt; | default = 10s]

        # The maximum number of retries to do for failed ops.
        # CLI flag: -generatoretcd.max-retries
        [max_retries: &amp;lt;int&amp;gt; | default = 10]

        # Enable TLS.
        # CLI flag: -generatoretcd.tls-enabled
        [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # Path to the client certificate, which will be used for authenticating
        # with the server. Also requires the key path to be configured.
        # CLI flag: -generatoretcd.tls-cert-path
        [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Path to the key for the client certificate. Also requires the client
        # certificate to be configured.
        # CLI flag: -generatoretcd.tls-key-path
        [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Path to the CA certificates to validate server certificate against. If
        # not set, the host&amp;#39;s root CA certificates are used.
        # CLI flag: -generatoretcd.tls-ca-path
        [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Override the expected name on the server certificate.
        # CLI flag: -generatoretcd.tls-server-name
        [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Skip validating server certificate.
        # CLI flag: -generatoretcd.tls-insecure-skip-verify
        [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

        # Override the default cipher suite list (separated by commas).
        # CLI flag: -generatoretcd.tls-cipher-suites
        [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Override the default minimum TLS version. Allowed values:
        # VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
        # CLI flag: -generatoretcd.tls-min-version
        [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Etcd username.
        # CLI flag: -generatoretcd.username
        [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Etcd password.
        # CLI flag: -generatoretcd.password
        [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      multi:
        # Primary backend storage used by multi-client.
        # CLI flag: -generatormulti.primary
        [primary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Secondary backend storage used by multi-client.
        # CLI flag: -generatormulti.secondary
        [secondary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Mirror writes to secondary store.
        # CLI flag: -generatormulti.mirror-enabled
        [mirror_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # Timeout for storing value to secondary store.
        # CLI flag: -generatormulti.mirror-timeout
        [mirror_timeout: &amp;lt;duration&amp;gt; | default = 2s]

    # heartbeat_period is not exposed as CLI flag.
    [heartbeat_period: &amp;lt;duration&amp;gt; | default = 5s]

    # heartbeat_timeout is not exposed as CLI flag.
    [heartbeat_timeout: &amp;lt;duration&amp;gt; | default = 1m]

    # instance_id is not exposed as CLI flag.
    [instance_id: &amp;lt;string&amp;gt; | default = &amp;#34;hostname&amp;#34;]

    # instance_interface_names is not exposed as CLI flag.
    [instance_interface_names: &amp;lt;list of string&amp;gt; | default = [eth0 en0]]

    # instance_addr is not exposed as CLI flag.
    [instance_addr: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # instance_port is not exposed as CLI flag.
    [instance_port: &amp;lt;int&amp;gt; | default = 0]

    # enable_inet6 is not exposed as CLI flag.
    [enable_inet6: &amp;lt;boolean&amp;gt; | default = false]

  processor:
    service_graphs:
      # wait is not exposed as CLI flag.
      [wait: &amp;lt;duration&amp;gt; | default = 10s]

      # max_items is not exposed as CLI flag.
      [max_items: &amp;lt;int&amp;gt; | default = 10000]

      # workers is not exposed as CLI flag.
      [workers: &amp;lt;int&amp;gt; | default = 10]

      # histogram_buckets is not exposed as CLI flag.
      [histogram_buckets: &amp;lt;list of float&amp;gt; | default = [0.1 0.2 0.4 0.8 1.6 3.2 6.4 12.8]]

      # dimensions is not exposed as CLI flag.
      [dimensions: &amp;lt;list of string&amp;gt; | default = []]

      # enable_client_server_prefix is not exposed as CLI flag.
      [enable_client_server_prefix: &amp;lt;boolean&amp;gt; | default = false]

      # enable_messaging_system_latency_histogram is not exposed as CLI flag.
      [enable_messaging_system_latency_histogram: &amp;lt;boolean&amp;gt; | default = false]

      # peer_attributes is not exposed as CLI flag.
      [peer_attributes: &amp;lt;list of string&amp;gt; | default = [peer.service db.name db.system]]

      # span_multiplier_key is not exposed as CLI flag.
      [span_multiplier_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # enable_virtual_node_label is not exposed as CLI flag.
      [enable_virtual_node_label: &amp;lt;boolean&amp;gt; | default = false]

    span_metrics:
      # histogram_buckets is not exposed as CLI flag.
      [histogram_buckets: &amp;lt;list of float&amp;gt; | default = [0.002 0.004 0.008 0.016 0.032 0.064 0.128 0.256 0.512 1.024 2.048 4.096 8.192 16.384]]

      intrinsic_dimensions:
        # service is not exposed as CLI flag.
        [service: &amp;lt;boolean&amp;gt; | default = true]

        # span_name is not exposed as CLI flag.
        [span_name: &amp;lt;boolean&amp;gt; | default = true]

        # span_kind is not exposed as CLI flag.
        [span_kind: &amp;lt;boolean&amp;gt; | default = true]

        # status_code is not exposed as CLI flag.
        [status_code: &amp;lt;boolean&amp;gt; | default = true]

        # status_message is not exposed as CLI flag.
        [status_message: &amp;lt;boolean&amp;gt; | default = false]

      # dimensions is not exposed as CLI flag.
      [dimensions: &amp;lt;list of string&amp;gt; | default = []]

      dimension_mappings:
        # name is not exposed as CLI flag.
        [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # source_labels is not exposed as CLI flag.
        [source_labels: &amp;lt;list of string&amp;gt; | default = []]

        # join is not exposed as CLI flag.
        [join: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # enable_target_info is not exposed as CLI flag.
      [enable_target_info: &amp;lt;boolean&amp;gt; | default = false]

      # span_multiplier_key is not exposed as CLI flag.
      [span_multiplier_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # subprocessors is not exposed as CLI flag.
      [subprocessors: &amp;lt;map of spanmetrics.Subprocessor to bool&amp;gt; | default = map[span-metrics-latency:true span-metrics-count:true span-metrics-size:true]]

      filter_policies:
        include:
          # match_type is not exposed as CLI flag.
          [match_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

          # policy match condition
          [attributes: &amp;lt;struct&amp;gt; | default = none]

        exclude:
          # match_type is not exposed as CLI flag.
          [match_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

          # policy match condition
          [attributes: &amp;lt;struct&amp;gt; | default = none]

      # target_info_excluded_dimensions is not exposed as CLI flag.
      [target_info_excluded_dimensions: &amp;lt;list of string&amp;gt; | default = []]

    local_blocks:
      block:
        # bloom_filter_false_positive is not exposed as CLI flag.
        [bloom_filter_false_positive: &amp;lt;float&amp;gt; | default = 0]

        # bloom_filter_shard_size_bytes is not exposed as CLI flag.
        [bloom_filter_shard_size_bytes: &amp;lt;int&amp;gt; | default = 0]

        # version is not exposed as CLI flag.
        [version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # search_encoding is not exposed as CLI flag.
        [search_encoding: &amp;lt;int&amp;gt; | default = none]

        # search_page_size_bytes is not exposed as CLI flag.
        [search_page_size_bytes: &amp;lt;int&amp;gt; | default = 0]

        # v2_index_downsample_bytes is not exposed as CLI flag.
        [v2_index_downsample_bytes: &amp;lt;int&amp;gt; | default = 0]

        # v2_index_page_size_bytes is not exposed as CLI flag.
        [v2_index_page_size_bytes: &amp;lt;int&amp;gt; | default = 0]

        # v2_encoding is not exposed as CLI flag.
        [v2_encoding: &amp;lt;int&amp;gt; | default = none]

        # parquet_row_group_size_bytes is not exposed as CLI flag.
        [parquet_row_group_size_bytes: &amp;lt;int&amp;gt; | default = 0]

        parquet_dedicated_columns:
          # scope is not exposed as CLI flag.
          [scope: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

          # name is not exposed as CLI flag.
          [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

          # type is not exposed as CLI flag.
          [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      search:
        # chunk_size_bytes is not exposed as CLI flag.
        [chunk_size_bytes: &amp;lt;int&amp;gt; | default = 0]

        # prefetch_trace_count is not exposed as CLI flag.
        [prefetch_trace_count: &amp;lt;int&amp;gt; | default = 0]

        # read_buffer_count is not exposed as CLI flag.
        [read_buffer_count: &amp;lt;int&amp;gt; | default = 0]

        # read_buffer_size_bytes is not exposed as CLI flag.
        [read_buffer_size_bytes: &amp;lt;int&amp;gt; | default = 0]

        cache_control:
          # footer is not exposed as CLI flag.
          [footer: &amp;lt;boolean&amp;gt; | default = false]

          # column_index is not exposed as CLI flag.
          [column_index: &amp;lt;boolean&amp;gt; | default = false]

          # offset_index is not exposed as CLI flag.
          [offset_index: &amp;lt;boolean&amp;gt; | default = false]

      # flush_check_period is not exposed as CLI flag.
      [flush_check_period: &amp;lt;duration&amp;gt; | default = 10s]

      # trace_idle_period is not exposed as CLI flag.
      [trace_idle_period: &amp;lt;duration&amp;gt; | default = 5s]

      # trace_live_period is not exposed as CLI flag.
      [trace_live_period: &amp;lt;duration&amp;gt; | default = 30s]

      # max_block_duration is not exposed as CLI flag.
      [max_block_duration: &amp;lt;duration&amp;gt; | default = 1m]

      # max_block_bytes is not exposed as CLI flag.
      [max_block_bytes: &amp;lt;int&amp;gt; | default = 500000000]

      # concurrency is not exposed as CLI flag.
      [concurrency: &amp;lt;int&amp;gt; | default = 4]

      # complete_block_timeout is not exposed as CLI flag.
      [complete_block_timeout: &amp;lt;duration&amp;gt; | default = 1h]

      # max_live_traces is not exposed as CLI flag.
      [max_live_traces: &amp;lt;int&amp;gt; | default = 0]

      # max_live_traces_bytes is not exposed as CLI flag.
      [max_live_traces_bytes: &amp;lt;int&amp;gt; | default = 250000000]

      # filter_server_spans is not exposed as CLI flag.
      [filter_server_spans: &amp;lt;boolean&amp;gt; | default = true]

      # flush_to_storage is not exposed as CLI flag.
      [flush_to_storage: &amp;lt;boolean&amp;gt; | default = false]

      # concurrent_blocks is not exposed as CLI flag.
      [concurrent_blocks: &amp;lt;int&amp;gt; | default = 10]

      # time_overlap_cutoff is not exposed as CLI flag.
      [time_overlap_cutoff: &amp;lt;float&amp;gt; | default = 0.2]

    host_info:
      # host_identifiers is not exposed as CLI flag.
      [host_identifiers: &amp;lt;list of string&amp;gt; | default = [k8s.node.name host.id]]

      # metric_name is not exposed as CLI flag.
      [metric_name: &amp;lt;string&amp;gt; | default = &amp;#34;traces_host_info&amp;#34;]

  registry:
    # collection_interval is not exposed as CLI flag.
    [collection_interval: &amp;lt;duration&amp;gt; | default = 15s]

    # stale_duration is not exposed as CLI flag.
    [stale_duration: &amp;lt;duration&amp;gt; | default = 15m]

    # external_labels is not exposed as CLI flag.
    [external_labels: &amp;lt;map of string to string&amp;gt; | default = map[]]

    # inject_tenant_id_as is not exposed as CLI flag.
    [inject_tenant_id_as: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # max_label_name_length is not exposed as CLI flag.
    [max_label_name_length: &amp;lt;int&amp;gt; | default = 1024]

    # max_label_value_length is not exposed as CLI flag.
    [max_label_value_length: &amp;lt;int&amp;gt; | default = 2048]

  storage:
    # path is not exposed as CLI flag.
    [path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    wal:
      # wal_segment_size is not exposed as CLI flag.
      [wal_segment_size: &amp;lt;int&amp;gt; | default = 134217728]

      # wal_compression is not exposed as CLI flag.
      [wal_compression: &amp;lt;string&amp;gt; | default = &amp;#34;none&amp;#34;]

      # stripe_size is not exposed as CLI flag.
      [stripe_size: &amp;lt;int&amp;gt; | default = 16384]

      # truncate_frequency is not exposed as CLI flag.
      [truncate_frequency: &amp;lt;duration&amp;gt; | default = 2h]

      # min_wal_time is not exposed as CLI flag.
      [min_wal_time: &amp;lt;int&amp;gt; | default = 300000]

      # max_wal_time is not exposed as CLI flag.
      [max_wal_time: &amp;lt;int&amp;gt; | default = 14400000]

      # no_lockfile is not exposed as CLI flag.
      [no_lockfile: &amp;lt;boolean&amp;gt; | default = false]

    # remote_write_flush_deadline is not exposed as CLI flag.
    [remote_write_flush_deadline: &amp;lt;duration&amp;gt; | default = 1m]

    # remote_write_add_org_id_header is not exposed as CLI flag.
    [remote_write_add_org_id_header: &amp;lt;boolean&amp;gt; | default = true]

    # Remote-write client configuration to send rule samples to a Prometheus
    # remote-write endpoint.
    # See
    # https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write
    [remote_write: &amp;lt;array&amp;gt; | default = none]

  traces_storage:
    # path is not exposed as CLI flag.
    [path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # v2_encoding is not exposed as CLI flag.
    [v2_encoding: &amp;lt;int&amp;gt; | default = none]

    # search_encoding is not exposed as CLI flag.
    [search_encoding: &amp;lt;int&amp;gt; | default = none]

    # ingestion_time_range_slack is not exposed as CLI flag.
    [ingestion_time_range_slack: &amp;lt;duration&amp;gt; | default = 2m]

    # version is not exposed as CLI flag.
    [version: &amp;lt;string&amp;gt; | default = &amp;#34;vParquet4&amp;#34;]

  traces_query_storage:
    # path is not exposed as CLI flag.
    [path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # v2_encoding is not exposed as CLI flag.
    [v2_encoding: &amp;lt;int&amp;gt; | default = none]

    # search_encoding is not exposed as CLI flag.
    [search_encoding: &amp;lt;int&amp;gt; | default = none]

    # ingestion_time_range_slack is not exposed as CLI flag.
    [ingestion_time_range_slack: &amp;lt;duration&amp;gt; | default = 2m]

    # version is not exposed as CLI flag.
    [version: &amp;lt;string&amp;gt; | default = &amp;#34;vParquet4&amp;#34;]

  # metrics_ingestion_time_range_slack is not exposed as CLI flag.
  [metrics_ingestion_time_range_slack: &amp;lt;duration&amp;gt; | default = 30s]

  # query_timeout is not exposed as CLI flag.
  [query_timeout: &amp;lt;duration&amp;gt; | default = 30s]

  # override_ring_key is not exposed as CLI flag.
  [override_ring_key: &amp;lt;string&amp;gt; | default = &amp;#34;metrics-generator&amp;#34;]

  # codec is not exposed as CLI flag.
  [codec: &amp;lt;string&amp;gt; | default = &amp;#34;push-bytes&amp;#34;]

  # disable_local_blocks is not exposed as CLI flag.
  [disable_local_blocks: &amp;lt;boolean&amp;gt; | default = false]

  # disable_grpc is not exposed as CLI flag.
  [disable_grpc: &amp;lt;boolean&amp;gt; | default = false]

  # ingest_concurrency is not exposed as CLI flag.
  [ingest_concurrency: &amp;lt;int&amp;gt; | default = 16]

  # Instance id.
  # CLI flag: -generator.instance-id
  [instance_id: &amp;lt;string&amp;gt; | default = &amp;#34;hostname&amp;#34;]

ingest:
  # enabled is not exposed as CLI flag.
  [enabled: &amp;lt;boolean&amp;gt; | default = false]

  kafka:
    # The Kafka backend address.
    # CLI flag: -ingest.address
    [address: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:9092&amp;#34;]

    # The Kafka topic name.
    # CLI flag: -ingest.topic
    [topic: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # The Kafka client ID.
    # CLI flag: -ingest.client-id
    [client_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # The maximum time allowed to open a connection to a Kafka broker.
    # CLI flag: -ingest.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 2s]

    # How long to wait for an incoming write request to be successfully
    # committed to the Kafka backend.
    # CLI flag: -ingest.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 10s]

    # The SASL username for authentication.
    # CLI flag: -ingest.sasl-username
    [sasl_username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # The SASL password for authentication.
    # CLI flag: -ingest.sasl-password
    [sasl_password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # The consumer group used by the consumer to track the last consumed offset.
    # The consumer group must be different for each ingester. If the configured
    # consumer group contains the &amp;#39;&amp;lt;partition&amp;gt;&amp;#39; placeholder, it is replaced with
    # the actual partition ID owned by the ingester. When empty (recommended),
    # GET uses the ingester instance ID to guarantee uniqueness.
    # CLI flag: -ingest.consumer-group
    [consumer_group: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # How frequently a consumer should commit the consumed offset to Kafka. The
    # last committed offset is used at startup to continue the consumption from
    # where it was left.
    # CLI flag: -ingest.consumer-group-offset-commit-interval
    [consumer_group_offset_commit_interval: &amp;lt;duration&amp;gt; | default = 1s]

    # How long to retry a failed request to get the last produced offset.
    # CLI flag: -ingest.last-produced-offset-retry-timeout
    [last_produced_offset_retry_timeout: &amp;lt;duration&amp;gt; | default = 10s]

    # Enable auto-creation of Kafka topic if it doesn&amp;#39;t exist.
    # CLI flag: -ingest.auto-create-topic-enabled
    [auto_create_topic_enabled: &amp;lt;boolean&amp;gt; | default = true]

    # When auto-creation of Kafka topic is enabled and this value is positive,
    # Kafka&amp;#39;s num.partitions configuration option is set on Kafka brokers with
    # this value when GET component that uses Kafka starts. This configuration
    # option specifies the default number of partitions that the Kafka broker
    # uses for auto-created topics. Note that this is a Kafka-cluster wide
    # setting, and applies to any auto-created topic. If the setting of
    # num.partitions fails, GET proceeds anyways, but auto-created topics could
    # have an incorrect number of partitions.
    # CLI flag: -ingest.auto-create-topic-default-partitions
    [auto_create_topic_default_partitions: &amp;lt;int&amp;gt; | default = 1000]

    # The maximum size of a Kafka record data that should be generated by the
    # producer. An incoming write request larger than this size is split into
    # multiple Kafka records. We strongly recommend to not change this setting
    # unless for testing purposes.
    # CLI flag: -ingest.producer-max-record-size-bytes
    [producer_max_record_size_bytes: &amp;lt;int&amp;gt; | default = 15983616]

    # The maximum size of (uncompressed) buffered and unacknowledged produced
    # records sent to Kafka. The produce request fails once this limit is
    # reached. This limit is per Kafka client. 0 to disable the limit.
    # CLI flag: -ingest.producer-max-buffered-bytes
    [producer_max_buffered_bytes: &amp;lt;int&amp;gt; | default = 1073741824]

    # The best-effort maximum lag a consumer tries to achieve at startup. Set
    # both -ingest.target-consumer-lag-at-startup and
    # -ingest.max-consumer-lag-at-startup to 0 to disable waiting for maximum
    # consumer lag being honored at startup.
    # CLI flag: -ingest.target-consumer-lag-at-startup
    [target_consumer_lag_at_startup: &amp;lt;duration&amp;gt; | default = 2s]

    # The guaranteed maximum lag before a consumer is considered to have caught
    # up reading from a partition at startup, becomes ACTIVE in the hash ring
    # and passes the readiness check. Set both
    # -ingest.target-consumer-lag-at-startup and
    # -ingest.max-consumer-lag-at-startup to 0 to disable waiting for maximum
    # consumer lag being honored at startup.
    # CLI flag: -ingest.max-consumer-lag-at-startup
    [max_consumer_lag_at_startup: &amp;lt;duration&amp;gt; | default = 15s]

block_builder:
  # Instance id.
  # CLI flag: -block-builder.instance-id
  [instance_id: &amp;lt;string&amp;gt; | default = &amp;#34;hostname&amp;#34;]

  # assigned_partitions is not exposed as CLI flag.
  [assigned_partitions: &amp;lt;map of string to []int32&amp;gt; | default = map[]]

  # Interval between consumption cycles.
  # CLI flag: -block-builder.consume-cycle-duration
  [consume_cycle_duration: &amp;lt;duration&amp;gt; | default = 5m]

  # Maximum number of bytes that can be consumed in a single cycle. 0 to disable
  # CLI flag: -block-builder.max-bytes-per-cycle
  [max_consuming_bytes: &amp;lt;int&amp;gt; | default = 5000000000]

  block:
    # Maximum size of a block.
    # CLI flag: -block-builder.block.max-block-bytes
    [max_block_bytes: &amp;lt;int&amp;gt; | default = 20971520]

    # Bloom Filter False Positive.
    # CLI flag: -block-builder.block.trace.block.v2-bloom-filter-false-positive
    [bloom_filter_false_positive: &amp;lt;float&amp;gt; | default = 0.01]

    # Bloom Filter Shard Size in bytes.
    # CLI flag: -block-builder.block.trace.block.v2-bloom-filter-shard-size-bytes
    [bloom_filter_shard_size_bytes: &amp;lt;int&amp;gt; | default = 102400]

    # version is not exposed as CLI flag.
    [version: &amp;lt;string&amp;gt; | default = &amp;#34;vParquet4&amp;#34;]

    # search_encoding is not exposed as CLI flag.
    [search_encoding: &amp;lt;int&amp;gt; | default = snappy]

    # search_page_size_bytes is not exposed as CLI flag.
    [search_page_size_bytes: &amp;lt;int&amp;gt; | default = 1048576]

    # Number of bytes (before compression) per index record.
    # CLI flag: -block-builder.block.trace.block.v2-index-downsample-bytes
    [v2_index_downsample_bytes: &amp;lt;int&amp;gt; | default = 1048576]

    # Number of bytes per index page.
    # CLI flag: -block-builder.block.trace.block.v2-index-page-size-bytes
    [v2_index_page_size_bytes: &amp;lt;int&amp;gt; | default = 256000]

    # v2_encoding is not exposed as CLI flag.
    [v2_encoding: &amp;lt;int&amp;gt; | default = zstd]

    # parquet_row_group_size_bytes is not exposed as CLI flag.
    [parquet_row_group_size_bytes: &amp;lt;int&amp;gt; | default = 100000000]

    parquet_dedicated_columns:
      # scope is not exposed as CLI flag.
      [scope: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # name is not exposed as CLI flag.
      [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # type is not exposed as CLI flag.
      [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  wal:
    # Path at which store WAL blocks.
    # CLI flag: -block-builder.wal.path
    [path: &amp;lt;string&amp;gt; | default = &amp;#34;/var/tempo/block-builder/traces&amp;#34;]

    # v2_encoding is not exposed as CLI flag.
    [v2_encoding: &amp;lt;int&amp;gt; | default = none]

    # search_encoding is not exposed as CLI flag.
    [search_encoding: &amp;lt;int&amp;gt; | default = none]

    # ingestion_time_range_slack is not exposed as CLI flag.
    [ingestion_time_range_slack: &amp;lt;duration&amp;gt; | default = 2m]

    # version is not exposed as CLI flag.
    [version: &amp;lt;string&amp;gt; | default = &amp;#34;vParquet4&amp;#34;]

# The storage_config block configures how and where to store data.
[storage: &amp;lt;storage_config&amp;gt;]

# The overrides_config block configures the overrides module to set global or
# per-tenant override settings.
[overrides: &amp;lt;overrides_config&amp;gt;]

# The memberlist_config block configures how the gossip ring connects between
# distributors, ingesters and queriers.
[memberlist: &amp;lt;memberlist_config&amp;gt;]

usage_report:
  backoff:
    # Minimum delay when backing off.
    # CLI flag: -reporting.backoff-min-period
    [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

    # Maximum delay when backing off.
    # CLI flag: -reporting.backoff-max-period
    [max_period: &amp;lt;duration&amp;gt; | default = 10s]

    # Number of times to backoff and retry before failing.
    # CLI flag: -reporting.backoff-retries
    [max_retries: &amp;lt;int&amp;gt; | default = 10]

cache:
  background:
    # writeback_goroutines is not exposed as CLI flag.
    [writeback_goroutines: &amp;lt;int&amp;gt; | default = 0]

    # writeback_buffer is not exposed as CLI flag.
    [writeback_buffer: &amp;lt;int&amp;gt; | default = 0]

  caches:
    # roles is not exposed as CLI flag.
    [roles: &amp;lt;list of string&amp;gt; | default = []]

    memcached:
      # host is not exposed as CLI flag.
      [host: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # service is not exposed as CLI flag.
      [service: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # addresses is not exposed as CLI flag.
      [addresses: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # timeout is not exposed as CLI flag.
      [timeout: &amp;lt;duration&amp;gt; | default = 0s]

      # max_idle_conns is not exposed as CLI flag.
      [max_idle_conns: &amp;lt;int&amp;gt; | default = 0]

      # max_item_size is not exposed as CLI flag.
      [max_item_size: &amp;lt;int&amp;gt; | default = 0]

      # update_interval is not exposed as CLI flag.
      [update_interval: &amp;lt;duration&amp;gt; | default = 0s]

      # consistent_hash is not exposed as CLI flag.
      [consistent_hash: &amp;lt;boolean&amp;gt; | default = false]

      # circuit_breaker_consecutive_failures is not exposed as CLI flag.
      [circuit_breaker_consecutive_failures: &amp;lt;int&amp;gt; | default = 0]

      # circuit_breaker_timeout is not exposed as CLI flag.
      [circuit_breaker_timeout: &amp;lt;duration&amp;gt; | default = 0s]

      # circuit_breaker_interval is not exposed as CLI flag.
      [circuit_breaker_interval: &amp;lt;duration&amp;gt; | default = 0s]

      # tls_enabled is not exposed as CLI flag.
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # tls_cert_path is not exposed as CLI flag.
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_key_path is not exposed as CLI flag.
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_ca_path is not exposed as CLI flag.
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_server_name is not exposed as CLI flag.
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_insecure_skip_verify is not exposed as CLI flag.
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # tls_cipher_suites is not exposed as CLI flag.
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_min_version is not exposed as CLI flag.
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # ttl is not exposed as CLI flag.
      [ttl: &amp;lt;duration&amp;gt; | default = 0s]

    redis:
      # endpoint is not exposed as CLI flag.
      [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # master_name is not exposed as CLI flag.
      [master_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # timeout is not exposed as CLI flag.
      [timeout: &amp;lt;duration&amp;gt; | default = 0s]

      # expiration is not exposed as CLI flag.
      [expiration: &amp;lt;duration&amp;gt; | default = 0s]

      # db is not exposed as CLI flag.
      [db: &amp;lt;int&amp;gt; | default = 0]

      # pool_size is not exposed as CLI flag.
      [pool_size: &amp;lt;int&amp;gt; | default = 0]

      # username is not exposed as CLI flag.
      [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # password is not exposed as CLI flag.
      [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # sentinel_username is not exposed as CLI flag.
      [sentinel_username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # sentinel_password is not exposed as CLI flag.
      [sentinel_password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_enabled is not exposed as CLI flag.
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # tls_insecure_skip_verify is not exposed as CLI flag.
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # idle_timeout is not exposed as CLI flag.
      [idle_timeout: &amp;lt;duration&amp;gt; | default = 0s]

      # max_connection_age is not exposed as CLI flag.
      [max_connection_age: &amp;lt;duration&amp;gt; | default = 0s]

      # ttl is not exposed as CLI flag.
      [ttl: &amp;lt;duration&amp;gt; | default = 0s]

backend_scheduler:
  # Interval at which to measure outstanding blocks
  # CLI flag: -backend-schedulerbackend-scheduler.tenant-measurement-interval
  [tenant_measurement_interval: &amp;lt;duration&amp;gt; | default = 1m]

  work:
    # Age at which to prune completed jobs
    # CLI flag: -backend-scheduler.workprune-age
    [prune_age: &amp;lt;duration&amp;gt; | default = 1h]

    # Time after which a job is considered dead and marked as failed
    # CLI flag: -backend-scheduler.workdead-job-timeout
    [dead_job_timeout: &amp;lt;duration&amp;gt; | default = 24h]

  # Interval at which to perform scheduler maintenance tasks
  # CLI flag: -backend-schedulerbackend-scheduler.maintenance-interval
  [maintenance_interval: &amp;lt;duration&amp;gt; | default = 1m]

  provider:
    retention:
      # Interval at which to perform tenant retention
      # CLI flag: -backend-scheduler.provider.workbackend-scheduler.retention-interval
      [interval: &amp;lt;duration&amp;gt; | default = 1h]

    compaction:
      # Interval at which to metric tenant blocklist
      # CLI flag: -backend-scheduler.provider.workbackend-scheduler.compaction-provider.measure-interval
      [measure_interval: &amp;lt;duration&amp;gt; | default = 1m]

      compaction:
        # v2_in_buffer_bytes is not exposed as CLI flag.
        [v2_in_buffer_bytes: &amp;lt;int&amp;gt; | default = 5242880]

        # v2_out_buffer_bytes is not exposed as CLI flag.
        [v2_out_buffer_bytes: &amp;lt;int&amp;gt; | default = 20971520]

        # v2_prefetch_traces_count is not exposed as CLI flag.
        [v2_prefetch_traces_count: &amp;lt;int&amp;gt; | default = 1000]

        # Maximum time window across which to compact blocks.
        # CLI flag: -backend-scheduler.provider.work.compaction.compaction.compaction-window
        [compaction_window: &amp;lt;duration&amp;gt; | default = 1h]

        # Maximum number of traces in a compacted block.
        # CLI flag: -backend-scheduler.provider.work.compaction.compaction.max-objects-per-block
        [max_compaction_objects: &amp;lt;int&amp;gt; | default = 6000000]

        # Maximum size of a compacted block.
        # CLI flag: -backend-scheduler.provider.work.compaction.compaction.max-block-bytes
        [max_block_bytes: &amp;lt;int&amp;gt; | default = 107374182400]

        # Duration to keep blocks/traces.
        # CLI flag: -backend-scheduler.provider.work.compaction.compaction.block-retention
        [block_retention: &amp;lt;duration&amp;gt; | default = 336h]

        # compacted_block_retention is not exposed as CLI flag.
        [compacted_block_retention: &amp;lt;duration&amp;gt; | default = 1h]

        # retention_concurrency is not exposed as CLI flag.
        [retention_concurrency: &amp;lt;int&amp;gt; | default = 10]

        # max_time_per_tenant is not exposed as CLI flag.
        [max_time_per_tenant: &amp;lt;duration&amp;gt; | default = 5m]

        # compaction_cycle is not exposed as CLI flag.
        [compaction_cycle: &amp;lt;duration&amp;gt; | default = 30s]

      # Maximum number of jobs to run per tenant before moving on to the next
      # tenant
      # CLI flag: -backend-scheduler.provider.workbackend-scheduler.max-jobs-per-tenant
      [max_jobs_per_tenant: &amp;lt;int&amp;gt; | default = 1000]

      backoff:
        # Minimum delay when backing off.
        # CLI flag: -backend-scheduler.provider.work.backoff-min-period
        [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

        # Maximum delay when backing off.
        # CLI flag: -backend-scheduler.provider.work.backoff-max-period
        [max_period: &amp;lt;duration&amp;gt; | default = 10s]

        # max_retries is not exposed as CLI flag.
        [max_retries: &amp;lt;int&amp;gt; | default = 0]

  # Internal duration to wait for a job before telling the worker to try again
  # CLI flag: -backend-schedulerbackend-scheduler.job-timeout
  [job_timeout: &amp;lt;duration&amp;gt; | default = 15s]

backend_scheduler_client:
  grpc_client_config:
    # max_recv_msg_size is not exposed as CLI flag.
    [max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # max_send_msg_size is not exposed as CLI flag.
    [max_send_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # grpc_compression is not exposed as CLI flag.
    [grpc_compression: &amp;lt;string&amp;gt; | default = &amp;#34;snappy&amp;#34;]

    # rate_limit is not exposed as CLI flag.
    [rate_limit: &amp;lt;float&amp;gt; | default = 0]

    # rate_limit_burst is not exposed as CLI flag.
    [rate_limit_burst: &amp;lt;int&amp;gt; | default = 0]

    # backoff_on_ratelimits is not exposed as CLI flag.
    [backoff_on_ratelimits: &amp;lt;boolean&amp;gt; | default = false]

    backoff_config:
      # min_period is not exposed as CLI flag.
      [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

      # max_period is not exposed as CLI flag.
      [max_period: &amp;lt;duration&amp;gt; | default = 10s]

      # max_retries is not exposed as CLI flag.
      [max_retries: &amp;lt;int&amp;gt; | default = 10]

    # initial_stream_window_size is not exposed as CLI flag.
    [initial_stream_window_size: &amp;lt;int&amp;gt; | default = 65535]

    # initial_connection_window_size is not exposed as CLI flag.
    [initial_connection_window_size: &amp;lt;int&amp;gt; | default = 65535]

    # tls_enabled is not exposed as CLI flag.
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cert_path is not exposed as CLI flag.
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_key_path is not exposed as CLI flag.
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_ca_path is not exposed as CLI flag.
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_server_name is not exposed as CLI flag.
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_insecure_skip_verify is not exposed as CLI flag.
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cipher_suites is not exposed as CLI flag.
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_min_version is not exposed as CLI flag.
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # connect_timeout is not exposed as CLI flag.
    [connect_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # connect_backoff_base_delay is not exposed as CLI flag.
    [connect_backoff_base_delay: &amp;lt;duration&amp;gt; | default = 1s]

    # connect_backoff_max_delay is not exposed as CLI flag.
    [connect_backoff_max_delay: &amp;lt;duration&amp;gt; | default = 5s]

    cluster_validation:
      # label is not exposed as CLI flag.
      [label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

backend_worker:
  # backend_scheduler_addr is not exposed as CLI flag.
  [backend_scheduler_addr: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  backoff:
    # Minimum delay when backing off.
    # CLI flag: -backend-worker.backoff-min-period
    [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

    # Maximum delay when backing off.
    # CLI flag: -backend-worker.backoff-max-period
    [max_period: &amp;lt;duration&amp;gt; | default = 1m]

    # Number of times to backoff and retry before failing.
    # CLI flag: -backend-worker.backoff-retries
    [max_retries: &amp;lt;int&amp;gt; | default = 0]

  compaction:
    # v2_in_buffer_bytes is not exposed as CLI flag.
    [v2_in_buffer_bytes: &amp;lt;int&amp;gt; | default = 5242880]

    # v2_out_buffer_bytes is not exposed as CLI flag.
    [v2_out_buffer_bytes: &amp;lt;int&amp;gt; | default = 20971520]

    # v2_prefetch_traces_count is not exposed as CLI flag.
    [v2_prefetch_traces_count: &amp;lt;int&amp;gt; | default = 1000]

    # Maximum time window across which to compact blocks.
    # CLI flag: -backend-worker.compaction.compaction.compaction-window
    [compaction_window: &amp;lt;duration&amp;gt; | default = 1h]

    # Maximum number of traces in a compacted block.
    # CLI flag: -backend-worker.compaction.compaction.max-objects-per-block
    [max_compaction_objects: &amp;lt;int&amp;gt; | default = 6000000]

    # Maximum size of a compacted block.
    # CLI flag: -backend-worker.compaction.compaction.max-block-bytes
    [max_block_bytes: &amp;lt;int&amp;gt; | default = 107374182400]

    # Duration to keep blocks/traces.
    # CLI flag: -backend-worker.compaction.compaction.block-retention
    [block_retention: &amp;lt;duration&amp;gt; | default = 336h]

    # compacted_block_retention is not exposed as CLI flag.
    [compacted_block_retention: &amp;lt;duration&amp;gt; | default = 1h]

    # retention_concurrency is not exposed as CLI flag.
    [retention_concurrency: &amp;lt;int&amp;gt; | default = 10]

    # max_time_per_tenant is not exposed as CLI flag.
    [max_time_per_tenant: &amp;lt;duration&amp;gt; | default = 5m]

    # compaction_cycle is not exposed as CLI flag.
    [compaction_cycle: &amp;lt;duration&amp;gt; | default = 30s]

  # override_ring_key is not exposed as CLI flag.
  [override_ring_key: &amp;lt;string&amp;gt; | default = &amp;#34;backend-worker&amp;#34;]

  ring:
    kvstore:
      # store is not exposed as CLI flag.
      [store: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # prefix is not exposed as CLI flag.
      [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;collectors/&amp;#34;]

      consul:
        # host is not exposed as CLI flag.
        [host: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:8500&amp;#34;]

        # acl_token is not exposed as CLI flag.
        [acl_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # http_client_timeout is not exposed as CLI flag.
        [http_client_timeout: &amp;lt;duration&amp;gt; | default = 20s]

        # consistent_reads is not exposed as CLI flag.
        [consistent_reads: &amp;lt;boolean&amp;gt; | default = false]

        # watch_rate_limit is not exposed as CLI flag.
        [watch_rate_limit: &amp;lt;float&amp;gt; | default = 1]

        # watch_burst_size is not exposed as CLI flag.
        [watch_burst_size: &amp;lt;int&amp;gt; | default = 1]

        # cas_retry_delay is not exposed as CLI flag.
        [cas_retry_delay: &amp;lt;duration&amp;gt; | default = 1s]

      etcd:
        # endpoints is not exposed as CLI flag.
        [endpoints: &amp;lt;list of string&amp;gt; | default = []]

        # dial_timeout is not exposed as CLI flag.
        [dial_timeout: &amp;lt;duration&amp;gt; | default = 10s]

        # max_retries is not exposed as CLI flag.
        [max_retries: &amp;lt;int&amp;gt; | default = 10]

        # tls_enabled is not exposed as CLI flag.
        [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # tls_cert_path is not exposed as CLI flag.
        [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_key_path is not exposed as CLI flag.
        [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_ca_path is not exposed as CLI flag.
        [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_server_name is not exposed as CLI flag.
        [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_insecure_skip_verify is not exposed as CLI flag.
        [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

        # tls_cipher_suites is not exposed as CLI flag.
        [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_min_version is not exposed as CLI flag.
        [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # username is not exposed as CLI flag.
        [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # password is not exposed as CLI flag.
        [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      multi:
        # primary is not exposed as CLI flag.
        [primary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # secondary is not exposed as CLI flag.
        [secondary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # mirror_enabled is not exposed as CLI flag.
        [mirror_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # mirror_timeout is not exposed as CLI flag.
        [mirror_timeout: &amp;lt;duration&amp;gt; | default = 2s]

    # heartbeat_period is not exposed as CLI flag.
    [heartbeat_period: &amp;lt;duration&amp;gt; | default = 5s]

    # heartbeat_timeout is not exposed as CLI flag.
    [heartbeat_timeout: &amp;lt;duration&amp;gt; | default = 1m]

    # wait_stability_min_duration is not exposed as CLI flag.
    [wait_stability_min_duration: &amp;lt;duration&amp;gt; | default = 1m]

    # wait_stability_max_duration is not exposed as CLI flag.
    [wait_stability_max_duration: &amp;lt;duration&amp;gt; | default = 5m]

    # instance_interface_names is not exposed as CLI flag.
    [instance_interface_names: &amp;lt;list of string&amp;gt; | default = [eth0 en0]]

    # enable_inet6 is not exposed as CLI flag.
    [enable_inet6: &amp;lt;boolean&amp;gt; | default = false]

    # wait_active_instance_timeout is not exposed as CLI flag.
    [wait_active_instance_timeout: &amp;lt;duration&amp;gt; | default = 10m]

# The admin_api_config block configures the Admin API service.
[admin_api: &amp;lt;admin_api_config&amp;gt;]

# The admin_client_config block configures how the Admin API service connects to
# the storage backend.
[admin_client: &amp;lt;admin_client_config&amp;gt;]

# The auth_config block configures the authentication type to use.
[auth: &amp;lt;auth_config&amp;gt;]

# Unique ID of this GET cluster. If undefined the name in the license is used.
# CLI flag: -cluster-name
[cluster_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# The tokengen_config block configures the tokengen service.
[tokengen: &amp;lt;tokengen_config&amp;gt;]

# The federation_config block configures the cross-cluster query federation
# service.
[federation: &amp;lt;federation_config&amp;gt;]

# The gateway_config block configures the gateway service.
[gateway: &amp;lt;gateway_config&amp;gt;]

# The license_config block configures the license validation module.
[license: &amp;lt;license_config&amp;gt;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;server_config&#34;&gt;server_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;server_config&lt;/code&gt; block configures the HTTP and gRPC server of the launched services.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# http_listen_network is not exposed as CLI flag.
[http_listen_network: &amp;lt;string&amp;gt; | default = &amp;#34;tcp&amp;#34;]

# http_listen_address is not exposed as CLI flag.
[http_listen_address: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# HTTP server listen port.
# CLI flag: -server.http-listen-port
[http_listen_port: &amp;lt;int&amp;gt; | default = 3200]

# http_listen_conn_limit is not exposed as CLI flag.
[http_listen_conn_limit: &amp;lt;int&amp;gt; | default = 0]

# grpc_listen_network is not exposed as CLI flag.
[grpc_listen_network: &amp;lt;string&amp;gt; | default = &amp;#34;tcp&amp;#34;]

# grpc_listen_address is not exposed as CLI flag.
[grpc_listen_address: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# gRPC server listen port.
# CLI flag: -server.grpc-listen-port
[grpc_listen_port: &amp;lt;int&amp;gt; | default = 9095]

# grpc_listen_conn_limit is not exposed as CLI flag.
[grpc_listen_conn_limit: &amp;lt;int&amp;gt; | default = 0]

# grpc_collect_max_streams_by_conn is not exposed as CLI flag.
[grpc_collect_max_streams_by_conn: &amp;lt;boolean&amp;gt; | default = true]

# proxy_protocol_enabled is not exposed as CLI flag.
[proxy_protocol_enabled: &amp;lt;boolean&amp;gt; | default = false]

# tls_cipher_suites is not exposed as CLI flag.
[tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# tls_min_version is not exposed as CLI flag.
[tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

http_tls_config:
  # Server TLS certificate. This configuration parameter is YAML only.
  [cert: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Server TLS key. This configuration parameter is YAML only.
  [key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Root certificate authority used to verify client certificates. This
  # configuration parameter is YAML only.
  [client_ca: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # cert_file is not exposed as CLI flag.
  [cert_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # key_file is not exposed as CLI flag.
  [key_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # client_auth_type is not exposed as CLI flag.
  [client_auth_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # client_ca_file is not exposed as CLI flag.
  [client_ca_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

grpc_tls_config:
  # Server TLS certificate. This configuration parameter is YAML only.
  [cert: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Server TLS key. This configuration parameter is YAML only.
  [key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Root certificate authority used to verify client certificates. This
  # configuration parameter is YAML only.
  [client_ca: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # cert_file is not exposed as CLI flag.
  [cert_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # key_file is not exposed as CLI flag.
  [key_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # client_auth_type is not exposed as CLI flag.
  [client_auth_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # client_ca_file is not exposed as CLI flag.
  [client_ca_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# register_instrumentation is not exposed as CLI flag.
[register_instrumentation: &amp;lt;boolean&amp;gt; | default = true]

# report_grpc_codes_in_instrumentation_label_enabled is not exposed as CLI flag.
[report_grpc_codes_in_instrumentation_label_enabled: &amp;lt;boolean&amp;gt; | default = false]

# graceful_shutdown_timeout is not exposed as CLI flag.
[graceful_shutdown_timeout: &amp;lt;duration&amp;gt; | default = 30s]

# http_server_read_timeout is not exposed as CLI flag.
[http_server_read_timeout: &amp;lt;duration&amp;gt; | default = 30s]

# http_server_read_header_timeout is not exposed as CLI flag.
[http_server_read_header_timeout: &amp;lt;duration&amp;gt; | default = 0s]

# http_server_write_timeout is not exposed as CLI flag.
[http_server_write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

# http_server_idle_timeout is not exposed as CLI flag.
[http_server_idle_timeout: &amp;lt;duration&amp;gt; | default = 2m]

# http_log_closed_connections_without_response_enabled is not exposed as CLI
# flag.
[http_log_closed_connections_without_response_enabled: &amp;lt;boolean&amp;gt; | default = false]

# grpc_server_max_recv_msg_size is not exposed as CLI flag.
[grpc_server_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 16777216]

# grpc_server_max_send_msg_size is not exposed as CLI flag.
[grpc_server_max_send_msg_size: &amp;lt;int&amp;gt; | default = 16777216]

# grpc_server_max_concurrent_streams is not exposed as CLI flag.
[grpc_server_max_concurrent_streams: &amp;lt;int&amp;gt; | default = 100]

# grpc_server_max_connection_idle is not exposed as CLI flag.
[grpc_server_max_connection_idle: &amp;lt;duration&amp;gt; | default = 2562047h47m16.854775807s]

# grpc_server_max_connection_age is not exposed as CLI flag.
[grpc_server_max_connection_age: &amp;lt;duration&amp;gt; | default = 2562047h47m16.854775807s]

# grpc_server_max_connection_age_grace is not exposed as CLI flag.
[grpc_server_max_connection_age_grace: &amp;lt;duration&amp;gt; | default = 2562047h47m16.854775807s]

# grpc_server_keepalive_time is not exposed as CLI flag.
[grpc_server_keepalive_time: &amp;lt;duration&amp;gt; | default = 2h]

# grpc_server_keepalive_timeout is not exposed as CLI flag.
[grpc_server_keepalive_timeout: &amp;lt;duration&amp;gt; | default = 20s]

# grpc_server_min_time_between_pings is not exposed as CLI flag.
[grpc_server_min_time_between_pings: &amp;lt;duration&amp;gt; | default = 10s]

# grpc_server_ping_without_stream_allowed is not exposed as CLI flag.
[grpc_server_ping_without_stream_allowed: &amp;lt;boolean&amp;gt; | default = true]

# grpc_server_num_workers is not exposed as CLI flag.
[grpc_server_num_workers: &amp;lt;int&amp;gt; | default = 0]

# grpc_server_stats_tracking_enabled is not exposed as CLI flag.
[grpc_server_stats_tracking_enabled: &amp;lt;boolean&amp;gt; | default = true]

# grpc_server_recv_buffer_pools_enabled is not exposed as CLI flag.
[grpc_server_recv_buffer_pools_enabled: &amp;lt;boolean&amp;gt; | default = false]

# log_format is not exposed as CLI flag.
[log_format: &amp;lt;string&amp;gt; | default = &amp;#34;logfmt&amp;#34;]

# Only log messages with the given severity or above. Valid levels: [debug,
# info, warn, error]
# CLI flag: -log.level
[log_level: &amp;lt;string&amp;gt; | default = &amp;#34;info&amp;#34;]

# log_source_ips_enabled is not exposed as CLI flag.
[log_source_ips_enabled: &amp;lt;boolean&amp;gt; | default = false]

# log_source_ips_full is not exposed as CLI flag.
[log_source_ips_full: &amp;lt;boolean&amp;gt; | default = false]

# log_source_ips_header is not exposed as CLI flag.
[log_source_ips_header: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# log_source_ips_regex is not exposed as CLI flag.
[log_source_ips_regex: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# log_request_headers is not exposed as CLI flag.
[log_request_headers: &amp;lt;boolean&amp;gt; | default = false]

# log_request_at_info_level_enabled is not exposed as CLI flag.
[log_request_at_info_level_enabled: &amp;lt;boolean&amp;gt; | default = false]

# log_request_exclude_headers_list is not exposed as CLI flag.
[log_request_exclude_headers_list: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# trace_request_headers is not exposed as CLI flag.
[trace_request_headers: &amp;lt;boolean&amp;gt; | default = false]

# trace_request_exclude_headers_list is not exposed as CLI flag.
[trace_request_exclude_headers_list: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# http_path_prefix is not exposed as CLI flag.
[http_path_prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

cluster_validation:
  # label is not exposed as CLI flag.
  [label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  grpc:
    # enabled is not exposed as CLI flag.
    [enabled: &amp;lt;boolean&amp;gt; | default = false]

    # soft_validation is not exposed as CLI flag.
    [soft_validation: &amp;lt;boolean&amp;gt; | default = false]

  http:
    # enabled is not exposed as CLI flag.
    [enabled: &amp;lt;boolean&amp;gt; | default = false]

    # soft_validation is not exposed as CLI flag.
    [soft_validation: &amp;lt;boolean&amp;gt; | default = false]

    # excluded_paths is not exposed as CLI flag.
    [excluded_paths: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;distributor_config&#34;&gt;distributor_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;distributor_config&lt;/code&gt; block configures the distributor service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;ring:
  kvstore:
    # store is not exposed as CLI flag.
    [store: &amp;lt;string&amp;gt; | default = &amp;#34;memberlist&amp;#34;]

    # prefix is not exposed as CLI flag.
    [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;collectors/&amp;#34;]

    consul:
      # host is not exposed as CLI flag.
      [host: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:8500&amp;#34;]

      # acl_token is not exposed as CLI flag.
      [acl_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # http_client_timeout is not exposed as CLI flag.
      [http_client_timeout: &amp;lt;duration&amp;gt; | default = 20s]

      # consistent_reads is not exposed as CLI flag.
      [consistent_reads: &amp;lt;boolean&amp;gt; | default = false]

      # watch_rate_limit is not exposed as CLI flag.
      [watch_rate_limit: &amp;lt;float&amp;gt; | default = 1]

      # watch_burst_size is not exposed as CLI flag.
      [watch_burst_size: &amp;lt;int&amp;gt; | default = 1]

      # cas_retry_delay is not exposed as CLI flag.
      [cas_retry_delay: &amp;lt;duration&amp;gt; | default = 1s]

    etcd:
      # endpoints is not exposed as CLI flag.
      [endpoints: &amp;lt;list of string&amp;gt; | default = []]

      # dial_timeout is not exposed as CLI flag.
      [dial_timeout: &amp;lt;duration&amp;gt; | default = 10s]

      # max_retries is not exposed as CLI flag.
      [max_retries: &amp;lt;int&amp;gt; | default = 10]

      # tls_enabled is not exposed as CLI flag.
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # tls_cert_path is not exposed as CLI flag.
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_key_path is not exposed as CLI flag.
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_ca_path is not exposed as CLI flag.
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_server_name is not exposed as CLI flag.
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_insecure_skip_verify is not exposed as CLI flag.
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # tls_cipher_suites is not exposed as CLI flag.
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_min_version is not exposed as CLI flag.
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # username is not exposed as CLI flag.
      [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # password is not exposed as CLI flag.
      [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    multi:
      # primary is not exposed as CLI flag.
      [primary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # secondary is not exposed as CLI flag.
      [secondary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # mirror_enabled is not exposed as CLI flag.
      [mirror_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # mirror_timeout is not exposed as CLI flag.
      [mirror_timeout: &amp;lt;duration&amp;gt; | default = 2s]

  # heartbeat_period is not exposed as CLI flag.
  [heartbeat_period: &amp;lt;duration&amp;gt; | default = 5s]

  # heartbeat_timeout is not exposed as CLI flag.
  [heartbeat_timeout: &amp;lt;duration&amp;gt; | default = 5m]

  # instance_interface_names is not exposed as CLI flag.
  [instance_interface_names: &amp;lt;list of string&amp;gt; | default = [eth0 en0]]

  # enable_inet6 is not exposed as CLI flag.
  [enable_inet6: &amp;lt;boolean&amp;gt; | default = false]

# receivers is not exposed as CLI flag.
[receivers: &amp;lt;map of string to interface {}&amp;gt; | default = map[]]

# override_ring_key is not exposed as CLI flag.
[override_ring_key: &amp;lt;string&amp;gt; | default = &amp;#34;distributor&amp;#34;]

log_received_spans:
  # Enable to log every received span to help debug ingestion or calculate span
  # error distributions using the logs.
  # CLI flag: -distributor.log-received-spans.enabled
  [enabled: &amp;lt;boolean&amp;gt; | default = false]

  # Enable to include span attributes in the logs.
  # CLI flag: -distributor.log-received-spans.include-attributes
  [include_all_attributes: &amp;lt;boolean&amp;gt; | default = false]

  # Enable to filter out spans without status error.
  # CLI flag: -distributor.log-received-spans.filter-by-status-error
  [filter_by_status_error: &amp;lt;boolean&amp;gt; | default = false]

log_discarded_spans:
  # Enable to log every discarded span to help debug ingestion or calculate span
  # error distributions using the logs.
  # CLI flag: -distributor.log-discarded-spans.enabled
  [enabled: &amp;lt;boolean&amp;gt; | default = false]

  # Enable to include span attributes in the logs.
  # CLI flag: -distributor.log-discarded-spans.include-attributes
  [include_all_attributes: &amp;lt;boolean&amp;gt; | default = false]

  # Enable to filter out spans without status error.
  # CLI flag: -distributor.log-discarded-spans.filter-by-status-error
  [filter_by_status_error: &amp;lt;boolean&amp;gt; | default = false]

metric_received_spans:
  # enabled is not exposed as CLI flag.
  [enabled: &amp;lt;boolean&amp;gt; | default = false]

  # root_only is not exposed as CLI flag.
  [root_only: &amp;lt;boolean&amp;gt; | default = false]

forwarders:
  # name is not exposed as CLI flag.
  [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # backend is not exposed as CLI flag.
  [backend: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  otlpgrpc:
    # endpoints is not exposed as CLI flag.
    [endpoints: &amp;lt;list of string&amp;gt; | default = []]

    tls:
      # insecure is not exposed as CLI flag.
      [insecure: &amp;lt;boolean&amp;gt; | default = false]

      # cert_file is not exposed as CLI flag.
      [cert_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  filter:
    traces:
      # span is not exposed as CLI flag.
      [span: &amp;lt;list of string&amp;gt; | default = []]

      # spanevent is not exposed as CLI flag.
      [spanevent: &amp;lt;list of string&amp;gt; | default = []]

usage:
  cost_attribution:
    # enabled is not exposed as CLI flag.
    [enabled: &amp;lt;boolean&amp;gt; | default = false]

    # max_cardinality is not exposed as CLI flag.
    [max_cardinality: &amp;lt;int&amp;gt; | default = 10000]

    # stale_duration is not exposed as CLI flag.
    [stale_duration: &amp;lt;duration&amp;gt; | default = 15m]

# kafka_write_path_enabled is not exposed as CLI flag.
[kafka_write_path_enabled: &amp;lt;boolean&amp;gt; | default = false]

kafka_config:
  # address is not exposed as CLI flag.
  [address: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # topic is not exposed as CLI flag.
  [topic: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # client_id is not exposed as CLI flag.
  [client_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # dial_timeout is not exposed as CLI flag.
  [dial_timeout: &amp;lt;duration&amp;gt; | default = 0s]

  # write_timeout is not exposed as CLI flag.
  [write_timeout: &amp;lt;duration&amp;gt; | default = 0s]

  # sasl_username is not exposed as CLI flag.
  [sasl_username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # sasl_password is not exposed as CLI flag.
  [sasl_password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # consumer_group is not exposed as CLI flag.
  [consumer_group: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # consumer_group_offset_commit_interval is not exposed as CLI flag.
  [consumer_group_offset_commit_interval: &amp;lt;duration&amp;gt; | default = 0s]

  # last_produced_offset_retry_timeout is not exposed as CLI flag.
  [last_produced_offset_retry_timeout: &amp;lt;duration&amp;gt; | default = 0s]

  # auto_create_topic_enabled is not exposed as CLI flag.
  [auto_create_topic_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # auto_create_topic_default_partitions is not exposed as CLI flag.
  [auto_create_topic_default_partitions: &amp;lt;int&amp;gt; | default = 0]

  # producer_max_record_size_bytes is not exposed as CLI flag.
  [producer_max_record_size_bytes: &amp;lt;int&amp;gt; | default = 0]

  # producer_max_buffered_bytes is not exposed as CLI flag.
  [producer_max_buffered_bytes: &amp;lt;int&amp;gt; | default = 0]

  # target_consumer_lag_at_startup is not exposed as CLI flag.
  [target_consumer_lag_at_startup: &amp;lt;duration&amp;gt; | default = 0s]

  # max_consumer_lag_at_startup is not exposed as CLI flag.
  [max_consumer_lag_at_startup: &amp;lt;duration&amp;gt; | default = 0s]

# extend_writes is not exposed as CLI flag.
[extend_writes: &amp;lt;boolean&amp;gt; | default = true]

# retry_after_on_resource_exhausted is not exposed as CLI flag.
[retry_after_on_resource_exhausted: &amp;lt;duration&amp;gt; | default = 0s]

# max_attribute_bytes is not exposed as CLI flag.
[max_attribute_bytes: &amp;lt;int&amp;gt; | default = 2048]

# artificial_delay is not exposed as CLI flag.
[artificial_delay: &amp;lt;duration&amp;gt; | default = 0s]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;query_frontend_config&#34;&gt;query_frontend_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;query_frontend_config&lt;/code&gt; block configures the query frontend service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# max_outstanding_per_tenant is not exposed as CLI flag.
[max_outstanding_per_tenant: &amp;lt;int&amp;gt; | default = 2000]

# max_batch_size is not exposed as CLI flag.
[max_batch_size: &amp;lt;int&amp;gt; | default = 7]

# log_query_request_headers is not exposed as CLI flag.
[log_query_request_headers: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# max_retries is not exposed as CLI flag.
[max_retries: &amp;lt;int&amp;gt; | default = 2]

search:
  # timeout is not exposed as CLI flag.
  [timeout: &amp;lt;duration&amp;gt; | default = 0s]

  # concurrent_jobs is not exposed as CLI flag.
  [concurrent_jobs: &amp;lt;int&amp;gt; | default = 1000]

  # target_bytes_per_job is not exposed as CLI flag.
  [target_bytes_per_job: &amp;lt;int&amp;gt; | default = 104857600]

  # default_result_limit is not exposed as CLI flag.
  [default_result_limit: &amp;lt;int&amp;gt; | default = 20]

  # max_result_limit is not exposed as CLI flag.
  [max_result_limit: &amp;lt;int&amp;gt; | default = 0]

  # max_duration is not exposed as CLI flag.
  [max_duration: &amp;lt;duration&amp;gt; | default = 168h]

  # query_backend_after is not exposed as CLI flag.
  [query_backend_after: &amp;lt;duration&amp;gt; | default = 15m]

  # query_ingesters_until is not exposed as CLI flag.
  [query_ingesters_until: &amp;lt;duration&amp;gt; | default = 30m]

  # ingester_shards is not exposed as CLI flag.
  [ingester_shards: &amp;lt;int&amp;gt; | default = 3]

  # most_recent_shards is not exposed as CLI flag.
  [most_recent_shards: &amp;lt;int&amp;gt; | default = 200]

  # max_spans_per_span_set is not exposed as CLI flag.
  [max_spans_per_span_set: &amp;lt;int&amp;gt; | default = 100]

  # duration_slo is not exposed as CLI flag.
  [duration_slo: &amp;lt;duration&amp;gt; | default = 0s]

  # throughput_bytes_slo is not exposed as CLI flag.
  [throughput_bytes_slo: &amp;lt;float&amp;gt; | default = 0]

  metadata_slo:
    # duration_slo is not exposed as CLI flag.
    [duration_slo: &amp;lt;duration&amp;gt; | default = 0s]

    # throughput_bytes_slo is not exposed as CLI flag.
    [throughput_bytes_slo: &amp;lt;float&amp;gt; | default = 0]

trace_by_id:
  # query_shards is not exposed as CLI flag.
  [query_shards: &amp;lt;int&amp;gt; | default = 50]

  # concurrent_shards is not exposed as CLI flag.
  [concurrent_shards: &amp;lt;int&amp;gt; | default = 0]

  # duration_slo is not exposed as CLI flag.
  [duration_slo: &amp;lt;duration&amp;gt; | default = 0s]

  # throughput_bytes_slo is not exposed as CLI flag.
  [throughput_bytes_slo: &amp;lt;float&amp;gt; | default = 0]

metrics:
  # concurrent_jobs is not exposed as CLI flag.
  [concurrent_jobs: &amp;lt;int&amp;gt; | default = 1000]

  # target_bytes_per_job is not exposed as CLI flag.
  [target_bytes_per_job: &amp;lt;int&amp;gt; | default = 104857600]

  # max_duration is not exposed as CLI flag.
  [max_duration: &amp;lt;duration&amp;gt; | default = 3h]

  # query_backend_after is not exposed as CLI flag.
  [query_backend_after: &amp;lt;duration&amp;gt; | default = 30m]

  # interval is not exposed as CLI flag.
  [interval: &amp;lt;duration&amp;gt; | default = 5m]

  # max_exemplars is not exposed as CLI flag.
  [max_exemplars: &amp;lt;int&amp;gt; | default = 100]

  # max_response_series is not exposed as CLI flag.
  [max_response_series: &amp;lt;int&amp;gt; | default = 0]

  # duration_slo is not exposed as CLI flag.
  [duration_slo: &amp;lt;duration&amp;gt; | default = 0s]

  # throughput_bytes_slo is not exposed as CLI flag.
  [throughput_bytes_slo: &amp;lt;float&amp;gt; | default = 0]

# multi_tenant_queries_enabled is not exposed as CLI flag.
[multi_tenant_queries_enabled: &amp;lt;boolean&amp;gt; | default = true]

# response_consumers is not exposed as CLI flag.
[response_consumers: &amp;lt;int&amp;gt; | default = 10]

weights:
  # request_with_weights is not exposed as CLI flag.
  [request_with_weights: &amp;lt;boolean&amp;gt; | default = true]

  # retry_with_weights is not exposed as CLI flag.
  [retry_with_weights: &amp;lt;boolean&amp;gt; | default = true]

  # max_traceql_conditions is not exposed as CLI flag.
  [max_traceql_conditions: &amp;lt;int&amp;gt; | default = 4]

  # max_regex_conditions is not exposed as CLI flag.
  [max_regex_conditions: &amp;lt;int&amp;gt; | default = 1]

# api_timeout is not exposed as CLI flag.
[api_timeout: &amp;lt;duration&amp;gt; | default = 0s]

# url_deny_list is not exposed as CLI flag.
[url_deny_list: &amp;lt;list of string&amp;gt; | default = []]

# max_query_expression_size_bytes is not exposed as CLI flag.
[max_query_expression_size_bytes: &amp;lt;int&amp;gt; | default = 131072]

rf1_after:&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;querier_config&#34;&gt;querier_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;querier_config&lt;/code&gt; block configures the querier service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;search:
  # query_timeout is not exposed as CLI flag.
  [query_timeout: &amp;lt;duration&amp;gt; | default = 30s]

trace_by_id:
  # query_timeout is not exposed as CLI flag.
  [query_timeout: &amp;lt;duration&amp;gt; | default = 10s]

metrics:
  # concurrent_blocks is not exposed as CLI flag.
  [concurrent_blocks: &amp;lt;int&amp;gt; | default = 2]

  # time_overlap_cutoff is not exposed as CLI flag.
  [time_overlap_cutoff: &amp;lt;float&amp;gt; | default = 0.2]

# extra_query_delay is not exposed as CLI flag.
[extra_query_delay: &amp;lt;duration&amp;gt; | default = 0s]

# max_concurrent_queries is not exposed as CLI flag.
[max_concurrent_queries: &amp;lt;int&amp;gt; | default = 20]

frontend_worker:
  # Address of query frontend service, in host:port format.
  # CLI flag: -querier.frontend-address
  [frontend_address: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # dns_lookup_duration is not exposed as CLI flag.
  [dns_lookup_duration: &amp;lt;duration&amp;gt; | default = 10s]

  # parallelism is not exposed as CLI flag.
  [parallelism: &amp;lt;int&amp;gt; | default = 2]

  # match_max_concurrent is not exposed as CLI flag.
  [match_max_concurrent: &amp;lt;boolean&amp;gt; | default = true]

  # id is not exposed as CLI flag.
  [id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  grpc_client_config:
    # max_recv_msg_size is not exposed as CLI flag.
    [max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # max_send_msg_size is not exposed as CLI flag.
    [max_send_msg_size: &amp;lt;int&amp;gt; | default = 16777216]

    # grpc_compression is not exposed as CLI flag.
    [grpc_compression: &amp;lt;string&amp;gt; | default = &amp;#34;snappy&amp;#34;]

    # rate_limit is not exposed as CLI flag.
    [rate_limit: &amp;lt;float&amp;gt; | default = 0]

    # rate_limit_burst is not exposed as CLI flag.
    [rate_limit_burst: &amp;lt;int&amp;gt; | default = 0]

    # backoff_on_ratelimits is not exposed as CLI flag.
    [backoff_on_ratelimits: &amp;lt;boolean&amp;gt; | default = false]

    backoff_config:
      # min_period is not exposed as CLI flag.
      [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

      # max_period is not exposed as CLI flag.
      [max_period: &amp;lt;duration&amp;gt; | default = 1s]

      # max_retries is not exposed as CLI flag.
      [max_retries: &amp;lt;int&amp;gt; | default = 5]

    # initial_stream_window_size is not exposed as CLI flag.
    [initial_stream_window_size: &amp;lt;int&amp;gt; | default = 0]

    # initial_connection_window_size is not exposed as CLI flag.
    [initial_connection_window_size: &amp;lt;int&amp;gt; | default = 0]

    # tls_enabled is not exposed as CLI flag.
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cert_path is not exposed as CLI flag.
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_key_path is not exposed as CLI flag.
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_ca_path is not exposed as CLI flag.
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_server_name is not exposed as CLI flag.
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_insecure_skip_verify is not exposed as CLI flag.
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cipher_suites is not exposed as CLI flag.
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_min_version is not exposed as CLI flag.
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # connect_timeout is not exposed as CLI flag.
    [connect_timeout: &amp;lt;duration&amp;gt; | default = 0s]

    # connect_backoff_base_delay is not exposed as CLI flag.
    [connect_backoff_base_delay: &amp;lt;duration&amp;gt; | default = 0s]

    # connect_backoff_max_delay is not exposed as CLI flag.
    [connect_backoff_max_delay: &amp;lt;duration&amp;gt; | default = 0s]

    cluster_validation:
      # label is not exposed as CLI flag.
      [label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# shuffle_sharding_ingesters_enabled is not exposed as CLI flag.
[shuffle_sharding_ingesters_enabled: &amp;lt;boolean&amp;gt; | default = false]

# shuffle_sharding_ingesters_lookback_period is not exposed as CLI flag.
[shuffle_sharding_ingesters_lookback_period: &amp;lt;duration&amp;gt; | default = 1h]

# query_relevant_ingesters is not exposed as CLI flag.
[query_relevant_ingesters: &amp;lt;boolean&amp;gt; | default = false]

# secondary_ingester_ring is not exposed as CLI flag.
[secondary_ingester_ring: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;ingester_client_config&#34;&gt;ingester_client_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;ingester_client_config&lt;/code&gt; block configures how the distributor services connect to the ingester services.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;pool_config:
  # checkinterval is not exposed as CLI flag.
  [checkinterval: &amp;lt;duration&amp;gt; | default = 15s]

  # healthcheckenabled is not exposed as CLI flag.
  [healthcheckenabled: &amp;lt;boolean&amp;gt; | default = true]

  # healthchecktimeout is not exposed as CLI flag.
  [healthchecktimeout: &amp;lt;duration&amp;gt; | default = 1s]

  # maxconcurrenthealthchecks is not exposed as CLI flag.
  [maxconcurrenthealthchecks: &amp;lt;int&amp;gt; | default = 0]

# remote_timeout is not exposed as CLI flag.
[remote_timeout: &amp;lt;duration&amp;gt; | default = 5s]

grpc_client_config:
  # max_recv_msg_size is not exposed as CLI flag.
  [max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

  # max_send_msg_size is not exposed as CLI flag.
  [max_send_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

  # grpc_compression is not exposed as CLI flag.
  [grpc_compression: &amp;lt;string&amp;gt; | default = &amp;#34;snappy&amp;#34;]

  # rate_limit is not exposed as CLI flag.
  [rate_limit: &amp;lt;float&amp;gt; | default = 0]

  # rate_limit_burst is not exposed as CLI flag.
  [rate_limit_burst: &amp;lt;int&amp;gt; | default = 0]

  # backoff_on_ratelimits is not exposed as CLI flag.
  [backoff_on_ratelimits: &amp;lt;boolean&amp;gt; | default = false]

  backoff_config:
    # min_period is not exposed as CLI flag.
    [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

    # max_period is not exposed as CLI flag.
    [max_period: &amp;lt;duration&amp;gt; | default = 10s]

    # max_retries is not exposed as CLI flag.
    [max_retries: &amp;lt;int&amp;gt; | default = 10]

  # initial_stream_window_size is not exposed as CLI flag.
  [initial_stream_window_size: &amp;lt;int&amp;gt; | default = 65535]

  # initial_connection_window_size is not exposed as CLI flag.
  [initial_connection_window_size: &amp;lt;int&amp;gt; | default = 65535]

  # tls_enabled is not exposed as CLI flag.
  [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # tls_cert_path is not exposed as CLI flag.
  [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_key_path is not exposed as CLI flag.
  [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_ca_path is not exposed as CLI flag.
  [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_server_name is not exposed as CLI flag.
  [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_insecure_skip_verify is not exposed as CLI flag.
  [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

  # tls_cipher_suites is not exposed as CLI flag.
  [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_min_version is not exposed as CLI flag.
  [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # connect_timeout is not exposed as CLI flag.
  [connect_timeout: &amp;lt;duration&amp;gt; | default = 5s]

  # connect_backoff_base_delay is not exposed as CLI flag.
  [connect_backoff_base_delay: &amp;lt;duration&amp;gt; | default = 1s]

  # connect_backoff_max_delay is not exposed as CLI flag.
  [connect_backoff_max_delay: &amp;lt;duration&amp;gt; | default = 5s]

  cluster_validation:
    # label is not exposed as CLI flag.
    [label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;ingester_config&#34;&gt;ingester_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;ingester_config&lt;/code&gt; block configures the ingester service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;lifecycler:
  ring:
    kvstore:
      # store is not exposed as CLI flag.
      [store: &amp;lt;string&amp;gt; | default = &amp;#34;memberlist&amp;#34;]

      # prefix is not exposed as CLI flag.
      [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;collectors/&amp;#34;]

      consul:
        # host is not exposed as CLI flag.
        [host: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:8500&amp;#34;]

        # acl_token is not exposed as CLI flag.
        [acl_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # http_client_timeout is not exposed as CLI flag.
        [http_client_timeout: &amp;lt;duration&amp;gt; | default = 20s]

        # consistent_reads is not exposed as CLI flag.
        [consistent_reads: &amp;lt;boolean&amp;gt; | default = false]

        # watch_rate_limit is not exposed as CLI flag.
        [watch_rate_limit: &amp;lt;float&amp;gt; | default = 1]

        # watch_burst_size is not exposed as CLI flag.
        [watch_burst_size: &amp;lt;int&amp;gt; | default = 1]

        # cas_retry_delay is not exposed as CLI flag.
        [cas_retry_delay: &amp;lt;duration&amp;gt; | default = 1s]

      etcd:
        # endpoints is not exposed as CLI flag.
        [endpoints: &amp;lt;list of string&amp;gt; | default = []]

        # dial_timeout is not exposed as CLI flag.
        [dial_timeout: &amp;lt;duration&amp;gt; | default = 10s]

        # max_retries is not exposed as CLI flag.
        [max_retries: &amp;lt;int&amp;gt; | default = 10]

        # tls_enabled is not exposed as CLI flag.
        [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # tls_cert_path is not exposed as CLI flag.
        [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_key_path is not exposed as CLI flag.
        [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_ca_path is not exposed as CLI flag.
        [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_server_name is not exposed as CLI flag.
        [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_insecure_skip_verify is not exposed as CLI flag.
        [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

        # tls_cipher_suites is not exposed as CLI flag.
        [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # tls_min_version is not exposed as CLI flag.
        [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # username is not exposed as CLI flag.
        [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # password is not exposed as CLI flag.
        [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      multi:
        # primary is not exposed as CLI flag.
        [primary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # secondary is not exposed as CLI flag.
        [secondary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # mirror_enabled is not exposed as CLI flag.
        [mirror_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # mirror_timeout is not exposed as CLI flag.
        [mirror_timeout: &amp;lt;duration&amp;gt; | default = 2s]

    # heartbeat_timeout is not exposed as CLI flag.
    [heartbeat_timeout: &amp;lt;duration&amp;gt; | default = 5m]

    # replication_factor is not exposed as CLI flag.
    [replication_factor: &amp;lt;int&amp;gt; | default = 1]

    # zone_awareness_enabled is not exposed as CLI flag.
    [zone_awareness_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # excluded_zones is not exposed as CLI flag.
    [excluded_zones: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # num_tokens is not exposed as CLI flag.
  [num_tokens: &amp;lt;int&amp;gt; | default = 128]

  # heartbeat_period is not exposed as CLI flag.
  [heartbeat_period: &amp;lt;duration&amp;gt; | default = 5s]

  # heartbeat_timeout is not exposed as CLI flag.
  [heartbeat_timeout: &amp;lt;duration&amp;gt; | default = 1m]

  # observe_period is not exposed as CLI flag.
  [observe_period: &amp;lt;duration&amp;gt; | default = 0s]

  # join_after is not exposed as CLI flag.
  [join_after: &amp;lt;duration&amp;gt; | default = 0s]

  # min_ready_duration is not exposed as CLI flag.
  [min_ready_duration: &amp;lt;duration&amp;gt; | default = 15s]

  # interface_names is not exposed as CLI flag.
  [interface_names: &amp;lt;list of string&amp;gt; | default = [eth0 en0]]

  # enable_inet6 is not exposed as CLI flag.
  [enable_inet6: &amp;lt;boolean&amp;gt; | default = false]

  # final_sleep is not exposed as CLI flag.
  [final_sleep: &amp;lt;duration&amp;gt; | default = 0s]

  # tokens_file_path is not exposed as CLI flag.
  [tokens_file_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Define Availability Zone in which this ingester is running.
  # CLI flag: -ingester.availability-zone
  [availability_zone: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # unregister_on_shutdown is not exposed as CLI flag.
  [unregister_on_shutdown: &amp;lt;boolean&amp;gt; | default = true]

  # readiness_check_ring_health is not exposed as CLI flag.
  [readiness_check_ring_health: &amp;lt;boolean&amp;gt; | default = true]

  # address is not exposed as CLI flag.
  [address: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # port is not exposed as CLI flag.
  [port: &amp;lt;int&amp;gt; | default = 0]

  # ID to register in the ring.
  # CLI flag: -ingester.lifecycler.ID
  [id: &amp;lt;string&amp;gt; | default = &amp;#34;hostname&amp;#34;]

partition_ring:
  # The key-value store used to share the hash ring across multiple instances.
  # This option needs be set on ingesters, distributors, queriers, and rulers
  # when running in microservices mode.
  kvstore:
    # Backend storage to use for the ring. Supported values are: consul, etcd,
    # inmemory, memberlist, multi.
    # CLI flag: -ingester.partition-ring.store
    [store: &amp;lt;string&amp;gt; | default = &amp;#34;memberlist&amp;#34;]

    # The prefix for the keys in the store. Should end with a /.
    # CLI flag: -ingester.partition-ring.prefix
    [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;collectors/&amp;#34;]

    consul:
      # Hostname and port of Consul.
      # CLI flag: -ingester.partition-ring.consul.hostname
      [host: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:8500&amp;#34;]

      # ACL Token used to interact with Consul.
      # CLI flag: -ingester.partition-ring.consul.acl-token
      [acl_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # HTTP timeout when talking to Consul
      # CLI flag: -ingester.partition-ring.consul.client-timeout
      [http_client_timeout: &amp;lt;duration&amp;gt; | default = 20s]

      # Enable consistent reads to Consul.
      # CLI flag: -ingester.partition-ring.consul.consistent-reads
      [consistent_reads: &amp;lt;boolean&amp;gt; | default = false]

      # Rate limit when watching key or prefix in Consul, in requests per
      # second. 0 disables the rate limit.
      # CLI flag: -ingester.partition-ring.consul.watch-rate-limit
      [watch_rate_limit: &amp;lt;float&amp;gt; | default = 1]

      # Burst size used in rate limit. Values less than 1 are treated as 1.
      # CLI flag: -ingester.partition-ring.consul.watch-burst-size
      [watch_burst_size: &amp;lt;int&amp;gt; | default = 1]

      # Maximum duration to wait before retrying a Compare And Swap (CAS)
      # operation.
      # CLI flag: -ingester.partition-ring.consul.cas-retry-delay
      [cas_retry_delay: &amp;lt;duration&amp;gt; | default = 1s]

    etcd:
      # The etcd endpoints to connect to.
      # CLI flag: -ingester.partition-ring.etcd.endpoints
      [endpoints: &amp;lt;list of string&amp;gt; | default = []]

      # The dial timeout for the etcd connection.
      # CLI flag: -ingester.partition-ring.etcd.dial-timeout
      [dial_timeout: &amp;lt;duration&amp;gt; | default = 10s]

      # The maximum number of retries to do for failed ops.
      # CLI flag: -ingester.partition-ring.etcd.max-retries
      [max_retries: &amp;lt;int&amp;gt; | default = 10]

      # Enable TLS.
      # CLI flag: -ingester.partition-ring.etcd.tls-enabled
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # Path to the client certificate, which will be used for authenticating
      # with the server. Also requires the key path to be configured.
      # CLI flag: -ingester.partition-ring.etcd.tls-cert-path
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the key for the client certificate. Also requires the client
      # certificate to be configured.
      # CLI flag: -ingester.partition-ring.etcd.tls-key-path
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the CA certificates to validate server certificate against. If
      # not set, the host&amp;#39;s root CA certificates are used.
      # CLI flag: -ingester.partition-ring.etcd.tls-ca-path
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the expected name on the server certificate.
      # CLI flag: -ingester.partition-ring.etcd.tls-server-name
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Skip validating server certificate.
      # CLI flag: -ingester.partition-ring.etcd.tls-insecure-skip-verify
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # Override the default cipher suite list (separated by commas).
      # CLI flag: -ingester.partition-ring.etcd.tls-cipher-suites
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the default minimum TLS version. Allowed values: VersionTLS10,
      # VersionTLS11, VersionTLS12, VersionTLS13
      # CLI flag: -ingester.partition-ring.etcd.tls-min-version
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Etcd username.
      # CLI flag: -ingester.partition-ring.etcd.username
      [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Etcd password.
      # CLI flag: -ingester.partition-ring.etcd.password
      [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    multi:
      # Primary backend storage used by multi-client.
      # CLI flag: -ingester.partition-ring.multi.primary
      [primary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Secondary backend storage used by multi-client.
      # CLI flag: -ingester.partition-ring.multi.secondary
      [secondary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Mirror writes to secondary store.
      # CLI flag: -ingester.partition-ring.multi.mirror-enabled
      [mirror_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # Timeout for storing value to secondary store.
      # CLI flag: -ingester.partition-ring.multi.mirror-timeout
      [mirror_timeout: &amp;lt;duration&amp;gt; | default = 2s]

  # Minimum number of owners to wait before a PENDING partition gets switched to
  # ACTIVE.
  # CLI flag: -ingester.partition-ring.min-partition-owners-count
  [min_partition_owners_count: &amp;lt;int&amp;gt; | default = 1]

  # How long the minimum number of owners are enforced before a PENDING
  # partition gets switched to ACTIVE.
  # CLI flag: -ingester.partition-ring.min-partition-owners-duration
  [min_partition_owners_duration: &amp;lt;duration&amp;gt; | default = 10s]

  # How long to wait before an INACTIVE partition is eligible for deletion. The
  # partition is deleted only if it has been in INACTIVE state for at least the
  # configured duration and it has no owners registered. A value of 0 disables
  # partitions deletion.
  # CLI flag: -ingester.partition-ring.delete-inactive-partition-after
  [delete_inactive_partition_after: &amp;lt;duration&amp;gt; | default = 13h]

# concurrent_flushes is not exposed as CLI flag.
[concurrent_flushes: &amp;lt;int&amp;gt; | default = 4]

# flush_check_period is not exposed as CLI flag.
[flush_check_period: &amp;lt;duration&amp;gt; | default = 10s]

# flush_op_timeout is not exposed as CLI flag.
[flush_op_timeout: &amp;lt;duration&amp;gt; | default = 5m]

# Duration after which to consider a trace complete if no spans have been
# received
# CLI flag: -ingester.trace-idle-period
[trace_idle_period: &amp;lt;duration&amp;gt; | default = 5s]

# trace_live_period is not exposed as CLI flag.
[trace_live_period: &amp;lt;duration&amp;gt; | default = 30s]

# Maximum duration which the head block can be appended to before cutting it.
# CLI flag: -ingester.max-block-duration
[max_block_duration: &amp;lt;duration&amp;gt; | default = 30m]

# Maximum size of the head block before cutting it.
# CLI flag: -ingester.max-block-bytes
[max_block_bytes: &amp;lt;int&amp;gt; | default = 524288000]

# Duration to keep blocks in the ingester after they have been flushed.
# CLI flag: -ingester.complete-block-timeout
[complete_block_timeout: &amp;lt;duration&amp;gt; | default = 15m]

# override_ring_key is not exposed as CLI flag.
[override_ring_key: &amp;lt;string&amp;gt; | default = &amp;#34;ring&amp;#34;]

# flush_all_on_shutdown is not exposed as CLI flag.
[flush_all_on_shutdown: &amp;lt;boolean&amp;gt; | default = false]

# flush_object_storage is not exposed as CLI flag.
[flush_object_storage: &amp;lt;boolean&amp;gt; | default = true]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;compactor_config&#34;&gt;compactor_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;compactor_config&lt;/code&gt; block configures the compactor service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# Disable compaction.
# CLI flag: -compactor.disabled
[disabled: &amp;lt;boolean&amp;gt; | default = false]

ring:
  kvstore:
    # store is not exposed as CLI flag.
    [store: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # prefix is not exposed as CLI flag.
    [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;collectors/&amp;#34;]

    consul:
      # host is not exposed as CLI flag.
      [host: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:8500&amp;#34;]

      # acl_token is not exposed as CLI flag.
      [acl_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # http_client_timeout is not exposed as CLI flag.
      [http_client_timeout: &amp;lt;duration&amp;gt; | default = 20s]

      # consistent_reads is not exposed as CLI flag.
      [consistent_reads: &amp;lt;boolean&amp;gt; | default = false]

      # watch_rate_limit is not exposed as CLI flag.
      [watch_rate_limit: &amp;lt;float&amp;gt; | default = 1]

      # watch_burst_size is not exposed as CLI flag.
      [watch_burst_size: &amp;lt;int&amp;gt; | default = 1]

      # cas_retry_delay is not exposed as CLI flag.
      [cas_retry_delay: &amp;lt;duration&amp;gt; | default = 1s]

    etcd:
      # endpoints is not exposed as CLI flag.
      [endpoints: &amp;lt;list of string&amp;gt; | default = []]

      # dial_timeout is not exposed as CLI flag.
      [dial_timeout: &amp;lt;duration&amp;gt; | default = 10s]

      # max_retries is not exposed as CLI flag.
      [max_retries: &amp;lt;int&amp;gt; | default = 10]

      # tls_enabled is not exposed as CLI flag.
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # tls_cert_path is not exposed as CLI flag.
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_key_path is not exposed as CLI flag.
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_ca_path is not exposed as CLI flag.
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_server_name is not exposed as CLI flag.
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_insecure_skip_verify is not exposed as CLI flag.
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # tls_cipher_suites is not exposed as CLI flag.
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_min_version is not exposed as CLI flag.
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # username is not exposed as CLI flag.
      [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # password is not exposed as CLI flag.
      [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    multi:
      # primary is not exposed as CLI flag.
      [primary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # secondary is not exposed as CLI flag.
      [secondary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # mirror_enabled is not exposed as CLI flag.
      [mirror_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # mirror_timeout is not exposed as CLI flag.
      [mirror_timeout: &amp;lt;duration&amp;gt; | default = 2s]

  # heartbeat_period is not exposed as CLI flag.
  [heartbeat_period: &amp;lt;duration&amp;gt; | default = 5s]

  # heartbeat_timeout is not exposed as CLI flag.
  [heartbeat_timeout: &amp;lt;duration&amp;gt; | default = 1m]

  # wait_stability_min_duration is not exposed as CLI flag.
  [wait_stability_min_duration: &amp;lt;duration&amp;gt; | default = 1m]

  # wait_stability_max_duration is not exposed as CLI flag.
  [wait_stability_max_duration: &amp;lt;duration&amp;gt; | default = 5m]

  # instance_interface_names is not exposed as CLI flag.
  [instance_interface_names: &amp;lt;list of string&amp;gt; | default = [eth0 en0]]

  # enable_inet6 is not exposed as CLI flag.
  [enable_inet6: &amp;lt;boolean&amp;gt; | default = false]

  # wait_active_instance_timeout is not exposed as CLI flag.
  [wait_active_instance_timeout: &amp;lt;duration&amp;gt; | default = 10m]

compaction:
  # v2_in_buffer_bytes is not exposed as CLI flag.
  [v2_in_buffer_bytes: &amp;lt;int&amp;gt; | default = 5242880]

  # v2_out_buffer_bytes is not exposed as CLI flag.
  [v2_out_buffer_bytes: &amp;lt;int&amp;gt; | default = 20971520]

  # v2_prefetch_traces_count is not exposed as CLI flag.
  [v2_prefetch_traces_count: &amp;lt;int&amp;gt; | default = 1000]

  # Maximum time window across which to compact blocks.
  # CLI flag: -compactor.compaction.compaction.compaction-window
  [compaction_window: &amp;lt;duration&amp;gt; | default = 1h]

  # Maximum number of traces in a compacted block.
  # CLI flag: -compactor.compaction.compaction.max-objects-per-block
  [max_compaction_objects: &amp;lt;int&amp;gt; | default = 6000000]

  # Maximum size of a compacted block.
  # CLI flag: -compactor.compaction.compaction.max-block-bytes
  [max_block_bytes: &amp;lt;int&amp;gt; | default = 107374182400]

  # Duration to keep blocks/traces.
  # CLI flag: -compactor.compaction.compaction.block-retention
  [block_retention: &amp;lt;duration&amp;gt; | default = 336h]

  # compacted_block_retention is not exposed as CLI flag.
  [compacted_block_retention: &amp;lt;duration&amp;gt; | default = 1h]

  # retention_concurrency is not exposed as CLI flag.
  [retention_concurrency: &amp;lt;int&amp;gt; | default = 10]

  # max_time_per_tenant is not exposed as CLI flag.
  [max_time_per_tenant: &amp;lt;duration&amp;gt; | default = 5m]

  # compaction_cycle is not exposed as CLI flag.
  [compaction_cycle: &amp;lt;duration&amp;gt; | default = 30s]

# override_ring_key is not exposed as CLI flag.
[override_ring_key: &amp;lt;string&amp;gt; | default = &amp;#34;compactor&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;storage_config&#34;&gt;storage_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;storage_config&lt;/code&gt; block configures how and where to store data.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;trace:
  pool:
    # max_workers is not exposed as CLI flag.
    [max_workers: &amp;lt;int&amp;gt; | default = 0]

    # queue_depth is not exposed as CLI flag.
    [queue_depth: &amp;lt;int&amp;gt; | default = 0]

  wal:
    # path is not exposed as CLI flag.
    [path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # v2_encoding is not exposed as CLI flag.
    [v2_encoding: &amp;lt;int&amp;gt; | default = none]

    # search_encoding is not exposed as CLI flag.
    [search_encoding: &amp;lt;int&amp;gt; | default = none]

    # ingestion_time_range_slack is not exposed as CLI flag.
    [ingestion_time_range_slack: &amp;lt;duration&amp;gt; | default = 0s]

    # version is not exposed as CLI flag.
    [version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  block:
    # bloom_filter_false_positive is not exposed as CLI flag.
    [bloom_filter_false_positive: &amp;lt;float&amp;gt; | default = 0]

    # bloom_filter_shard_size_bytes is not exposed as CLI flag.
    [bloom_filter_shard_size_bytes: &amp;lt;int&amp;gt; | default = 0]

    # version is not exposed as CLI flag.
    [version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # search_encoding is not exposed as CLI flag.
    [search_encoding: &amp;lt;int&amp;gt; | default = none]

    # search_page_size_bytes is not exposed as CLI flag.
    [search_page_size_bytes: &amp;lt;int&amp;gt; | default = 0]

    # v2_index_downsample_bytes is not exposed as CLI flag.
    [v2_index_downsample_bytes: &amp;lt;int&amp;gt; | default = 0]

    # v2_index_page_size_bytes is not exposed as CLI flag.
    [v2_index_page_size_bytes: &amp;lt;int&amp;gt; | default = 0]

    # v2_encoding is not exposed as CLI flag.
    [v2_encoding: &amp;lt;int&amp;gt; | default = none]

    # parquet_row_group_size_bytes is not exposed as CLI flag.
    [parquet_row_group_size_bytes: &amp;lt;int&amp;gt; | default = 0]

    parquet_dedicated_columns:
      # scope is not exposed as CLI flag.
      [scope: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # name is not exposed as CLI flag.
      [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # type is not exposed as CLI flag.
      [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  search:
    # chunk_size_bytes is not exposed as CLI flag.
    [chunk_size_bytes: &amp;lt;int&amp;gt; | default = 0]

    # prefetch_trace_count is not exposed as CLI flag.
    [prefetch_trace_count: &amp;lt;int&amp;gt; | default = 0]

    # read_buffer_count is not exposed as CLI flag.
    [read_buffer_count: &amp;lt;int&amp;gt; | default = 0]

    # read_buffer_size_bytes is not exposed as CLI flag.
    [read_buffer_size_bytes: &amp;lt;int&amp;gt; | default = 0]

    cache_control:
      # footer is not exposed as CLI flag.
      [footer: &amp;lt;boolean&amp;gt; | default = false]

      # column_index is not exposed as CLI flag.
      [column_index: &amp;lt;boolean&amp;gt; | default = false]

      # offset_index is not exposed as CLI flag.
      [offset_index: &amp;lt;boolean&amp;gt; | default = false]

  # Period at which to run the maintenance cycle.
  # CLI flag: -storage.trace.blocklist_poll
  [blocklist_poll: &amp;lt;duration&amp;gt; | default = 5m]

  # blocklist_poll_concurrency is not exposed as CLI flag.
  [blocklist_poll_concurrency: &amp;lt;int&amp;gt; | default = 50]

  # blocklist_poll_tenant_concurrency is not exposed as CLI flag.
  [blocklist_poll_tenant_concurrency: &amp;lt;int&amp;gt; | default = 0]

  # blocklist_poll_fallback is not exposed as CLI flag.
  [blocklist_poll_fallback: &amp;lt;boolean&amp;gt; | default = true]

  # blocklist_poll_tenant_index_builders is not exposed as CLI flag.
  [blocklist_poll_tenant_index_builders: &amp;lt;int&amp;gt; | default = 2]

  # blocklist_poll_stale_tenant_index is not exposed as CLI flag.
  [blocklist_poll_stale_tenant_index: &amp;lt;duration&amp;gt; | default = 0s]

  # blocklist_poll_jitter_ms is not exposed as CLI flag.
  [blocklist_poll_jitter_ms: &amp;lt;int&amp;gt; | default = 0]

  # blocklist_poll_tolerate_consecutive_errors is not exposed as CLI flag.
  [blocklist_poll_tolerate_consecutive_errors: &amp;lt;int&amp;gt; | default = 1]

  # blocklist_poll_tolerate_tenant_failures is not exposed as CLI flag.
  [blocklist_poll_tolerate_tenant_failures: &amp;lt;int&amp;gt; | default = 1]

  # empty_tenant_deletion_enabled is not exposed as CLI flag.
  [empty_tenant_deletion_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # empty_tenant_deletion_age is not exposed as CLI flag.
  [empty_tenant_deletion_age: &amp;lt;duration&amp;gt; | default = 0s]

  # Trace backend (s3, azure, gcs, local)
  # CLI flag: -storage.trace.backend
  [backend: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  local:
    # path is not exposed as CLI flag.
    [path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  gcs:
    # bucket_name is not exposed as CLI flag.
    [bucket_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # prefix is not exposed as CLI flag.
    [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # chunk_buffer_size is not exposed as CLI flag.
    [chunk_buffer_size: &amp;lt;int&amp;gt; | default = 0]

    # endpoint is not exposed as CLI flag.
    [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # hedge_requests_at is not exposed as CLI flag.
    [hedge_requests_at: &amp;lt;duration&amp;gt; | default = 0s]

    # hedge_requests_up_to is not exposed as CLI flag.
    [hedge_requests_up_to: &amp;lt;int&amp;gt; | default = 0]

    # insecure is not exposed as CLI flag.
    [insecure: &amp;lt;boolean&amp;gt; | default = false]

    # object_cache_control is not exposed as CLI flag.
    [object_cache_control: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # object_metadata is not exposed as CLI flag.
    [object_metadata: &amp;lt;map of string to string&amp;gt; | default = map[]]

    # list_blocks_concurrency is not exposed as CLI flag.
    [list_blocks_concurrency: &amp;lt;int&amp;gt; | default = 0]

  s3:
    # tls_cert_path is not exposed as CLI flag.
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_key_path is not exposed as CLI flag.
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_ca_path is not exposed as CLI flag.
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_server_name is not exposed as CLI flag.
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_insecure_skip_verify is not exposed as CLI flag.
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cipher_suites is not exposed as CLI flag.
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_min_version is not exposed as CLI flag.
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # bucket is not exposed as CLI flag.
    [bucket: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # prefix is not exposed as CLI flag.
    [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # endpoint is not exposed as CLI flag.
    [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # region is not exposed as CLI flag.
    [region: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # access_key is not exposed as CLI flag.
    [access_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # secret_key is not exposed as CLI flag.
    [secret_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # session_token is not exposed as CLI flag.
    [session_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # insecure is not exposed as CLI flag.
    [insecure: &amp;lt;boolean&amp;gt; | default = false]

    # part_size is not exposed as CLI flag.
    [part_size: &amp;lt;int&amp;gt; | default = 0]

    # hedge_requests_at is not exposed as CLI flag.
    [hedge_requests_at: &amp;lt;duration&amp;gt; | default = 0s]

    # hedge_requests_up_to is not exposed as CLI flag.
    [hedge_requests_up_to: &amp;lt;int&amp;gt; | default = 0]

    # signature_v2 is not exposed as CLI flag.
    [signature_v2: &amp;lt;boolean&amp;gt; | default = false]

    # forcepathstyle is not exposed as CLI flag.
    [forcepathstyle: &amp;lt;boolean&amp;gt; | default = false]

    # enable_dual_stack is not exposed as CLI flag.
    [enable_dual_stack: &amp;lt;boolean&amp;gt; | default = false]

    # bucket_lookup_type is not exposed as CLI flag.
    [bucket_lookup_type: &amp;lt;int&amp;gt; | default = 0]

    # tags is not exposed as CLI flag.
    [tags: &amp;lt;map of string to string&amp;gt; | default = map[]]

    # storage_class is not exposed as CLI flag.
    [storage_class: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # metadata is not exposed as CLI flag.
    [metadata: &amp;lt;map of string to string&amp;gt; | default = map[]]

    # native_aws_auth_enabled is not exposed as CLI flag.
    [native_aws_auth_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # list_blocks_concurrency is not exposed as CLI flag.
    [list_blocks_concurrency: &amp;lt;int&amp;gt; | default = 0]

    sse:
      # type is not exposed as CLI flag.
      [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # kms_key_id is not exposed as CLI flag.
      [kms_key_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # kms_encryption_context is not exposed as CLI flag.
      [kms_encryption_context: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  azure:
    # storage_account_name is not exposed as CLI flag.
    [storage_account_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # storage_account_key is not exposed as CLI flag.
    [storage_account_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # use_managed_identity is not exposed as CLI flag.
    [use_managed_identity: &amp;lt;boolean&amp;gt; | default = false]

    # use_federated_token is not exposed as CLI flag.
    [use_federated_token: &amp;lt;boolean&amp;gt; | default = false]

    # user_assigned_id is not exposed as CLI flag.
    [user_assigned_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # container_name is not exposed as CLI flag.
    [container_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # prefix is not exposed as CLI flag.
    [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # endpoint_suffix is not exposed as CLI flag.
    [endpoint_suffix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # max_buffers is not exposed as CLI flag.
    [max_buffers: &amp;lt;int&amp;gt; | default = 0]

    # buffer_size is not exposed as CLI flag.
    [buffer_size: &amp;lt;int&amp;gt; | default = 0]

    # hedge_requests_at is not exposed as CLI flag.
    [hedge_requests_at: &amp;lt;duration&amp;gt; | default = 0s]

    # hedge_requests_up_to is not exposed as CLI flag.
    [hedge_requests_up_to: &amp;lt;int&amp;gt; | default = 0]

  # cache is not exposed as CLI flag.
  [cache: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  background_cache:
    # writeback_goroutines is not exposed as CLI flag.
    [writeback_goroutines: &amp;lt;int&amp;gt; | default = 0]

    # writeback_buffer is not exposed as CLI flag.
    [writeback_buffer: &amp;lt;int&amp;gt; | default = 0]

  memcached:
    # host is not exposed as CLI flag.
    [host: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # service is not exposed as CLI flag.
    [service: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # addresses is not exposed as CLI flag.
    [addresses: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # timeout is not exposed as CLI flag.
    [timeout: &amp;lt;duration&amp;gt; | default = 0s]

    # max_idle_conns is not exposed as CLI flag.
    [max_idle_conns: &amp;lt;int&amp;gt; | default = 0]

    # max_item_size is not exposed as CLI flag.
    [max_item_size: &amp;lt;int&amp;gt; | default = 0]

    # update_interval is not exposed as CLI flag.
    [update_interval: &amp;lt;duration&amp;gt; | default = 0s]

    # consistent_hash is not exposed as CLI flag.
    [consistent_hash: &amp;lt;boolean&amp;gt; | default = false]

    # circuit_breaker_consecutive_failures is not exposed as CLI flag.
    [circuit_breaker_consecutive_failures: &amp;lt;int&amp;gt; | default = 0]

    # circuit_breaker_timeout is not exposed as CLI flag.
    [circuit_breaker_timeout: &amp;lt;duration&amp;gt; | default = 0s]

    # circuit_breaker_interval is not exposed as CLI flag.
    [circuit_breaker_interval: &amp;lt;duration&amp;gt; | default = 0s]

    # tls_enabled is not exposed as CLI flag.
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cert_path is not exposed as CLI flag.
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_key_path is not exposed as CLI flag.
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_ca_path is not exposed as CLI flag.
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_server_name is not exposed as CLI flag.
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_insecure_skip_verify is not exposed as CLI flag.
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # tls_cipher_suites is not exposed as CLI flag.
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_min_version is not exposed as CLI flag.
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # ttl is not exposed as CLI flag.
    [ttl: &amp;lt;duration&amp;gt; | default = 0s]

  redis:
    # endpoint is not exposed as CLI flag.
    [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # master_name is not exposed as CLI flag.
    [master_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # timeout is not exposed as CLI flag.
    [timeout: &amp;lt;duration&amp;gt; | default = 0s]

    # expiration is not exposed as CLI flag.
    [expiration: &amp;lt;duration&amp;gt; | default = 0s]

    # db is not exposed as CLI flag.
    [db: &amp;lt;int&amp;gt; | default = 0]

    # pool_size is not exposed as CLI flag.
    [pool_size: &amp;lt;int&amp;gt; | default = 0]

    # username is not exposed as CLI flag.
    [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # password is not exposed as CLI flag.
    [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # sentinel_username is not exposed as CLI flag.
    [sentinel_username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # sentinel_password is not exposed as CLI flag.
    [sentinel_password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # tls_enabled is not exposed as CLI flag.
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # tls_insecure_skip_verify is not exposed as CLI flag.
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # idle_timeout is not exposed as CLI flag.
    [idle_timeout: &amp;lt;duration&amp;gt; | default = 0s]

    # max_connection_age is not exposed as CLI flag.
    [max_connection_age: &amp;lt;duration&amp;gt; | default = 0s]

    # ttl is not exposed as CLI flag.
    [ttl: &amp;lt;duration&amp;gt; | default = 0s]

  # cache_min_compaction_level is not exposed as CLI flag.
  [cache_min_compaction_level: &amp;lt;int&amp;gt; | default = 0]

  # cache_max_block_age is not exposed as CLI flag.
  [cache_max_block_age: &amp;lt;duration&amp;gt; | default = 0s]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;overrides_config&#34;&gt;overrides_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;overrides_config&lt;/code&gt; block configures the overrides module to set global or per-tenant override settings.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;defaults:
  ingestion:
    # Whether the various ingestion rate limits should be applied individually
    # to each distributor instance (local), or evenly shared across the cluster
    # (global).
    # CLI flag: -distributor.rate-limit-strategy
    [rate_strategy: &amp;lt;string&amp;gt; | default = &amp;#34;local&amp;#34;]

    # Per-user ingestion rate limit in bytes per second.
    # CLI flag: -distributor.ingestion-rate-limit-bytes
    [rate_limit_bytes: &amp;lt;int&amp;gt; | default = 15000000]

    # Per-user ingestion burst size in bytes. Should be set to the expected size
    # (in bytes) of a single push request.
    # CLI flag: -distributor.ingestion-burst-size-bytes
    [burst_size_bytes: &amp;lt;int&amp;gt; | default = 20000000]

    # Maximum number of active traces per user, per ingester. 0 to disable.
    # CLI flag: -ingester.max-traces-per-user
    [max_traces_per_user: &amp;lt;int&amp;gt; | default = 10000]

    # Maximum number of active traces per user, across the cluster. 0 to
    # disable.
    # CLI flag: -ingester.max-global-traces-per-user
    [max_global_traces_per_user: &amp;lt;int&amp;gt; | default = 0]

    # tenant_shard_size is not exposed as CLI flag.
    [tenant_shard_size: &amp;lt;int&amp;gt; | default = 0]

    # max_attribute_bytes is not exposed as CLI flag.
    [max_attribute_bytes: &amp;lt;int&amp;gt; | default = 0]

    # artificial_delay is not exposed as CLI flag.
    [artificial_delay: &amp;lt;duration&amp;gt; | default = &amp;lt;nil&amp;gt;]

  read:
    # Maximum size of response for a tag-values query. Used mainly to limit
    # large the number of values associated with a particular tag
    # CLI flag: -querier.max-bytes-per-tag-values-query
    [max_bytes_per_tag_values_query: &amp;lt;int&amp;gt; | default = 1000000]

    # Maximum number of blocks to query for a tag-values query. 0 to disable.
    # CLI flag: -querier.max-blocks-per-tag-values-query
    [max_blocks_per_tag_values_query: &amp;lt;int&amp;gt; | default = 0]

    # max_search_duration is not exposed as CLI flag.
    [max_search_duration: &amp;lt;duration&amp;gt; | default = 0s]

    # max_metrics_duration is not exposed as CLI flag.
    [max_metrics_duration: &amp;lt;duration&amp;gt; | default = 0s]

    # unsafe_query_hints is not exposed as CLI flag.
    [unsafe_query_hints: &amp;lt;boolean&amp;gt; | default = false]

  compaction:
    # block_retention is not exposed as CLI flag.
    [block_retention: &amp;lt;duration&amp;gt; | default = 0s]

    # compaction_window is not exposed as CLI flag.
    [compaction_window: &amp;lt;duration&amp;gt; | default = 0s]

    # compaction_disabled is not exposed as CLI flag.
    [compaction_disabled: &amp;lt;boolean&amp;gt; | default = false]

  metrics_generator:
    # ring_size is not exposed as CLI flag.
    [ring_size: &amp;lt;int&amp;gt; | default = 0]

    # processors is not exposed as CLI flag.
    [processors: &amp;lt;map of string to struct {}&amp;gt; | default = map[]]

    # max_active_series is not exposed as CLI flag.
    [max_active_series: &amp;lt;int&amp;gt; | default = 0]

    # collection_interval is not exposed as CLI flag.
    [collection_interval: &amp;lt;duration&amp;gt; | default = 0s]

    # disable_collection is not exposed as CLI flag.
    [disable_collection: &amp;lt;boolean&amp;gt; | default = false]

    # generate_native_histograms is not exposed as CLI flag.
    [generate_native_histograms: &amp;lt;string&amp;gt; | default = &amp;#34;classic&amp;#34;]

    # trace_id_label_name is not exposed as CLI flag.
    [trace_id_label_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # remote_write_headers is not exposed as CLI flag.
    [remote_write_headers: &amp;lt;map of string to config.Secret&amp;gt; | default = map[]]

    forwarder:
      # queue_size is not exposed as CLI flag.
      [queue_size: &amp;lt;int&amp;gt; | default = 0]

      # workers is not exposed as CLI flag.
      [workers: &amp;lt;int&amp;gt; | default = 0]

    processor:
      service_graphs:
        # histogram_buckets is not exposed as CLI flag.
        [histogram_buckets: &amp;lt;list of float&amp;gt; | default = []]

        # dimensions is not exposed as CLI flag.
        [dimensions: &amp;lt;list of string&amp;gt; | default = []]

        # peer_attributes is not exposed as CLI flag.
        [peer_attributes: &amp;lt;list of string&amp;gt; | default = []]

        # enable_client_server_prefix is not exposed as CLI flag.
        [enable_client_server_prefix: &amp;lt;boolean&amp;gt; | default = &amp;lt;nil&amp;gt;]

        # enable_messaging_system_latency_histogram is not exposed as CLI flag.
        [enable_messaging_system_latency_histogram: &amp;lt;boolean&amp;gt; | default = &amp;lt;nil&amp;gt;]

        # enable_virtual_node_label is not exposed as CLI flag.
        [enable_virtual_node_label: &amp;lt;boolean&amp;gt; | default = &amp;lt;nil&amp;gt;]

      span_metrics:
        # histogram_buckets is not exposed as CLI flag.
        [histogram_buckets: &amp;lt;list of float&amp;gt; | default = []]

        # dimensions is not exposed as CLI flag.
        [dimensions: &amp;lt;list of string&amp;gt; | default = []]

        # intrinsic_dimensions is not exposed as CLI flag.
        [intrinsic_dimensions: &amp;lt;map of string to bool&amp;gt; | default = map[]]

        filter_policies:
          include:
            # match_type is not exposed as CLI flag.
            [match_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

            # policy match condition
            [attributes: &amp;lt;struct&amp;gt; | default = none]

          exclude:
            # match_type is not exposed as CLI flag.
            [match_type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

            # policy match condition
            [attributes: &amp;lt;struct&amp;gt; | default = none]

        dimension_mappings:
          # name is not exposed as CLI flag.
          [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

          # source_labels is not exposed as CLI flag.
          [source_labels: &amp;lt;list of string&amp;gt; | default = []]

          # join is not exposed as CLI flag.
          [join: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # enable_target_info is not exposed as CLI flag.
        [enable_target_info: &amp;lt;boolean&amp;gt; | default = &amp;lt;nil&amp;gt;]

        # target_info_excluded_dimensions is not exposed as CLI flag.
        [target_info_excluded_dimensions: &amp;lt;list of string&amp;gt; | default = []]

      local_blocks:
        # max_live_traces is not exposed as CLI flag.
        [max_live_traces: &amp;lt;int&amp;gt; | default = 0]

        # max_block_duration is not exposed as CLI flag.
        [max_block_duration: &amp;lt;duration&amp;gt; | default = 0s]

        # max_block_bytes is not exposed as CLI flag.
        [max_block_bytes: &amp;lt;int&amp;gt; | default = 0]

        # flush_check_period is not exposed as CLI flag.
        [flush_check_period: &amp;lt;duration&amp;gt; | default = 0s]

        # trace_idle_period is not exposed as CLI flag.
        [trace_idle_period: &amp;lt;duration&amp;gt; | default = 0s]

        # complete_block_timeout is not exposed as CLI flag.
        [complete_block_timeout: &amp;lt;duration&amp;gt; | default = 0s]

      host_info:
        # host_identifiers is not exposed as CLI flag.
        [host_identifiers: &amp;lt;list of string&amp;gt; | default = []]

        # metric_name is not exposed as CLI flag.
        [metric_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # ingestion_time_range_slack is not exposed as CLI flag.
    [ingestion_time_range_slack: &amp;lt;duration&amp;gt; | default = 0s]

  # forwarders is not exposed as CLI flag.
  [forwarders: &amp;lt;list of string&amp;gt; | default = []]

  global:
    # Maximum size of a trace in bytes.  0 to disable.
    # CLI flag: -ingester.max-bytes-per-trace
    [max_bytes_per_trace: &amp;lt;int&amp;gt; | default = 5000000]

  storage:
    parquet_dedicated_columns:
      # scope is not exposed as CLI flag.
      [scope: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # name is not exposed as CLI flag.
      [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # type is not exposed as CLI flag.
      [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  cost_attribution:
    # max_cardinality is not exposed as CLI flag.
    [max_cardinality: &amp;lt;int&amp;gt; | default = 0]

    # dimensions is not exposed as CLI flag.
    [dimensions: &amp;lt;map of string to string&amp;gt; | default = map[]]

# File name of per-user Overrides.
# CLI flag: -config.per-user-override-config
[per_tenant_override_config: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# Period with this to reload the Overrides.
# CLI flag: -config.per-user-override-period
[per_tenant_override_period: &amp;lt;duration&amp;gt; | default = 10s]

user_configurable_overrides:
  # enabled is not exposed as CLI flag.
  [enabled: &amp;lt;boolean&amp;gt; | default = false]

  # poll_interval is not exposed as CLI flag.
  [poll_interval: &amp;lt;duration&amp;gt; | default = 1m]

  client:
    # backend is not exposed as CLI flag.
    [backend: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # confirm_versioning is not exposed as CLI flag.
    [confirm_versioning: &amp;lt;boolean&amp;gt; | default = true]

    local:
      # path is not exposed as CLI flag.
      [path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    gcs:
      # bucket_name is not exposed as CLI flag.
      [bucket_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # prefix is not exposed as CLI flag.
      [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # chunk_buffer_size is not exposed as CLI flag.
      [chunk_buffer_size: &amp;lt;int&amp;gt; | default = 0]

      # endpoint is not exposed as CLI flag.
      [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # hedge_requests_at is not exposed as CLI flag.
      [hedge_requests_at: &amp;lt;duration&amp;gt; | default = 0s]

      # hedge_requests_up_to is not exposed as CLI flag.
      [hedge_requests_up_to: &amp;lt;int&amp;gt; | default = 0]

      # insecure is not exposed as CLI flag.
      [insecure: &amp;lt;boolean&amp;gt; | default = false]

      # object_cache_control is not exposed as CLI flag.
      [object_cache_control: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # object_metadata is not exposed as CLI flag.
      [object_metadata: &amp;lt;map of string to string&amp;gt; | default = map[]]

      # list_blocks_concurrency is not exposed as CLI flag.
      [list_blocks_concurrency: &amp;lt;int&amp;gt; | default = 0]

    s3:
      # tls_cert_path is not exposed as CLI flag.
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_key_path is not exposed as CLI flag.
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_ca_path is not exposed as CLI flag.
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_server_name is not exposed as CLI flag.
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_insecure_skip_verify is not exposed as CLI flag.
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # tls_cipher_suites is not exposed as CLI flag.
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # tls_min_version is not exposed as CLI flag.
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # bucket is not exposed as CLI flag.
      [bucket: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # prefix is not exposed as CLI flag.
      [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # endpoint is not exposed as CLI flag.
      [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # region is not exposed as CLI flag.
      [region: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # access_key is not exposed as CLI flag.
      [access_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # secret_key is not exposed as CLI flag.
      [secret_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # session_token is not exposed as CLI flag.
      [session_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # insecure is not exposed as CLI flag.
      [insecure: &amp;lt;boolean&amp;gt; | default = false]

      # part_size is not exposed as CLI flag.
      [part_size: &amp;lt;int&amp;gt; | default = 0]

      # hedge_requests_at is not exposed as CLI flag.
      [hedge_requests_at: &amp;lt;duration&amp;gt; | default = 0s]

      # hedge_requests_up_to is not exposed as CLI flag.
      [hedge_requests_up_to: &amp;lt;int&amp;gt; | default = 0]

      # signature_v2 is not exposed as CLI flag.
      [signature_v2: &amp;lt;boolean&amp;gt; | default = false]

      # forcepathstyle is not exposed as CLI flag.
      [forcepathstyle: &amp;lt;boolean&amp;gt; | default = false]

      # enable_dual_stack is not exposed as CLI flag.
      [enable_dual_stack: &amp;lt;boolean&amp;gt; | default = false]

      # bucket_lookup_type is not exposed as CLI flag.
      [bucket_lookup_type: &amp;lt;int&amp;gt; | default = 0]

      # tags is not exposed as CLI flag.
      [tags: &amp;lt;map of string to string&amp;gt; | default = map[]]

      # storage_class is not exposed as CLI flag.
      [storage_class: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # metadata is not exposed as CLI flag.
      [metadata: &amp;lt;map of string to string&amp;gt; | default = map[]]

      # native_aws_auth_enabled is not exposed as CLI flag.
      [native_aws_auth_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # list_blocks_concurrency is not exposed as CLI flag.
      [list_blocks_concurrency: &amp;lt;int&amp;gt; | default = 0]

      sse:
        # type is not exposed as CLI flag.
        [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # kms_key_id is not exposed as CLI flag.
        [kms_key_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # kms_encryption_context is not exposed as CLI flag.
        [kms_encryption_context: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    azure:
      # storage_account_name is not exposed as CLI flag.
      [storage_account_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # storage_account_key is not exposed as CLI flag.
      [storage_account_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # use_managed_identity is not exposed as CLI flag.
      [use_managed_identity: &amp;lt;boolean&amp;gt; | default = false]

      # use_federated_token is not exposed as CLI flag.
      [use_federated_token: &amp;lt;boolean&amp;gt; | default = false]

      # user_assigned_id is not exposed as CLI flag.
      [user_assigned_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # container_name is not exposed as CLI flag.
      [container_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # prefix is not exposed as CLI flag.
      [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # endpoint_suffix is not exposed as CLI flag.
      [endpoint_suffix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # max_buffers is not exposed as CLI flag.
      [max_buffers: &amp;lt;int&amp;gt; | default = 0]

      # buffer_size is not exposed as CLI flag.
      [buffer_size: &amp;lt;int&amp;gt; | default = 0]

      # hedge_requests_at is not exposed as CLI flag.
      [hedge_requests_at: &amp;lt;duration&amp;gt; | default = 0s]

      # hedge_requests_up_to is not exposed as CLI flag.
      [hedge_requests_up_to: &amp;lt;int&amp;gt; | default = 0]

  api:
    # check_for_conflicting_runtime_overrides is not exposed as CLI flag.
    [check_for_conflicting_runtime_overrides: &amp;lt;boolean&amp;gt; | default = false]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;memberlist_config&#34;&gt;memberlist_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;memberlist_config&lt;/code&gt; block configures how the gossip ring connects between distributors, ingesters and queriers.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# node_name is not exposed as CLI flag.
[node_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# randomize_node_name is not exposed as CLI flag.
[randomize_node_name: &amp;lt;boolean&amp;gt; | default = true]

# stream_timeout is not exposed as CLI flag.
[stream_timeout: &amp;lt;duration&amp;gt; | default = 2s]

# retransmit_factor is not exposed as CLI flag.
[retransmit_factor: &amp;lt;int&amp;gt; | default = 2]

# pull_push_interval is not exposed as CLI flag.
[pull_push_interval: &amp;lt;duration&amp;gt; | default = 30s]

# gossip_interval is not exposed as CLI flag.
[gossip_interval: &amp;lt;duration&amp;gt; | default = 1s]

# gossip_nodes is not exposed as CLI flag.
[gossip_nodes: &amp;lt;int&amp;gt; | default = 2]

# gossip_to_dead_nodes_time is not exposed as CLI flag.
[gossip_to_dead_nodes_time: &amp;lt;duration&amp;gt; | default = 30s]

# dead_node_reclaim_time is not exposed as CLI flag.
[dead_node_reclaim_time: &amp;lt;duration&amp;gt; | default = 0s]

# compression_enabled is not exposed as CLI flag.
[compression_enabled: &amp;lt;boolean&amp;gt; | default = false]

# notify_interval is not exposed as CLI flag.
[notify_interval: &amp;lt;duration&amp;gt; | default = 0s]

# advertise_addr is not exposed as CLI flag.
[advertise_addr: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# advertise_port is not exposed as CLI flag.
[advertise_port: &amp;lt;int&amp;gt; | default = 7946]

# cluster_label is not exposed as CLI flag.
[cluster_label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# cluster_label_verification_disabled is not exposed as CLI flag.
[cluster_label_verification_disabled: &amp;lt;boolean&amp;gt; | default = false]

# Host port to connect to memberlist cluster.
# CLI flag: -memberlist.host-port
[join_members: &amp;lt;list of string&amp;gt; | default = []]

# min_join_backoff is not exposed as CLI flag.
[min_join_backoff: &amp;lt;duration&amp;gt; | default = 1s]

# max_join_backoff is not exposed as CLI flag.
[max_join_backoff: &amp;lt;duration&amp;gt; | default = 1m]

# max_join_retries is not exposed as CLI flag.
[max_join_retries: &amp;lt;int&amp;gt; | default = 10]

# abort_if_cluster_fast_join_fails is not exposed as CLI flag.
[abort_if_cluster_fast_join_fails: &amp;lt;boolean&amp;gt; | default = false]

# abort_if_cluster_join_fails is not exposed as CLI flag.
[abort_if_cluster_join_fails: &amp;lt;boolean&amp;gt; | default = false]

# rejoin_interval is not exposed as CLI flag.
[rejoin_interval: &amp;lt;duration&amp;gt; | default = 0s]

# left_ingesters_timeout is not exposed as CLI flag.
[left_ingesters_timeout: &amp;lt;duration&amp;gt; | default = 5m]

# obsolete_entries_timeout is not exposed as CLI flag.
[obsolete_entries_timeout: &amp;lt;duration&amp;gt; | default = 30s]

# leave_timeout is not exposed as CLI flag.
[leave_timeout: &amp;lt;duration&amp;gt; | default = 20s]

# broadcast_timeout_for_local_updates_on_shutdown is not exposed as CLI flag.
[broadcast_timeout_for_local_updates_on_shutdown: &amp;lt;duration&amp;gt; | default = 10s]

# CLI flag: -memberlist.message-history-buffer-bytes
[message_history_buffer_bytes: &amp;lt;int&amp;gt; | default = 0]

# watch_prefix_buffer_size is not exposed as CLI flag.
[watch_prefix_buffer_size: &amp;lt;int&amp;gt; | default = 128]

# bind_addr is not exposed as CLI flag.
[bind_addr: &amp;lt;list of string&amp;gt; | default = []]

# Port for memberlist to communicate on
# CLI flag: -memberlist.bind-port
[bind_port: &amp;lt;int&amp;gt; | default = 7946]

# packet_dial_timeout is not exposed as CLI flag.
[packet_dial_timeout: &amp;lt;duration&amp;gt; | default = 2s]

# packet_write_timeout is not exposed as CLI flag.
[packet_write_timeout: &amp;lt;duration&amp;gt; | default = 5s]

# max_concurrent_writes is not exposed as CLI flag.
[max_concurrent_writes: &amp;lt;int&amp;gt; | default = 3]

# acquire_writer_timeout is not exposed as CLI flag.
[acquire_writer_timeout: &amp;lt;duration&amp;gt; | default = 250ms]

# tls_enabled is not exposed as CLI flag.
[tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

# tls_cert_path is not exposed as CLI flag.
[tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# tls_key_path is not exposed as CLI flag.
[tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# tls_ca_path is not exposed as CLI flag.
[tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# tls_server_name is not exposed as CLI flag.
[tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# tls_insecure_skip_verify is not exposed as CLI flag.
[tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

# tls_cipher_suites is not exposed as CLI flag.
[tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# tls_min_version is not exposed as CLI flag.
[tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;admin_api_config&#34;&gt;admin_api_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;admin_api_config&lt;/code&gt; block configures the Admin API service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# Designated header to parse when searching for the grafana user ID of the user
# accessing the API.
# CLI flag: -admin.api.user-header-name
[user_header_name: &amp;lt;string&amp;gt; | default = &amp;#34;X-WEBAUTH-USER&amp;#34;]

leader_election:
  # This flag enables leader election for the admin api.
  # CLI flag: -admin-api.leader-election.enabled
  [enabled: &amp;lt;boolean&amp;gt; | default = true]

  ring:
    kvstore:
      # Backend storage to use for the ring. Supported values are: consul, etcd,
      # inmemory, memberlist, multi.
      # CLI flag: -admin-api.leader-election.ring.store
      [store: &amp;lt;string&amp;gt; | default = &amp;#34;consul&amp;#34;]

      # The prefix for the keys in the store. Should end with a /.
      # CLI flag: -admin-api.leader-election.ring.prefix
      [prefix: &amp;lt;string&amp;gt; | default = &amp;#34;leader-election/&amp;#34;]

      consul:
        # Hostname and port of Consul.
        # CLI flag: -admin-api.leader-election.ring.consul.hostname
        [host: &amp;lt;string&amp;gt; | default = &amp;#34;localhost:8500&amp;#34;]

        # ACL Token used to interact with Consul.
        # CLI flag: -admin-api.leader-election.ring.consul.acl-token
        [acl_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # HTTP timeout when talking to Consul
        # CLI flag: -admin-api.leader-election.ring.consul.client-timeout
        [http_client_timeout: &amp;lt;duration&amp;gt; | default = 20s]

        # Enable consistent reads to Consul.
        # CLI flag: -admin-api.leader-election.ring.consul.consistent-reads
        [consistent_reads: &amp;lt;boolean&amp;gt; | default = false]

        # Rate limit when watching key or prefix in Consul, in requests per
        # second. 0 disables the rate limit.
        # CLI flag: -admin-api.leader-election.ring.consul.watch-rate-limit
        [watch_rate_limit: &amp;lt;float&amp;gt; | default = 1]

        # Burst size used in rate limit. Values less than 1 are treated as 1.
        # CLI flag: -admin-api.leader-election.ring.consul.watch-burst-size
        [watch_burst_size: &amp;lt;int&amp;gt; | default = 1]

        # Maximum duration to wait before retrying a Compare And Swap (CAS)
        # operation.
        # CLI flag: -admin-api.leader-election.ring.consul.cas-retry-delay
        [cas_retry_delay: &amp;lt;duration&amp;gt; | default = 1s]

      etcd:
        # The etcd endpoints to connect to.
        # CLI flag: -admin-api.leader-election.ring.etcd.endpoints
        [endpoints: &amp;lt;list of string&amp;gt; | default = []]

        # The dial timeout for the etcd connection.
        # CLI flag: -admin-api.leader-election.ring.etcd.dial-timeout
        [dial_timeout: &amp;lt;duration&amp;gt; | default = 10s]

        # The maximum number of retries to do for failed ops.
        # CLI flag: -admin-api.leader-election.ring.etcd.max-retries
        [max_retries: &amp;lt;int&amp;gt; | default = 10]

        # Enable TLS.
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-enabled
        [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # Path to the client certificate, which will be used for authenticating
        # with the server. Also requires the key path to be configured.
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-cert-path
        [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Path to the key for the client certificate. Also requires the client
        # certificate to be configured.
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-key-path
        [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Path to the CA certificates to validate server certificate against. If
        # not set, the host&amp;#39;s root CA certificates are used.
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-ca-path
        [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Override the expected name on the server certificate.
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-server-name
        [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Skip validating server certificate.
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-insecure-skip-verify
        [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

        # Override the default cipher suite list (separated by commas).
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-cipher-suites
        [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Override the default minimum TLS version. Allowed values:
        # VersionTLS10, VersionTLS11, VersionTLS12, VersionTLS13
        # CLI flag: -admin-api.leader-election.ring.etcd.tls-min-version
        [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Etcd username.
        # CLI flag: -admin-api.leader-election.ring.etcd.username
        [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Etcd password.
        # CLI flag: -admin-api.leader-election.ring.etcd.password
        [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      multi:
        # Primary backend storage used by multi-client.
        # CLI flag: -admin-api.leader-election.ring.multi.primary
        [primary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Secondary backend storage used by multi-client.
        # CLI flag: -admin-api.leader-election.ring.multi.secondary
        [secondary: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

        # Mirror writes to secondary store.
        # CLI flag: -admin-api.leader-election.ring.multi.mirror-enabled
        [mirror_enabled: &amp;lt;boolean&amp;gt; | default = false]

        # Timeout for storing value to secondary store.
        # CLI flag: -admin-api.leader-election.ring.multi.mirror-timeout
        [mirror_timeout: &amp;lt;duration&amp;gt; | default = 2s]

    # Period at which to heartbeat to the ring.
    # CLI flag: -admin-api.leader-election.ring.heartbeat-period
    [heartbeat_period: &amp;lt;duration&amp;gt; | default = 15s]

    # The heartbeat timeout after which admin-api instances are considered
    # unhealthy within the ring.
    # CLI flag: -admin-api.leader-election.ring.heartbeat-timeout
    [heartbeat_timeout: &amp;lt;duration&amp;gt; | default = 1m]

    # Period to wait after generating tokens to resolve collisions. Required
    # when using a gossip ring KV store.
    # CLI flag: -admin-api.leader-election.ring.tokens-observe-period
    [tokens_observe_period: &amp;lt;duration&amp;gt; | default = 1m]

    # Instance ID to register in the ring.
    # CLI flag: -admin-api.leader-election.ring.instance-id
    [instance_id: &amp;lt;string&amp;gt; | default = &amp;#34;hostname&amp;#34;]

    # Name of network interface to read address from.
    # CLI flag: -admin-api.leader-election.ring.instance-interface-names
    [instance_interface_names: &amp;lt;list of string&amp;gt; | default = [ eth0 en0 ]]

    # Port to advertize in the ring (defaults to server.grpc-listen-port).
    # CLI flag: -admin-api.leader-election.ring.instance-port
    [instance_port: &amp;lt;int&amp;gt; | default = 0]

    # IP address to advertize in the ring.
    # CLI flag: -admin-api.leader-election.ring.instance-addr
    [instance_addr: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable using a IPv6 instance address.
    # CLI flag: -admin-api.leader-election.ring.instance-enable-ipv6
    [instance_enable_ipv6: &amp;lt;boolean&amp;gt; | default = false]

  client_config:
    # gRPC client max receive message size (bytes).
    # CLI flag: -admin-api.leader-election.client.grpc-max-recv-msg-size
    [max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -admin-api.leader-election.client.grpc-max-send-msg-size
    [max_send_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # Use compression when sending messages. Supported values are: &amp;#39;gzip&amp;#39;,
    # &amp;#39;snappy&amp;#39; and &amp;#39;&amp;#39; (disable compression)
    # CLI flag: -admin-api.leader-election.client.grpc-compression
    [grpc_compression: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Rate limit for gRPC client; 0 means disabled.
    # CLI flag: -admin-api.leader-election.client.grpc-client-rate-limit
    [rate_limit: &amp;lt;float&amp;gt; | default = 0]

    # Rate limit burst for gRPC client.
    # CLI flag: -admin-api.leader-election.client.grpc-client-rate-limit-burst
    [rate_limit_burst: &amp;lt;int&amp;gt; | default = 0]

    # Enable backoff and retry when we hit rate limits.
    # CLI flag: -admin-api.leader-election.client.backoff-on-ratelimits
    [backoff_on_ratelimits: &amp;lt;boolean&amp;gt; | default = false]

    backoff_config:
      # Minimum delay when backing off.
      # CLI flag: -admin-api.leader-election.client.backoff-min-period
      [min_period: &amp;lt;duration&amp;gt; | default = 100ms]

      # Maximum delay when backing off.
      # CLI flag: -admin-api.leader-election.client.backoff-max-period
      [max_period: &amp;lt;duration&amp;gt; | default = 10s]

      # Number of times to backoff and retry before failing.
      # CLI flag: -admin-api.leader-election.client.backoff-retries
      [max_retries: &amp;lt;int&amp;gt; | default = 10]

    # Initial stream window size. Values less than the default are not supported
    # and are ignored. Setting this to a value other than the default disables
    # the BDP estimator.
    # CLI flag: -admin-api.leader-election.client.initial-stream-window-size
    [initial_stream_window_size: &amp;lt;int&amp;gt; | default = 63KiB1023B]

    # Initial connection window size. Values less than the default are not
    # supported and are ignored. Setting this to a value other than the default
    # disables the BDP estimator.
    # CLI flag: -admin-api.leader-election.client.initial-connection-window-size
    [initial_connection_window_size: &amp;lt;int&amp;gt; | default = 63KiB1023B]

    # Enable TLS in the gRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -admin-api.leader-election.client.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -admin-api.leader-election.client.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -admin-api.leader-election.client.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -admin-api.leader-election.client.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -admin-api.leader-election.client.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -admin-api.leader-election.client.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -admin-api.leader-election.client.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -admin-api.leader-election.client.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # The maximum amount of time to establish a connection. A value of 0 means
    # default gRPC client connect timeout and backoff.
    # CLI flag: -admin-api.leader-election.client.connect-timeout
    [connect_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Initial backoff delay after first connection failure. Only relevant if
    # ConnectTimeout &amp;gt; 0.
    # CLI flag: -admin-api.leader-election.client.connect-backoff-base-delay
    [connect_backoff_base_delay: &amp;lt;duration&amp;gt; | default = 1s]

    # Maximum backoff delay when establishing a connection. Only relevant if
    # ConnectTimeout &amp;gt; 0.
    # CLI flag: -admin-api.leader-election.client.connect-backoff-max-delay
    [connect_backoff_max_delay: &amp;lt;duration&amp;gt; | default = 5s]

    cluster_validation:
      # Optionally define the cluster validation label.
      # CLI flag: -admin-api.leader-election.client.cluster-validation.label
      [label: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

limits:
  # Enable API-based limits per-tenant.
  # CLI flag: -admin-api.limits.enabled
  [enabled: &amp;lt;boolean&amp;gt; | default = false]

  # Refresh period for per-tenant limits.
  # CLI flag: -admin-api.limits.refresh-period
  [refresh_period: &amp;lt;duration&amp;gt; | default = 1m]

auditlogging:
  # When set to true, audit logging is enabled.
  # CLI flag: -admin-api.auditlogging.enabled
  [enabled: &amp;lt;boolean&amp;gt; | default = false]

  # When set to true, audit records will be generated for non-mutating
  # operations, such as GET.
  # CLI flag: -admin-api.auditlogging.non-mutating-enabled
  [non_mutating_enabled: &amp;lt;boolean&amp;gt; | default = false]

  # Percentage of the total non-mutating API calls that shall result in an audit
  # record being generated (between 0.0 and 100.0)
  # CLI flag: -admin-api.auditlogging.sample-rate
  [sample_rate: &amp;lt;float&amp;gt; | default = 100]

  # Whether to include the request body in the audit log.
  # CLI flag: -admin-api.auditlogging.log-request-body
  [log_request_body: &amp;lt;boolean&amp;gt; | default = true]

  # Maximum size in bytes allowed for the body of any request on the admin-api
  # path. Only applies if `log-request-body` is `true`.
  # CLI flag: -admin-api.auditlogging.max-request-body-size-bytes
  [max_request_body_size_bytes: &amp;lt;int&amp;gt; | default = 10MiB]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;admin_client_config&#34;&gt;admin_client_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;admin_client_config&lt;/code&gt; block configures how the Admin API service connects to the storage backend.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;storage:
  # Enable caching on the versioned client.
  # CLI flag: -admin.client.cache.enabled
  [enable_cache: &amp;lt;boolean&amp;gt; | default = true]

  cache:
    # Cache backend type. Supported values are: memcached, redis, inmemory.
    # CLI flag: -admin.client.cache.backend
    [backend: &amp;lt;string&amp;gt; | default = &amp;#34;inmemory&amp;#34;]

    memcached:
      # Comma-separated list of memcached addresses. Each address can be an IP
      # address, hostname, or an entry specified in the DNS Service Discovery
      # format.
      # CLI flag: -admin.client.cache.memcached.addresses
      [addresses: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # DNS provider used for resolving memcached addresses. Available providers
      # golang, miekgdns, miekgdns2
      # CLI flag: -admin.client.cache.memcached.addresses-provider
      [addresses_provider: &amp;lt;string&amp;gt; | default = &amp;#34;miekgdns&amp;#34;]

      # The socket read/write timeout.
      # CLI flag: -admin.client.cache.memcached.timeout
      [timeout: &amp;lt;duration&amp;gt; | default = 200ms]

      # The connection timeout.
      # CLI flag: -admin.client.cache.memcached.connect-timeout
      [connect_timeout: &amp;lt;duration&amp;gt; | default = 200ms]

      # The minimum number of idle connections to keep open as a percentage
      # (0-100) of the number of recently used idle connections. If negative,
      # idle connections are kept open indefinitely.
      # CLI flag: -admin.client.cache.memcached.min-idle-connections-headroom-percentage
      [min_idle_connections_headroom_percentage: &amp;lt;float&amp;gt; | default = -1]

      # The maximum number of idle connections that will be maintained per
      # address.
      # CLI flag: -admin.client.cache.memcached.max-idle-connections
      [max_idle_connections: &amp;lt;int&amp;gt; | default = 100]

      # The maximum number of concurrent asynchronous operations can occur.
      # CLI flag: -admin.client.cache.memcached.max-async-concurrency
      [max_async_concurrency: &amp;lt;int&amp;gt; | default = 50]

      # The maximum number of enqueued asynchronous operations allowed.
      # CLI flag: -admin.client.cache.memcached.max-async-buffer-size
      [max_async_buffer_size: &amp;lt;int&amp;gt; | default = 25000]

      # The maximum number of concurrent connections running get operations. If
      # set to 0, concurrency is unlimited.
      # CLI flag: -admin.client.cache.memcached.max-get-multi-concurrency
      [max_get_multi_concurrency: &amp;lt;int&amp;gt; | default = 100]

      # The maximum number of keys a single underlying get operation should run.
      # If more keys are specified, internally keys are split into multiple
      # batches and fetched concurrently, honoring the max concurrency. If set
      # to 0, the max batch size is unlimited.
      # CLI flag: -admin.client.cache.memcached.max-get-multi-batch-size
      [max_get_multi_batch_size: &amp;lt;int&amp;gt; | default = 100]

      # The maximum size of an item stored in memcached, in bytes. Bigger items
      # are not stored. If set to 0, no maximum size is enforced.
      # CLI flag: -admin.client.cache.memcached.max-item-size
      [max_item_size: &amp;lt;int&amp;gt; | default = 1048576]

      # Enable connecting to Memcached with TLS.
      # CLI flag: -admin.client.cache.memcached.tls-enabled
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # Path to the client certificate, which will be used for authenticating
      # with the server. Also requires the key path to be configured.
      # CLI flag: -admin.client.cache.memcached.tls-cert-path
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the key for the client certificate. Also requires the client
      # certificate to be configured.
      # CLI flag: -admin.client.cache.memcached.tls-key-path
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the CA certificates to validate server certificate against. If
      # not set, the host&amp;#39;s root CA certificates are used.
      # CLI flag: -admin.client.cache.memcached.tls-ca-path
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the expected name on the server certificate.
      # CLI flag: -admin.client.cache.memcached.tls-server-name
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Skip validating server certificate.
      # CLI flag: -admin.client.cache.memcached.tls-insecure-skip-verify
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # Override the default cipher suite list (separated by commas).
      # CLI flag: -admin.client.cache.memcached.tls-cipher-suites
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the default minimum TLS version. Allowed values: VersionTLS10,
      # VersionTLS11, VersionTLS12, VersionTLS13
      # CLI flag: -admin.client.cache.memcached.tls-min-version
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Allow client creation even if initial DNS resolution fails.
      # CLI flag: -admin.client.cache.memcached.dns-ignore-startup-failures
      [dns_ignore_startup_failures: &amp;lt;boolean&amp;gt; | default = true]

    redis:
      # Redis Server or Cluster configuration endpoint to use for caching. A
      # comma-separated list of endpoints for Redis Cluster or Redis Sentinel.
      # CLI flag: -admin.client.cache.redis.endpoint
      [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Username to use when connecting to Redis.
      # CLI flag: -admin.client.cache.redis.username
      [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Password to use when connecting to Redis.
      # CLI flag: -admin.client.cache.redis.password
      [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Database index.
      # CLI flag: -admin.client.cache.redis.db
      [db: &amp;lt;int&amp;gt; | default = 0]

      # Redis Sentinel master name. An empty string for Redis Server or Redis
      # Cluster.
      # CLI flag: -admin.client.cache.redis.master-name
      [master_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Client dial timeout.
      # CLI flag: -admin.client.cache.redis.dial-timeout
      [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

      # Client read timeout.
      # CLI flag: -admin.client.cache.redis.read-timeout
      [read_timeout: &amp;lt;duration&amp;gt; | default = 3s]

      # Client write timeout.
      # CLI flag: -admin.client.cache.redis.write-timeout
      [write_timeout: &amp;lt;duration&amp;gt; | default = 3s]

      # Maximum number of connections in the pool.
      # CLI flag: -admin.client.cache.redis.connection-pool-size
      [connection_pool_size: &amp;lt;int&amp;gt; | default = 100]

      # Maximum duration to wait to get a connection from pool.
      # CLI flag: -admin.client.cache.redis.connection-pool-timeout
      [connection_pool_timeout: &amp;lt;duration&amp;gt; | default = 4s]

      # Minimum number of idle connections.
      # CLI flag: -admin.client.cache.redis.min-idle-connections
      [min_idle_connections: &amp;lt;int&amp;gt; | default = 10]

      # Amount of time after which client closes idle connections.
      # CLI flag: -admin.client.cache.redis.idle-timeout
      [idle_timeout: &amp;lt;duration&amp;gt; | default = 5m]

      # Close connections older than this duration. If the value is zero, then
      # the pool does not close connections based on age.
      # CLI flag: -admin.client.cache.redis.max-connection-age
      [max_connection_age: &amp;lt;duration&amp;gt; | default = 0s]

      # The maximum size of an item stored in Redis. Bigger items are not
      # stored. If set to 0, no maximum size is enforced.
      # CLI flag: -admin.client.cache.redis.max-item-size
      [max_item_size: &amp;lt;int&amp;gt; | default = 16777216]

      # The maximum number of concurrent asynchronous operations can occur.
      # CLI flag: -admin.client.cache.redis.max-async-concurrency
      [max_async_concurrency: &amp;lt;int&amp;gt; | default = 50]

      # The maximum number of enqueued asynchronous operations allowed.
      # CLI flag: -admin.client.cache.redis.max-async-buffer-size
      [max_async_buffer_size: &amp;lt;int&amp;gt; | default = 25000]

      # The maximum number of concurrent connections running get operations. If
      # set to 0, concurrency is unlimited.
      # CLI flag: -admin.client.cache.redis.max-get-multi-concurrency
      [max_get_multi_concurrency: &amp;lt;int&amp;gt; | default = 100]

      # The maximum size per batch for mget operations.
      # CLI flag: -admin.client.cache.redis.max-get-multi-batch-size
      [max_get_multi_batch_size: &amp;lt;int&amp;gt; | default = 100]

      # Enable connecting to Redis with TLS.
      # CLI flag: -admin.client.cache.redis.tls-enabled
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # Path to the client certificate, which will be used for authenticating
      # with the server. Also requires the key path to be configured.
      # CLI flag: -admin.client.cache.redis.tls-cert-path
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the key for the client certificate. Also requires the client
      # certificate to be configured.
      # CLI flag: -admin.client.cache.redis.tls-key-path
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the CA certificates to validate server certificate against. If
      # not set, the host&amp;#39;s root CA certificates are used.
      # CLI flag: -admin.client.cache.redis.tls-ca-path
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the expected name on the server certificate.
      # CLI flag: -admin.client.cache.redis.tls-server-name
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Skip validating server certificate.
      # CLI flag: -admin.client.cache.redis.tls-insecure-skip-verify
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # Override the default cipher suite list (separated by commas).
      # CLI flag: -admin.client.cache.redis.tls-cipher-suites
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the default minimum TLS version. Allowed values: VersionTLS10,
      # VersionTLS11, VersionTLS12, VersionTLS13
      # CLI flag: -admin.client.cache.redis.tls-min-version
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # How long an item should be cached before being evicted. Only available for
    # remote cache types (memcached, redis), for inmemory it is capped at 1
    # minute.
    # CLI flag: -admin.client.cache.expiration
    [expiration: &amp;lt;duration&amp;gt; | default = 24h]

    # How frequently to reload tokens from storage to keep the cache warm.
    # Default disabled.
    # CLI flag: -admin.client.cache.refresh-interval
    [refresh_interval: &amp;lt;duration&amp;gt; | default = 0s]

  # The storage backend to use
  # CLI flag: -admin.client.backend
  [backend: &amp;lt;string&amp;gt; | default = &amp;#34;filesystem&amp;#34;]

  s3:
    # The S3 bucket endpoint. It could be an AWS S3 endpoint listed at
    # https://docs.aws.amazon.com/general/latest/gr/s3.html or the address of an
    # S3-compatible service in hostname:port format.
    # CLI flag: -admin.client.s3.endpoint
    [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # S3 region. If unset, the client will issue a S3 GetBucketLocation API call
    # to autodetect it.
    # CLI flag: -admin.client.s3.region
    [region: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # S3 bucket name
    # CLI flag: -admin.client.s3.bucket-name
    [bucket_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # S3 secret access key
    # CLI flag: -admin.client.s3.secret-access-key
    [secret_access_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # S3 access key ID
    # CLI flag: -admin.client.s3.access-key-id
    [access_key_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # S3 session token
    # CLI flag: -admin.client.s3.session-token
    [session_token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # If enabled, use http:// for the S3 endpoint instead of https://. This
    # could be useful in local dev/test environments while using an
    # S3-compatible backend storage, like Minio.
    # CLI flag: -admin.client.s3.insecure
    [insecure: &amp;lt;boolean&amp;gt; | default = false]

    # Use a specific version of the S3 list object API. Supported values are v1
    # or v2. Default is unset.
    # CLI flag: -admin.client.s3.list-objects-version
    [list_objects_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Bucket lookup style type, used to access bucket in S3-compatible service.
    # Default is auto. Supported values are: auto, path, virtual-hosted.
    # CLI flag: -admin.client.s3.bucket-lookup-type
    [bucket_lookup_type: &amp;lt;int&amp;gt; | default = auto]

    # When enabled, direct all AWS S3 requests to the dual-stack IPv4/IPv6
    # endpoint for the configured region.
    # CLI flag: -admin.client.s3.dualstack-enabled
    [dualstack_enabled: &amp;lt;boolean&amp;gt; | default = true]

    # The S3 storage class to use, not set by default. Details can be found at
    # https://aws.amazon.com/s3/storage-classes/. Supported values are:
    # STANDARD, REDUCED_REDUNDANCY, GLACIER, STANDARD_IA, ONEZONE_IA,
    # INTELLIGENT_TIERING, DEEP_ARCHIVE, OUTPOSTS, GLACIER_IR, SNOW,
    # EXPRESS_ONEZONE
    # CLI flag: -admin.client.s3.storage-class
    [storage_class: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # If enabled, it will use the default authentication methods of the AWS SDK
    # for go based on known environment variables and known AWS config files.
    # CLI flag: -admin.client.s3.native-aws-auth-enabled
    [native_aws_auth_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # The minimum file size in bytes used for multipart uploads. If 0, the value
    # is optimally computed for each object.
    # CLI flag: -admin.client.s3.part-size
    [part_size: &amp;lt;int&amp;gt; | default = 0]

    # If enabled, a Content-MD5 header is sent with S3 Put Object requests.
    # Consumes more resources to compute the MD5, but may improve compatibility
    # with object storage services that do not support checksums.
    # CLI flag: -admin.client.s3.send-content-md5
    [send_content_md5: &amp;lt;boolean&amp;gt; | default = false]

    # Accessing S3 resources using temporary, secure credentials provided by AWS
    # Security Token Service.
    # CLI flag: -admin.client.s3.sts-endpoint
    [sts_endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # The maximum number of retries for S3 requests that are retryable. Default
    # is 10, set this to 1 to disable retries.
    # CLI flag: -admin.client.s3.max-retries
    [max_retries: &amp;lt;int&amp;gt; | default = 10]

    sse:
      # Enable AWS Server Side Encryption. Supported values: SSE-KMS, SSE-S3.
      # CLI flag: -admin.client.s3.sse.type
      [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # KMS Key ID used to encrypt objects in S3
      # CLI flag: -admin.client.s3.sse.kms-key-id
      [kms_key_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # KMS Encryption Context used for object encryption. It expects JSON
      # formatted string.
      # CLI flag: -admin.client.s3.sse.kms-encryption-context
      [kms_encryption_context: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    http:
      # The time an idle connection will remain idle before closing.
      # CLI flag: -admin.client.s3.http.idle-conn-timeout
      [idle_conn_timeout: &amp;lt;duration&amp;gt; | default = 1m30s]

      # The amount of time the client will wait for a servers response headers.
      # CLI flag: -admin.client.s3.http.response-header-timeout
      [response_header_timeout: &amp;lt;duration&amp;gt; | default = 2m]

      # If the client connects via HTTPS and this option is enabled, the client
      # will accept any certificate and hostname.
      # CLI flag: -admin.client.s3.http.insecure-skip-verify
      [insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # Maximum time to wait for a TLS handshake. 0 means no limit.
      # CLI flag: -admin.client.s3.tls-handshake-timeout
      [tls_handshake_timeout: &amp;lt;duration&amp;gt; | default = 10s]

      # The time to wait for a server&amp;#39;s first response headers after fully
      # writing the request headers if the request has an Expect header. 0 to
      # send the request body immediately.
      # CLI flag: -admin.client.s3.expect-continue-timeout
      [expect_continue_timeout: &amp;lt;duration&amp;gt; | default = 1s]

      # Maximum number of idle (keep-alive) connections across all hosts. 0
      # means no limit.
      # CLI flag: -admin.client.s3.max-idle-connections
      [max_idle_connections: &amp;lt;int&amp;gt; | default = 100]

      # Maximum number of idle (keep-alive) connections to keep per-host. If 0,
      # a built-in default value is used.
      # CLI flag: -admin.client.s3.max-idle-connections-per-host
      [max_idle_connections_per_host: &amp;lt;int&amp;gt; | default = 100]

      # Maximum number of connections per host. 0 means no limit.
      # CLI flag: -admin.client.s3.max-connections-per-host
      [max_connections_per_host: &amp;lt;int&amp;gt; | default = 0]

      # Path to the CA certificates to validate server certificate against. If
      # not set, the host&amp;#39;s root CA certificates are used.
      # CLI flag: -admin.client.s3.http.tls-ca-path
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the client certificate, which will be used for authenticating
      # with the server. Also requires the key path to be configured.
      # CLI flag: -admin.client.s3.http.tls-cert-path
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the key for the client certificate. Also requires the client
      # certificate to be configured.
      # CLI flag: -admin.client.s3.http.tls-key-path
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the expected name on the server certificate.
      # CLI flag: -admin.client.s3.http.tls-server-name
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    trace:
      # When enabled, low-level S3 HTTP operation information is logged at the
      # debug level.
      # CLI flag: -admin.client.s3.trace.enabled
      [enabled: &amp;lt;boolean&amp;gt; | default = false]

  gcs:
    # GCS bucket name
    # CLI flag: -admin.client.gcs.bucket-name
    [bucket_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # JSON either from a Google Developers Console client_credentials.json file,
    # or a Google Developers service account key. Needs to be valid JSON, not a
    # filesystem path.
    # CLI flag: -admin.client.gcs.service-account
    [service_account: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # The maximum size of the buffer that GCS client for a single PUT request. 0
    # to disable buffering.
    # CLI flag: -admin.client.gcs.chunk-buffer-size
    [chunk_buffer_size: &amp;lt;int&amp;gt; | default = 0]

    # The maximum number of retries for idempotent operations. Overrides the
    # default gcs storage client behavior if this value is greater than 0. Set
    # this to 1 to disable retries.
    # CLI flag: -admin.client.gcs.max-retries
    [max_retries: &amp;lt;int&amp;gt; | default = 10]

  azure:
    # Azure storage account name
    # CLI flag: -admin.client.azure.account-name
    [account_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Azure storage account key. If unset, Azure managed identities will be used
    # for authentication instead.
    # CLI flag: -admin.client.azure.account-key
    [account_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # If `connection-string` is set, the value of `endpoint-suffix` will not be
    # used. Use this method over `account-key` if you need to authenticate via a
    # SAS token. Or if you use the Azurite emulator.
    # CLI flag: -admin.client.azure.connection-string
    [connection_string: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Azure storage container name
    # CLI flag: -admin.client.azure.container-name
    [container_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Azure storage endpoint suffix without schema. The account name will be
    # prefixed to this value to create the FQDN. If set to empty string, default
    # endpoint suffix is used.
    # CLI flag: -admin.client.azure.endpoint-suffix
    [endpoint_suffix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Number of retries for recoverable errors
    # CLI flag: -admin.client.azure.max-retries
    [max_retries: &amp;lt;int&amp;gt; | default = 20]

    # User assigned managed identity. If empty, then System assigned identity is
    # used.
    # CLI flag: -admin.client.azure.user-assigned-id
    [user_assigned_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Delimiter used to replace &amp;#39;:&amp;#39; in chunk IDs when storing chunks
    # CLI flag: -admin.client.azure.chunk-delimiter
    [chunk_delimiter: &amp;lt;string&amp;gt; | default = &amp;#34;-&amp;#34;]

  swift:
    # OpenStack Swift application credential id
    # CLI flag: -admin.client.swift.application-credential-id
    [application_credential_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift application credential name
    # CLI flag: -admin.client.swift.application-credential-name
    [application_credential_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift application credential secret
    # CLI flag: -admin.client.swift.application-credential-secret
    [application_credential_secret: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift authentication API version. 0 to autodetect.
    # CLI flag: -admin.client.swift.auth-version
    [auth_version: &amp;lt;int&amp;gt; | default = 0]

    # OpenStack Swift authentication URL
    # CLI flag: -admin.client.swift.auth-url
    [auth_url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift username.
    # CLI flag: -admin.client.swift.username
    [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift user&amp;#39;s domain name.
    # CLI flag: -admin.client.swift.user-domain-name
    [user_domain_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift user&amp;#39;s domain ID.
    # CLI flag: -admin.client.swift.user-domain-id
    [user_domain_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift user ID.
    # CLI flag: -admin.client.swift.user-id
    [user_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift API key.
    # CLI flag: -admin.client.swift.password
    [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift user&amp;#39;s domain ID.
    # CLI flag: -admin.client.swift.domain-id
    [domain_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift user&amp;#39;s domain name.
    # CLI flag: -admin.client.swift.domain-name
    [domain_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift project ID (v2,v3 auth only).
    # CLI flag: -admin.client.swift.project-id
    [project_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift project name (v2,v3 auth only).
    # CLI flag: -admin.client.swift.project-name
    [project_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # ID of the OpenStack Swift project&amp;#39;s domain (v3 auth only), only needed if
    # it differs the from user domain.
    # CLI flag: -admin.client.swift.project-domain-id
    [project_domain_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Name of the OpenStack Swift project&amp;#39;s domain (v3 auth only), only needed
    # if it differs from the user domain.
    # CLI flag: -admin.client.swift.project-domain-name
    [project_domain_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # OpenStack Swift Region to use (v2,v3 auth only).
    # CLI flag: -admin.client.swift.region-name
    [region_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Name of the OpenStack Swift container to put chunks in.
    # CLI flag: -admin.client.swift.container-name
    [container_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Max retries on requests error.
    # CLI flag: -admin.client.swift.max-retries
    [max_retries: &amp;lt;int&amp;gt; | default = 3]

    # Time after which a connection attempt is aborted.
    # CLI flag: -admin.client.swift.connect-timeout
    [connect_timeout: &amp;lt;duration&amp;gt; | default = 10s]

    # Time after which an idle request is aborted. The timeout watchdog is reset
    # each time some data is received, so the timeout triggers after X time no
    # data is received on a request.
    # CLI flag: -admin.client.swift.request-timeout
    [request_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    http:
      # The time an idle connection will remain idle before closing.
      # CLI flag: -admin.client.swift.http.idle-conn-timeout
      [idle_conn_timeout: &amp;lt;duration&amp;gt; | default = 1m30s]

      # The amount of time the client will wait for a servers response headers.
      # CLI flag: -admin.client.swift.http.response-header-timeout
      [response_header_timeout: &amp;lt;duration&amp;gt; | default = 2m]

      # If the client connects via HTTPS and this option is enabled, the client
      # will accept any certificate and hostname.
      # CLI flag: -admin.client.swift.http.insecure-skip-verify
      [insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # Maximum time to wait for a TLS handshake. 0 means no limit.
      # CLI flag: -admin.client.swift.tls-handshake-timeout
      [tls_handshake_timeout: &amp;lt;duration&amp;gt; | default = 10s]

      # The time to wait for a server&amp;#39;s first response headers after fully
      # writing the request headers if the request has an Expect header. 0 to
      # send the request body immediately.
      # CLI flag: -admin.client.swift.expect-continue-timeout
      [expect_continue_timeout: &amp;lt;duration&amp;gt; | default = 1s]

      # Maximum number of idle (keep-alive) connections across all hosts. 0
      # means no limit.
      # CLI flag: -admin.client.swift.max-idle-connections
      [max_idle_connections: &amp;lt;int&amp;gt; | default = 100]

      # Maximum number of idle (keep-alive) connections to keep per-host. If 0,
      # a built-in default value is used.
      # CLI flag: -admin.client.swift.max-idle-connections-per-host
      [max_idle_connections_per_host: &amp;lt;int&amp;gt; | default = 100]

      # Maximum number of connections per host. 0 means no limit.
      # CLI flag: -admin.client.swift.max-connections-per-host
      [max_connections_per_host: &amp;lt;int&amp;gt; | default = 0]

      # Path to the CA certificates to validate server certificate against. If
      # not set, the host&amp;#39;s root CA certificates are used.
      # CLI flag: -admin.client.swift.http.tls-ca-path
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the client certificate, which will be used for authenticating
      # with the server. Also requires the key path to be configured.
      # CLI flag: -admin.client.swift.http.tls-cert-path
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the key for the client certificate. Also requires the client
      # certificate to be configured.
      # CLI flag: -admin.client.swift.http.tls-key-path
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the expected name on the server certificate.
      # CLI flag: -admin.client.swift.http.tls-server-name
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  filesystem:
    # Local filesystem storage directory.
    # CLI flag: -admin.client.filesystem.dir
    [dir: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  alibaba:
    # Endpoint to connect to.
    # CLI flag: -admin.client.oss.endpoint
    [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Name of OSS bucket.
    # CLI flag: -admin.client.oss.bucketname
    [bucket: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # alibabacloud Access Key ID
    # CLI flag: -admin.client.oss.access-key-id
    [access_key_id: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # alibabacloud Secret Access Key
    # CLI flag: -admin.client.oss.access-key-secret
    [access_key_secret: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  bos:
    # Name of BOS bucket.
    # CLI flag: -admin.client.bos.bucket
    [bucket: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # BOS endpoint to connect to.
    # CLI flag: -admin.client.bos.endpoint
    [endpoint: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Baidu Cloud Engine (BCE) Access Key ID.
    # CLI flag: -admin.client.bos.access-key
    [access_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Baidu Cloud Engine (BCE) Secret Access Key.
    # CLI flag: -admin.client.bos.secret-key
    [secret_key: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Prefix for all objects stored in the backend storage. For simplicity, it may
  # only contain digits, English alphabet letters and dashes.
  # CLI flag: -admin.client.storage-prefix
  [storage_prefix: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Set a backend to use, (gcs, s3, azure). Deprecated, please use
  # &amp;#39;-admin.client.backend&amp;#39; instead.
  # CLI flag: -admin.client.backend-type
  [type: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# If set to true, the built-in __admin__ access policy will not be active.
# CLI flag: -admin.client.disable-default-admin-policy
[disable_default_admin_policy: &amp;lt;boolean&amp;gt; | default = false]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;auth_config&#34;&gt;auth_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;auth_config&lt;/code&gt; block configures the authentication type to use.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# method for authenticating incoming HTTP requests, (trust, enterprise).
# CLI flag: -auth.type
[type: &amp;lt;string&amp;gt; | default = &amp;#34;enterprise&amp;#34;]

# requires admin level auth for the /metrics endpoint.
# CLI flag: -auth.required-for-metrics
[required_for_metrics: &amp;lt;boolean&amp;gt; | default = false]

# requires admin level auth for the /debug endpoints.
# CLI flag: -auth.required-for-debug
[required_for_debug: &amp;lt;boolean&amp;gt; | default = true]

override:
  # Override admin token. If set, this string will always be accepted as a token
  # with admin level scope.
  # CLI flag: -auth.override.token
  [token: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # If set, this file will be read at startup and the string from that file will
  # be used as a admin scoped token.
  # CLI flag: -auth.override.token-file
  [token_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

admin:
  # when set, the name of the used access policy will be passed to the backend
  # service as a header.
  # CLI flag: -auth.pass-access-policy-name
  [pass_access_policy_name: &amp;lt;boolean&amp;gt; | default = false]

  # when set, the name of the used token will be passed to the backend service
  # as a header.
  # CLI flag: -auth.pass-token-name
  [pass_token_name: &amp;lt;boolean&amp;gt; | default = false]

  # how long auth responses should be cached
  # CLI flag: -auth.cache.ttl
  [cache_ttl: &amp;lt;duration&amp;gt; | default = 10m]

  cache_refresh:
    # Whether asynchronous background refreshes are enabled.
    # CLI flag: -auth.cache.refresh.enabled
    [enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Number of workers for background asynchronous refresh.
    # CLI flag: -auth.cache.refresh.concurrency
    [concurrency: &amp;lt;int&amp;gt; | default = 2]

    # Maximum number of pending background refreshes.
    # CLI flag: -auth.cache.refresh.buffer
    [buffer: &amp;lt;int&amp;gt; | default = 256]

    # Remaining time to live of an item when background refreshes may begin to
    # occur.
    # CLI flag: -auth.cache.refresh.refresh-ttl
    [refresh_ttl: &amp;lt;duration&amp;gt; | default = 3m]

    # Minimum time distance between retries if a refresh attempt fails, 0 means
    # that every sub-sequent get operation will result in a retry.
    # CLI flag: -auth.cache.refresh.retry-interval
    [retry_interval: &amp;lt;duration&amp;gt; | default = 30s]

  oidc:
    # JWT token issuer URL (example &amp;#34;https://accounts.google.com&amp;#34;)
    # CLI flag: -auth.admin.oidc.issuer-url
    [issuer_url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # claim in the JWT token containing the access policy
    # CLI flag: -auth.admin.oidc.access-policy-claim
    [access_policy_claim: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # regex to extract the access policy from the JWT token. The first submatch
    # of the provided regex expression will be used.
    # CLI flag: -auth.admin.oidc.access-policy-regex
    [access_policy_regex: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # optional audience to check in JWT token
    # CLI flag: -auth.admin.oidc.audience
    [audience: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # name of the access policy to use when the token doesn&amp;#39;t contain an access
    # policy
    # CLI flag: -auth.admin.oidc.default-access-policy
    [default_access_policy: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # enable ADFS compatibility
    # CLI flag: -auth.admin.oidc.adfs-compatibility
    [adfs_compatibility: &amp;lt;boolean&amp;gt; | default = false]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;federation_config&#34;&gt;federation_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;federation_config&lt;/code&gt; block configures the cross-cluster query federation service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;proxy_targets:
  # Name contains the name of the proxy target, it will be used for the
  # __cluster__ label.
  [name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # URL is the URL to the GET API endpoints.
  [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_cert_path is not exposed as CLI flag.
  [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_key_path is not exposed as CLI flag.
  [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_ca_path is not exposed as CLI flag.
  [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_server_name is not exposed as CLI flag.
  [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_insecure_skip_verify is not exposed as CLI flag.
  [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

  # tls_cipher_suites is not exposed as CLI flag.
  [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # tls_min_version is not exposed as CLI flag.
  [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

  # Those optional Basic Auth parameters allow to override the client provided
  # credentials.
  basic_auth:
    # Basic Auth username
    [username: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Basic Auth password
    [password: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

# Maximum number of concurrent requests to federation targets.
# CLI flag: -federation.max-concurrency
[max_concurrency: &amp;lt;int&amp;gt; | default = 20]

# Timeout for hedging requests to federation targets.
# CLI flag: -federation.hedge-requests-at
[hedge_requests_at: &amp;lt;duration&amp;gt; | default = 0s]

# Timeout for requests to federation targets.
# CLI flag: -federation.read-timeout
[read_timeout: &amp;lt;duration&amp;gt; | default = 5s]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;gateway_config&#34;&gt;gateway_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;gateway_config&lt;/code&gt; block configures the gateway service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;proxy:
  default:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.default.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.default.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.default.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.default.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.default.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.default.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.default.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.default.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.default.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.default.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.default.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.default.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.default.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.default.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.default.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.default.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.default.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  admin_api:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.admin-api.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.admin-api.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.admin-api.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.admin-api.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.admin-api.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.admin-api.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.admin-api.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.admin-api.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.admin-api.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.admin-api.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.admin-api.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.admin-api.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.admin-api.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.admin-api.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.admin-api.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.admin-api.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.admin-api.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  compactor:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.compactor.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.compactor.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.compactor.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.compactor.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.compactor.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.compactor.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.compactor.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.compactor.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.compactor.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.compactor.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.compactor.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.compactor.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.compactor.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.compactor.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.compactor.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.compactor.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.compactor.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  distributor:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.distributor.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.distributor.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.distributor.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.distributor.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.distributor.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.distributor.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.distributor.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.distributor.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.distributor.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.distributor.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.distributor.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.distributor.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.distributor.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.distributor.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.distributor.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.distributor.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.distributor.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

    otlp/grpc:
      # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
      # scheme h2c:// for HTTP2 proxying.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.url
      [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Enable keep alive for the backend.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.enable-keepalive
      [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

      # Enable TLS in the GRPC client. This flag needs to be enabled when any
      # other TLS flag is set. If set to false, insecure connection to gRPC
      # server will be used.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-enabled
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # Timeout when dialing backend. For proxying over GRPC, this will be used
      # only during the initial dial at startup. For proxying over HTTP this is
      # the connection timeout. Set to 0 to disable.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.dial-timeout
      [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

      # Path to the client certificate, which will be used for authenticating
      # with the server. Also requires the key path to be configured.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-cert-path
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the key for the client certificate. Also requires the client
      # certificate to be configured.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-key-path
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the CA certificates to validate server certificate against. If
      # not set, the host&amp;#39;s root CA certificates are used.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-ca-path
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the expected name on the server certificate.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-server-name
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Skip validating server certificate.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-insecure-skip-verify
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # Override the default cipher suite list (separated by commas).
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-cipher-suites
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the default minimum TLS version. Allowed values: VersionTLS10,
      # VersionTLS11, VersionTLS12, VersionTLS13
      # CLI flag: -gateway.proxy.distributorotlp-grpc.tls-min-version
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # gRPC load balancing policy. Supported values: round_robin, bounded_load.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.grpc-load-balancing-policy
      [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

      # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the
      # balancer will attempt to not send to each backend a number of inflight
      # requests higher than the average inflight requests across all backends
      # multiplied by the overloaded factor.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.grpc-load-balancing-overloaded-factor
      [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

      # gRPC client max receive message size (bytes).
      # CLI flag: -gateway.proxy.distributorotlp-grpc.grpc-max-recv-msg-size
      [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

      # gRPC client max send message size (bytes).
      # CLI flag: -gateway.proxy.distributorotlp-grpc.grpc-max-send-msg-size
      [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

      # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.write-timeout
      [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

      # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
      # CLI flag: -gateway.proxy.distributorotlp-grpc.read-timeout
      [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

    otlp/http:
      # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
      # scheme h2c:// for HTTP2 proxying.
      # CLI flag: -gateway.proxy.distributorotlp-http.url
      [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Enable keep alive for the backend.
      # CLI flag: -gateway.proxy.distributorotlp-http.enable-keepalive
      [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

      # Enable TLS in the GRPC client. This flag needs to be enabled when any
      # other TLS flag is set. If set to false, insecure connection to gRPC
      # server will be used.
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-enabled
      [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

      # Timeout when dialing backend. For proxying over GRPC, this will be used
      # only during the initial dial at startup. For proxying over HTTP this is
      # the connection timeout. Set to 0 to disable.
      # CLI flag: -gateway.proxy.distributorotlp-http.dial-timeout
      [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

      # Path to the client certificate, which will be used for authenticating
      # with the server. Also requires the key path to be configured.
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-cert-path
      [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the key for the client certificate. Also requires the client
      # certificate to be configured.
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-key-path
      [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Path to the CA certificates to validate server certificate against. If
      # not set, the host&amp;#39;s root CA certificates are used.
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-ca-path
      [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the expected name on the server certificate.
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-server-name
      [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Skip validating server certificate.
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-insecure-skip-verify
      [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

      # Override the default cipher suite list (separated by commas).
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-cipher-suites
      [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # Override the default minimum TLS version. Allowed values: VersionTLS10,
      # VersionTLS11, VersionTLS12, VersionTLS13
      # CLI flag: -gateway.proxy.distributorotlp-http.tls-min-version
      [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

      # gRPC load balancing policy. Supported values: round_robin, bounded_load.
      # CLI flag: -gateway.proxy.distributorotlp-http.grpc-load-balancing-policy
      [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

      # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the
      # balancer will attempt to not send to each backend a number of inflight
      # requests higher than the average inflight requests across all backends
      # multiplied by the overloaded factor.
      # CLI flag: -gateway.proxy.distributorotlp-http.grpc-load-balancing-overloaded-factor
      [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

      # gRPC client max receive message size (bytes).
      # CLI flag: -gateway.proxy.distributorotlp-http.grpc-max-recv-msg-size
      [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

      # gRPC client max send message size (bytes).
      # CLI flag: -gateway.proxy.distributorotlp-http.grpc-max-send-msg-size
      [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

      # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
      # CLI flag: -gateway.proxy.distributorotlp-http.write-timeout
      [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

      # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
      # CLI flag: -gateway.proxy.distributorotlp-http.read-timeout
      [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  ingester:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.ingester.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.ingester.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.ingester.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.ingester.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.ingester.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.ingester.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.ingester.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.ingester.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.ingester.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.ingester.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.ingester.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.ingester.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.ingester.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.ingester.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.ingester.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.ingester.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.ingester.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  querier:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.querier.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.querier.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.querier.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.querier.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.querier.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.querier.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.querier.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.querier.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.querier.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.querier.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.querier.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.querier.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.querier.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.querier.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.querier.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.querier.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.querier.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  query_frontend:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.query-frontend.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.query-frontend.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.query-frontend.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.query-frontend.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.query-frontend.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.query-frontend.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.query-frontend.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.query-frontend.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.query-frontend.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.query-frontend.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.query-frontend.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.query-frontend.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.query-frontend.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.query-frontend.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.query-frontend.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.query-frontend.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.query-frontend.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]

  metrics_generator:
    # URL for the backend. Use the scheme dns:// for HTTP over gRPC and the
    # scheme h2c:// for HTTP2 proxying.
    # CLI flag: -gateway.proxy.metrics-generator.url
    [url: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Enable keep alive for the backend.
    # CLI flag: -gateway.proxy.metrics-generator.enable-keepalive
    [enable_keepalive: &amp;lt;boolean&amp;gt; | default = true]

    # Enable TLS in the GRPC client. This flag needs to be enabled when any
    # other TLS flag is set. If set to false, insecure connection to gRPC server
    # will be used.
    # CLI flag: -gateway.proxy.metrics-generator.tls-enabled
    [tls_enabled: &amp;lt;boolean&amp;gt; | default = false]

    # Timeout when dialing backend. For proxying over GRPC, this will be used
    # only during the initial dial at startup. For proxying over HTTP this is
    # the connection timeout. Set to 0 to disable.
    # CLI flag: -gateway.proxy.metrics-generator.dial-timeout
    [dial_timeout: &amp;lt;duration&amp;gt; | default = 5s]

    # Path to the client certificate, which will be used for authenticating with
    # the server. Also requires the key path to be configured.
    # CLI flag: -gateway.proxy.metrics-generator.tls-cert-path
    [tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the key for the client certificate. Also requires the client
    # certificate to be configured.
    # CLI flag: -gateway.proxy.metrics-generator.tls-key-path
    [tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Path to the CA certificates to validate server certificate against. If not
    # set, the host&amp;#39;s root CA certificates are used.
    # CLI flag: -gateway.proxy.metrics-generator.tls-ca-path
    [tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the expected name on the server certificate.
    # CLI flag: -gateway.proxy.metrics-generator.tls-server-name
    [tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Skip validating server certificate.
    # CLI flag: -gateway.proxy.metrics-generator.tls-insecure-skip-verify
    [tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false]

    # Override the default cipher suite list (separated by commas).
    # CLI flag: -gateway.proxy.metrics-generator.tls-cipher-suites
    [tls_cipher_suites: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # Override the default minimum TLS version. Allowed values: VersionTLS10,
    # VersionTLS11, VersionTLS12, VersionTLS13
    # CLI flag: -gateway.proxy.metrics-generator.tls-min-version
    [tls_min_version: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]

    # gRPC load balancing policy. Supported values: round_robin, bounded_load.
    # CLI flag: -gateway.proxy.metrics-generator.grpc-load-balancing-policy
    [grpc_load_balancing_policy: &amp;lt;string&amp;gt; | default = &amp;#34;round_robin&amp;#34;]

    # When the gRPC load balancing policy is set to &amp;#34;bounded_load&amp;#34;, the balancer
    # will attempt to not send to each backend a number of inflight requests
    # higher than the average inflight requests across all backends multiplied
    # by the overloaded factor.
    # CLI flag: -gateway.proxy.metrics-generator.grpc-load-balancing-overloaded-factor
    [grpc_load_balancing_overloaded_factor: &amp;lt;float&amp;gt; | default = 2]

    # gRPC client max receive message size (bytes).
    # CLI flag: -gateway.proxy.metrics-generator.grpc-max-recv-msg-size
    [grpc_max_recv_msg_size: &amp;lt;int&amp;gt; | default = 104857600]

    # gRPC client max send message size (bytes).
    # CLI flag: -gateway.proxy.metrics-generator.grpc-max-send-msg-size
    [grpc_max_send_msg_size: &amp;lt;int&amp;gt; | default = 2147483647]

    # Timeout for write requests to the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.metrics-generator.write-timeout
    [write_timeout: &amp;lt;duration&amp;gt; | default = 30s]

    # Timeout for read requests the backend, set to &amp;lt;=0 to disable.
    # CLI flag: -gateway.proxy.metrics-generator.read-timeout
    [read_timeout: &amp;lt;duration&amp;gt; | default = 2m]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;license_config&#34;&gt;license_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;license_config&lt;/code&gt; block configures the license validation module.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# Filepath to license jwt file.
# CLI flag: -license.path
[path: &amp;lt;string&amp;gt; | default = &amp;#34;./license.jwt&amp;#34;]

# Interval to check for new or existing licenses.
# CLI flag: -license.sync-interval
[sync_interval: &amp;lt;duration&amp;gt; | default = 1h]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;tokengen_config&#34;&gt;tokengen_config&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;tokengen_config&lt;/code&gt; block configures the tokengen service.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;# The name of the access policy to generate a token for. It defaults to the
# built-in admin policy.
# CLI flag: -tokengen.access-policy
[access_policy: &amp;lt;string&amp;gt; | default = &amp;#34;__admin__&amp;#34;]

# If set, the generated token will be written to a file at the provided path in
# addition to being logged. Note that if the file already exists, it will not be
# overwritten, and tokengen will fail with an error.
# CLI flag: -tokengen.token-file
[token_file: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34;]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="configuration-reference">Configuration reference&lt;/h1>
&lt;!-- DO NOT EDIT THIS FILE - This file has been automatically generated from its .template -->
&lt;p>Grafana Enterprise Traces can be configured using a YAML file - specified using the &lt;code>-config.file&lt;/code> flag - or CLI flags. In case you combine both, CLI flags take precedence over the YAML config file.&lt;/p></description></item><item><title>Gateway</title><link>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/gateway/</link><pubDate>Wed, 22 Apr 2026 04:21:40 +0000</pubDate><guid>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/gateway/</guid><content><![CDATA[&lt;h1 id=&#34;gateway&#34;&gt;Gateway&lt;/h1&gt;
&lt;p&gt;The Grafana Enterprise Traces (GET) gateway is a service target. It can proxy requests to other GET microservices. You can also use it for client-side load balancing of requests proxied to the distributors.&lt;/p&gt;
&lt;p&gt;GET also offers a &lt;code&gt;federation-frontend&lt;/code&gt; service. This service can also perform cross-tenant and cross-cluster query federation by aggregating the data from multiple GET cluster and from multiple tenants in a single trace lookup or search query. It works by reverse proxying the read path of GET clusters. To learn more, refer to &lt;a href=&#34;/docs/enterprise-traces/v2.8.x/configure/federation/&#34;&gt;Federation-frontend&lt;/a&gt;.


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;The GET gateway only supports OTLP gRPC and HTTP protocols. If you want to use a different protocol, such as Jaegar or Zipkin, the distributors need to be configured to accept ingest from those sources.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;You can configure the gateway using a code block in the GET YAML configuration file or by using command-line flags.&lt;/p&gt;
&lt;h2 id=&#34;configure-using-the-get-configuration-file&#34;&gt;Configure using the GET configuration file&lt;/h2&gt;
&lt;p&gt;The gateway has its own configuration block in the GET configuration files. For more information about the configuration file, refer to the &lt;a href=&#34;/docs/enterprise-traces/v2.8.x/configure/reference/&#34;&gt;configuration reference&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is an example configuration block:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;gateway:
  proxy:
    default: &amp;lt;backend_proxy_config&amp;gt;
    [ admin_api: &amp;lt;backend_proxy_config&amp;gt; ]
    [ compactor: &amp;lt;backend_proxy_config&amp;gt; ]
    [ distributor: &amp;lt;backend_proxy_config&amp;gt; ]
    [ ingester: &amp;lt;backend_proxy_config&amp;gt; ]
    [ querier: &amp;lt;backend_proxy_config&amp;gt; ]
    [ query_frontend: &amp;lt;backend_proxy_config&amp;gt; ]
    [ metrics_generator: &amp;lt;backend_proxy_config&amp;gt; ]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;configure-using-command-line-flags&#34;&gt;Configure using command-line flags&lt;/h2&gt;
&lt;p&gt;To configure the gateway via command-line flags, make sure that each flag contains the path to the equivalent configuration field.&lt;/p&gt;
&lt;p&gt;To configure the distributor backend proxy URL, use the flag &lt;code&gt;-gateway.proxy.distributor.url=&amp;lt;distributor URL&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Likewise, given a configuration file field path of &lt;code&gt;gateway.proxy.query_frontend.url&lt;/code&gt;, the flag is &lt;code&gt;gateway.proxy.query-frontend.url&lt;/code&gt;.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;A path is joined by a period (&lt;code&gt;.&lt;/code&gt;) and dashes (&lt;code&gt;-&lt;/code&gt;). Underscores (&lt;code&gt;_&lt;/code&gt;) are invalid within these command-line flags.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;the-backend_proxy_config-section&#34;&gt;The &lt;code&gt;backend_proxy_config&lt;/code&gt; section&lt;/h3&gt;
&lt;p&gt;A &lt;code&gt;backend_proxy&lt;/code&gt; section specifies the URL and configuration of the backend that you want proxied.
A URL is only required for the &lt;code&gt;default&lt;/code&gt; proxy configuration. All other proxy configurations use the &lt;code&gt;default&lt;/code&gt; URL if it&amp;rsquo;s not explicitly configured.
Other proxy configurations don&amp;rsquo;t inherit any other configuration from the &lt;code&gt;default&lt;/code&gt; proxy configuration.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;url: &amp;lt;url&amp;gt; | default = &amp;lt;gateway.proxy.default.url&amp;gt;
[ enable_keepalive: &amp;lt;boolean&amp;gt; | default = true ]
[ tls_enabled: &amp;lt;boolean&amp;gt; | default = false ]
[ tls_ca_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34; ]
[ tls_server_name: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34; ]
[ tls_cert_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34; ]
[ tls_key_path: &amp;lt;string&amp;gt; | default = &amp;#34;&amp;#34; ]
[ tls_insecure_skip_verify: &amp;lt;boolean&amp;gt; | default = false ]
[ read_timeout: &amp;lt;duration&amp;gt; | default = &amp;#34;120s&amp;#34; ]
[ write_timeout: &amp;lt;duration&amp;gt; | default = &amp;#34;30s&amp;#34; ]&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;client-side-load-balancing&#34;&gt;Client-side load balancing&lt;/h2&gt;
&lt;p&gt;If you use a backend proxy URL that beings with &lt;code&gt;dns:///&lt;/code&gt;, the gateway creates a gRPC proxy with client-side round-robin load balancing instead of the default HTTP reverse proxy.&lt;/p&gt;
&lt;p&gt;To configure client-side load balancing for requests to the distributors only, set the &lt;code&gt;gateway.proxy.distributor.url&lt;/code&gt; to &lt;code&gt;dns:///&amp;lt;distributor service&amp;gt;&lt;/code&gt;.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;There are three &lt;code&gt;/&lt;/code&gt; characters in the preceding DNS URL, which means that you are using the default DNS authority. For details about DNS URLs, refer to &lt;a href=&#34;https://tools.ietf.org/html/rfc4501&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;RFC 4501&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;Client-side load balancing is useful in ensuring that distributors are evenly loaded with requests.&lt;/p&gt;
&lt;p&gt;Kubernetes Services aren&amp;rsquo;t load balancers; initial TCP connections are made using a random endpoint.
After establishing the connection, the same remote-write client talks to the same distributor server for its lifetime.
This can mean an uneven load for your distributors and worse cluster performance overall.&lt;/p&gt;
&lt;p&gt;The GET gateway solves this problem by exposing an HTTP server for receiving the client requests while using gRPC to talk to the distributors.
The gRPC proxy maintains a list of endpoints that are returned from the DNS lookup, and keeps persistent connections to each endpoint. The proxies are also configured to perform per-request, client-side load balancing across the endpoints.&lt;/p&gt;
&lt;h2 id=&#34;ring-endpoints&#34;&gt;Ring endpoints&lt;/h2&gt;
&lt;p&gt;The Gateway exposes the ring endpoints for distributors, ingesters, and compactors. These
endpoints require &lt;code&gt;admin&lt;/code&gt; scope permissions.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;/distributor/ring&lt;/code&gt; for the distributors&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/ingester/ring&lt;/code&gt; for the ingesters&lt;/li&gt;
&lt;li&gt;&lt;code&gt;/compactor/ring&lt;/code&gt; for the compactors&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="gateway">Gateway&lt;/h1>
&lt;p>The Grafana Enterprise Traces (GET) gateway is a service target. It can proxy requests to other GET microservices. You can also use it for client-side load balancing of requests proxied to the distributors.&lt;/p></description></item><item><title>Federation-frontend</title><link>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/federation/</link><pubDate>Wed, 22 Apr 2026 04:21:40 +0000</pubDate><guid>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/federation/</guid><content><![CDATA[&lt;h1 id=&#34;using-cross-tenant-and-cross-cluster-query-federation&#34;&gt;Using cross-tenant and cross-cluster query federation&lt;/h1&gt;
&lt;p&gt;Grafana Enterprise Traces (GET) can perform cross-tenant and cross-cluster query federation using the optional federation-frontend service.
This service aggregates the data from multiple GET clusters and from multiple tenants in a single trace lookup or search query.
It works by reverse proxying the read path of GET clusters and merging the results into a single response.&lt;/p&gt;
&lt;p&gt;The federation-frontend target itself requires a &lt;a href=&#34;/docs/enterprise-traces/%3cENTERPRISE_TRACES%3e/setup/&#34;&gt;configured GET installation&lt;/a&gt; installed using the &lt;a href=&#34;/docs/enterprise-traces/%3cENTERPRISE_TRACES%3e/setup/helm-chart/&#34;&gt;tempo-distributed Helm chart&lt;/a&gt;.
No other GET components are required.&lt;/p&gt;
&lt;p&gt;You can run the &lt;code&gt;federation-frontend&lt;/code&gt; service on its own.&lt;/p&gt;
&lt;h2 id=&#34;cross-tenant-query-federation&#34;&gt;Cross-tenant query federation&lt;/h2&gt;
&lt;p&gt;GET supports creating access policies that can span multiple tenants. Viewers in Grafana Enterprise can see data coming from more than one tenant simultaneously.&lt;/p&gt;
&lt;p&gt;To read more about tenant federation, see the &lt;a href=&#34;/docs/enterprise-traces/%3cENTERPRISE_TRACES%3e/configure/federation/tenant-federation/&#34;&gt;Cross-tenant query federation&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id=&#34;cross-cluster-query-federation&#34;&gt;Cross-cluster query federation&lt;/h2&gt;
&lt;p&gt;Cross-cluster query federation allows a team that&amp;rsquo;s globally responsible for all observability to make a single query across the GET clusters for all regions to retrieve trace results.&lt;/p&gt;
&lt;p&gt;To read more about cluster federation, see the &lt;a href=&#34;/docs/enterprise-traces/%3cENTERPRISE_TRACES%3e/configure/federation/cluster-federation/&#34;&gt;Cross-cluster query federation&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id=&#34;limitations-of-the-federation-frontend&#34;&gt;Limitations of the federation-frontend&lt;/h2&gt;
&lt;p&gt;This feature has one known limitation: No result caching in the federation-frontend&lt;/p&gt;
&lt;p&gt;If your use-case is blocked by a limitation, reach out through our support channels with a feature request.&lt;/p&gt;
&lt;h3 id=&#34;cross-tenant-and-cross-cluster-traceql-queries&#34;&gt;Cross-tenant and cross-cluster TraceQL queries&lt;/h3&gt;
&lt;p&gt;If you have configured multi-stack Tempo data source, you can perform TraceQL queries across those stacks and tenants.
Refer to &lt;a href=&#34;/docs/grafana-cloud/connect-externally-hosted/multi-stack-data-sources/#set-up-a-multi-stack-tempo-data-source-in-grafana&#34;&gt;Set up a multi-stack Tempo data source in Grafana&lt;/a&gt; for information about configuring the Tempo data source.&lt;/p&gt;
&lt;p&gt;Queries performed using the cross-tenant configured data source, in either &lt;strong&gt;Explore&lt;/strong&gt; or inside of dashboards,
are performed across all the tenants that you specified in the &lt;strong&gt;X-Scope-OrgID&lt;/strong&gt; header.&lt;/p&gt;
&lt;!-- vale Grafana.Spelling = NO --&gt;
&lt;p&gt;TraceQL queries that compare multiple spansets may not correctly return all traces in a cross-tenant query. For instance,&lt;/p&gt;
&lt;!-- vale Grafana.Quotes = YES --&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;{ span.attr1 = &amp;#34;bar&amp;#34; } &amp;amp;&amp;amp; { span.attr2 = &amp;#34;foo&amp;#34; }&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;TraceQL evaluates a contiguously stored trace.
If these two conditions are satisfied in separate tenants, then Tempo doesn&amp;rsquo;t return the trace.&lt;/p&gt;
]]></content><description>&lt;h1 id="using-cross-tenant-and-cross-cluster-query-federation">Using cross-tenant and cross-cluster query federation&lt;/h1>
&lt;p>Grafana Enterprise Traces (GET) can perform cross-tenant and cross-cluster query federation using the optional federation-frontend service.
This service aggregates the data from multiple GET clusters and from multiple tenants in a single trace lookup or search query.
It works by reverse proxying the read path of GET clusters and merging the results into a single response.&lt;/p></description></item><item><title>Integrate OAuth</title><link>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/integrate-oauth/</link><pubDate>Thu, 24 Jul 2025 15:08:34 +0000</pubDate><guid>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/integrate-oauth/</guid><content><![CDATA[&lt;h1 id=&#34;integrate-get-with-an-existing-oauth&#34;&gt;Integrate GET with an existing OAuth&lt;/h1&gt;
&lt;p&gt;Grafana Enterprise Traces (GET) supports the &lt;a href=&#34;https://openid.net/specs/openid-connect-core-1_0.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&lt;strong&gt;OpenID Connect (OIDC)&lt;/strong&gt;&lt;/a&gt; core standard to validate tokens.
This allows you to integrate GET with an existing OAuth token provider at your organization.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;If you have existing access policies and enable OAuth integration, only the OIDC tokens will be supported.
You may need to make adjustments in the clients that are sending the traces.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;To support OIDC, provide a URL in the &lt;code&gt;auth.admin.oidc.url&lt;/code&gt; setting.
This corresponds to the &lt;code&gt;jwks_uri&lt;/code&gt; field in the JSON object found at the &lt;a href=&#34;https://openid.net/specs/openid-connect-discovery-1_0.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;OpenID Connect Discovery&lt;/a&gt; endpoints such as &lt;code&gt;https://&amp;lt;example.com&amp;gt;/.well-known/openid-configuration&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A JWT is included as the password in HTTP basic authentication or as part of a bearer token in bearer authentication. The bearer token should have two parts separated by a &lt;code&gt;:&lt;/code&gt;. The first part is the tenant ID. The second part is the JWT.&lt;/p&gt;
&lt;p&gt;The JWT is validated against the URL specified above.
If it&amp;rsquo;s valid, then an access policy name is extracted.
The regular expression in &lt;code&gt;auth.admin.oidc.access_policy_regex&lt;/code&gt; is run against the JWT claim field specified in &lt;code&gt;auth.admin.oidc.access_policy_claim&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;A sub-match has to be present to extract the access policy.
Only the first sub-match is used. You can use the regular expression &lt;code&gt;(.*)&lt;/code&gt; for the whole claim field.&lt;/p&gt;
&lt;p&gt;The regular expression syntax is &lt;a href=&#34;https://github.com/google/re2/wiki/Syntax&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;RE2&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;example-oauth-configuration&#34;&gt;Example OAuth configuration&lt;/h2&gt;
&lt;p&gt;To use OIDC specify the &lt;code&gt;auth.type&lt;/code&gt; as &lt;code&gt;enterprise&lt;/code&gt;. Here is an example auth section:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;auth:
  type: enterprise
  admin:
    oidc:
      url: http://127.0.0.1:5556/dex/keys
      access_policy_claim: &amp;#34;sub&amp;#34;
      access_policy_regex: &amp;#34;pref-([0-9]&amp;#43;)-.*&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Here is an example payload section of a valid JWT:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;sub&amp;#34;: &amp;#34;pref-1234567890-abc&amp;#34;,
  &amp;#34;name&amp;#34;: &amp;#34;John Doe&amp;#34;,
  &amp;#34;admin&amp;#34;: true
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The extracted access policy is &lt;code&gt;1234567890&lt;/code&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="integrate-get-with-an-existing-oauth">Integrate GET with an existing OAuth&lt;/h1>
&lt;p>Grafana Enterprise Traces (GET) supports the &lt;a href="https://openid.net/specs/openid-connect-core-1_0.html" target="_blank" rel="noopener noreferrer">&lt;strong>OpenID Connect (OIDC)&lt;/strong>&lt;/a> core standard to validate tokens.
This allows you to integrate GET with an existing OAuth token provider at your organization.&lt;/p></description></item><item><title>Multi-tenant support for metrics-generator</title><link>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/multitenant-metrics-generator/</link><pubDate>Wed, 22 Apr 2026 04:21:40 +0000</pubDate><guid>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/multitenant-metrics-generator/</guid><content><![CDATA[&lt;h1 id=&#34;multi-tenant-support-for-metrics-generator&#34;&gt;Multi-tenant support for metrics-generator&lt;/h1&gt;
&lt;p&gt;Multi-tenancy is supported in the metrics-generator through the use of environment variables and per-tenant overrides.
This is useful when you want to propagate the multi-tenancy to the metrics backend,
keeping the data separated and secure.&lt;/p&gt;
&lt;h2 id=&#34;requirements&#34;&gt;Requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;GET version 2.4.0 or later&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage&lt;/h2&gt;
&lt;p&gt;To use this feature, you need to define the &lt;code&gt;remote_write_headers&lt;/code&gt; override for each tenant in your configuration.
You can also use environment variables in your configuration file, which expands at runtime.
To make use of environment variables, you need to pass the &lt;code&gt;--config.expand-env&lt;/code&gt; flag to GET.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;YAML&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-yaml&#34;&gt;overrides:
  team-traces-a:
    metrics_generator:
      processors: [ &amp;#39;span-metrics&amp;#39; ]
      remote_write_headers:
        Authorization: ${PROM_A_BASIC_AUTH}
  team-traces-b:
    metrics_generator:
      processors: [ &amp;#39;span-metrics&amp;#39;, &amp;#39;service-graphs&amp;#39; ]
      remote_write_headers:
        Authorization: ${PROM_B_BEARER_AUTH}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Bash&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-bash&#34;&gt;export PROM_A_BASIC_AUTH=&amp;#34;Basic $(echo &amp;#34;team-a:$(cat /token-prometheus-a)&amp;#34;|base64|tr -d &amp;#39;[:space:]&amp;#39;)&amp;#34;
export PROM_B_BEARER_AUTH=&amp;#34;Bearer $(cat /token-prometheus-b)&amp;#34;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;In this example, &lt;code&gt;PROM_A_BASIC_AUTH&lt;/code&gt; and &lt;code&gt;PROM_B_BEARER_AUTH&lt;/code&gt; are environment variables that contain the respective tenants&amp;rsquo; authorization tokens.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;remote_write_headers&lt;/code&gt; override specifies the &lt;code&gt;Authorization&lt;/code&gt; header for each tenant.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;Authorization&lt;/code&gt; header authenticates the remote-write request to the Prometheus remote write endpoint.&lt;/p&gt;
]]></content><description>&lt;h1 id="multi-tenant-support-for-metrics-generator">Multi-tenant support for metrics-generator&lt;/h1>
&lt;p>Multi-tenancy is supported in the metrics-generator through the use of environment variables and per-tenant overrides.
This is useful when you want to propagate the multi-tenancy to the metrics backend,
keeping the data separated and secure.&lt;/p></description></item><item><title>Tokengen</title><link>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/tokengen/</link><pubDate>Thu, 24 Jul 2025 15:08:34 +0000</pubDate><guid>https://grafana.com/docs/enterprise-traces/v2.8.x/configure/tokengen/</guid><content><![CDATA[&lt;h1 id=&#34;tokengen&#34;&gt;Tokengen&lt;/h1&gt;
&lt;p&gt;The tokengen component generates admin-api tokens and stores them in the admin object storage.
You run the tokengen component with the configuration flag &lt;code&gt;-target=tokengen&lt;/code&gt;.
It requires admin client object storage configuration to persist the generated token.
To configure the admin client object storage configuration, refer to 
    &lt;a href=&#34;/docs/enterprise-traces/v2.8.x/configure/reference/#admin_client_config&#34;&gt;&lt;code&gt;admin_client&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;tokengen&lt;/code&gt; component logs the generated token and optionally writes it to the path specified by the configuration flag &lt;code&gt;-tokengen.token-file&lt;/code&gt;.
Note that if the file already exists, the token file won&amp;rsquo;t be overwritten, and &lt;code&gt;tokengen&lt;/code&gt; will fail with an error.
It can be run multiple times, generating a new token each time.
Previously generated tokens continue to be valid.&lt;/p&gt;
&lt;p&gt;By default, tokens generated by &lt;code&gt;tokengen&lt;/code&gt; use the built-in admin access policy.
To specify an alternative access policy, use the configuration flag &lt;code&gt;-tokengen.access-policy&lt;/code&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="tokengen">Tokengen&lt;/h1>
&lt;p>The tokengen component generates admin-api tokens and stores them in the admin object storage.
You run the tokengen component with the configuration flag &lt;code>-target=tokengen&lt;/code>.
It requires admin client object storage configuration to persist the generated token.
To configure the admin client object storage configuration, refer to
&lt;a href="/docs/enterprise-traces/v2.8.x/configure/reference/#admin_client_config">&lt;code>admin_client&lt;/code>&lt;/a>.&lt;/p></description></item></channel></rss>