# -- Overrides the chart's name nameOverride: "" # -- Overrides the chart's computed fullname fullnameOverride: "" # -- Define the amount of instances replicas: 1 # -- Annotations for the StatefulSet annotations: {} tempo: repository: grafana/tempo tag: 2.0.1 pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## # pullSecrets: # - myRegistryKeySecretName updateStrategy: RollingUpdate resources: {} # requests: # cpu: 1000m # memory: 4Gi # limits: # cpu: 2000m # memory: 6Gi memBallastSizeMbs: 1024 multitenancyEnabled: false # -- If true, Tempo will report anonymous usage data about the shape of a deployment to Grafana Labs reportingEnabled: false metricsGenerator: # -- If true, enables Tempo's metrics generator (https://grafana.com/docs/tempo/next/metrics-generator/) enabled: true remoteWriteUrl: "http://prometheus-server.observe.svc.cluster.local:80/api/v1/write" # -- Configuration options for the ingester ingester: {} # -- Configuration options for the querier querier: {} # -- Configuration options for the query-fronted queryFrontend: {} retention: 1024h # Global overrides global_overrides: per_tenant_override_config: /conf/overrides.yaml overrides: {} # Tempo server configuration # Refers to https://grafana.com/docs/tempo/latest/configuration/#server server: # -- HTTP server listen port http_listen_port: 3100 storage: trace: # tempo storage backend # refer https://grafana.com/docs/tempo/latest/configuration/ ## Use s3 for example # backend: s3 # store traces in s3 # s3: # bucket: tempo # store traces in this bucket # endpoint: s3.dualstack.us-east-2.amazonaws.com # api endpoint # access_key: ... # optional. access key when using static credentials. # secret_key: ... # optional. secret key when using static credentials. # insecure: false # optional. enable if endpoint is http backend: local local: path: /var/tempo/traces wal: path: /var/tempo/wal # this configuration will listen on all ports and protocols that tempo is capable of. # the receives all come from the OpenTelemetry collector. more configuration information can # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/master/receiver receivers: #jaeger: # protocols: # grpc: # endpoint: 0.0.0.0:14250 # thrift_binary: # endpoint: 0.0.0.0:6832 # thrift_compact: # endpoint: 0.0.0.0:6831 # thrift_http: # endpoint: 0.0.0.0:14268 #opencensus: otlp: protocols: grpc: endpoint: "0.0.0.0:4317" http: endpoint: "0.0.0.0:4318" securityContext: {} # allowPrivilegeEscalation: false # capabilities: # drop: # - ALL # readOnlyRootFilesystem: true ## Additional container arguments extraArgs: distributor.log-received-traces: true # -- Environment variables to add extraEnv: [] # -- Environment variables from secrets or configmaps to add to the ingester pods extraEnvFrom: [] # -- Volume mounts to add extraVolumeMounts: [] # - name: extra-volume # mountPath: /mnt/volume # readOnly: true # existingClaim: volume-claim # -- Tempo configuration file contents # @default -- Dynamically generated tempo configmap config: | multitenancy_enabled: {{ .Values.tempo.multitenancyEnabled }} usage_report: reporting_enabled: {{ .Values.tempo.reportingEnabled }} compactor: compaction: block_retention: {{ .Values.tempo.retention }} distributor: receivers: {{- toYaml .Values.tempo.receivers | nindent 8 }} ingester: {{- toYaml .Values.tempo.ingester | nindent 6 }} server: {{- toYaml .Values.tempo.server | nindent 6 }} storage: {{- toYaml .Values.tempo.storage | nindent 6 }} querier: {{- toYaml .Values.tempo.querier | nindent 6 }} query_frontend: {{- toYaml .Values.tempo.queryFrontend | nindent 6 }} overrides: {{- toYaml .Values.tempo.global_overrides | nindent 6 }} {{- if .Values.tempo.metricsGenerator.enabled }} metrics_generator_processors: - 'service-graphs' - 'span-metrics' max_search_bytes_per_trace: 0 metrics_generator: storage: path: "/tmp/tempo" remote_write: - url: {{ .Values.tempo.metricsGenerator.remoteWriteUrl }} {{- end }} tempoQuery: repository: grafana/tempo-query tag: 2.0.1 pullPolicy: IfNotPresent ## Optionally specify an array of imagePullSecrets. ## Secrets must be manually created in the namespace. ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ ## # pullSecrets: # - myRegistryKeySecretName # -- if False the tempo-query container is not deployed enabled: true service: port: 16686 ingress: enabled: false # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress # ingressClassName: nginx # Values can be templated annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" labels: {} path: / # pathType is only for k8s >= 1.1= pathType: Prefix hosts: - query.tempo.example.com ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services. extraPaths: [] # - path: /* # backend: # serviceName: ssl-redirect # servicePort: use-annotation ## Or for k8s > 1.19 # - path: /* # pathType: Prefix # backend: # service: # name: ssl-redirect # port: # name: use-annotation tls: [] # - secretName: tempo-query-tls # hosts: # - query.tempo.example.com resources: {} # requests: # cpu: 1000m # memory: 4Gi # limits: # cpu: 2000m # memory: 6Gi ## Additional container arguments extraArgs: {} # -- Environment variables to add extraEnv: [] # -- Volume mounts to add extraVolumeMounts: [] # - name: extra-volume # mountPath: /mnt/volume # readOnly: true # existingClaim: volume-claim securityContext: {} # allowPrivilegeEscalation: false # capabilities: # drop: # - ALL # readOnlyRootFilesystem: false # fails if true, do not enable # -- securityContext for container securityContext: {} # runAsUser: 65532 # runAsGroup: 65532 # fsGroup: 65532 # runAsNonRoot: true serviceAccount: # -- Specifies whether a ServiceAccount should be created create: true # -- The name of the ServiceAccount to use. # If not set and create is true, a name is generated using the fullname template name: null # -- Image pull secrets for the service account imagePullSecrets: [] # -- Annotations for the service account annotations: {} # -- Labels for the service account labels: {} automountServiceAccountToken: true service: type: ClusterIP annotations: {} labels: {} serviceMonitor: enabled: false interval: "" additionalLabels: {} annotations: {} # scrapeTimeout: 10s persistence: enabled: true storageClassName: openebs-hostpath accessModes: - ReadWriteOnce size: 10Gi # -- Pod Annotations podAnnotations: {} # -- Pod (extra) Labels podLabels: {} # -- Volumes to add extraVolumes: [] # -- Node labels for pod assignment. See: https://kubernetes.io/docs/user-guide/node-selection/ nodeSelector: {} # -- Tolerations for pod assignment. See: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ tolerations: [] # -- Affinity for pod assignment. See: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity affinity: {} # -- The name of the PriorityClass priorityClassName: null