apiVersion: v1
kind: ConfigMap
metadata:
  name: tempo-config
  labels:
    name: tempo-config
  namespace: default
data:
  tempo.yaml: |-
    auth_enabled: false

    server:
      http_listen_port: 3100

    distributor:
      receivers:                           # this configuration will listen on all ports and protocols that tempo is capable of.
        jaeger:                            # the receives all come from the OpenTelemetry collector.  more configuration information can
          protocols:                       # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/master/receiver
            thrift_http:                   #
            grpc:                          # for a production deployment you should only enable the receivers you need!
            thrift_binary:
            thrift_compact:
        zipkin:
        otlp:
          protocols:
            http:
            grpc:
        opencensus:

    ingester:
      trace_idle_period: 10s               # the length of time after a trace has not received spans to consider it complete and flush it
      max_block_bytes: 1_000_000           # cut the head block when it hits this size or ...
      max_block_duration: 5m               #   this much time passes

    compactor:
      compaction:
        compaction_window: 1h              # blocks in this time window will be compacted together
        max_block_bytes: 100_000_000        # maximum size of compacted blocks
        block_retention: 1h
        compacted_block_retention: 10m

    storage:
      trace:
        backend: local                     # backend configuration to use
        block:
          bloom_filter_false_positive: .05 # bloom filter false positive rate.  lower values create larger filters but fewer false positives
          index_downsample_bytes: 1000     # number of bytes per index record
          encoding: zstd                   # block encoding/compression.  options: none, gzip, lz4-64k, lz4-256k, lz4-1M, lz4, snappy, zstd
        wal:
          path: /tmp/tempo/wal             # where to store the the wal locally
          encoding: none                   # wal encoding/compression.  options: none, gzip, lz4-64k, lz4-256k, lz4-1M, lz4, snappy, zstd
        local:
          path: /tmp/tempo/blocks
        pool:
          max_workers: 100                 # the worker pool mainly drives querying, but is also used for polling the blocklist
          queue_depth: 10000
