2 # -- Common labels for all object directly managed by this chart.
4 # -- Overrides the Docker registry globally for all images
6# -- Overrides the chart's name
8# -- Overrides the chart's computed fullname
10# -- Define the amount of instances
12# -- Number of old history to retain to allow rollback (If not set, default Kubernetes value is set to 10)
13# revisionHistoryLimit: 1
17# -- Annotations for the StatefulSet
20 registry: chainreg.biz
21 repository: scratch-images/test-tmp/tempo
22 tag: 2.10.8-r2@sha256:7283535e4f2ad447ede997d9a1765a66387d6d8951aabe3311eb3a83c5ef3265
23 pullPolicy: IfNotPresent
24 ## Optionally specify an array of imagePullSecrets.
25 ## Secrets must be manually created in the namespace.
26 ## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
29 # - myRegistryKeySecretName
31 updateStrategy: RollingUpdate
40 streamOverHttpEnabled: false
41 memBallastSizeMbs: 1024
42 multitenancyEnabled: false
43 # -- If true, Tempo will report anonymous usage data about the shape of a deployment to Grafana Labs
44 reportingEnabled: true
46 # -- If true, enables Tempo's metrics generator (https://grafana.com/docs/tempo/next/metrics-generator/)
48 remoteWriteUrl: "http://prometheus.monitoring:9090/api/v1/write"
49 # -- Processor-specific configuration for metrics generator (optional)
50 # Supports service_graphs, span_metrics, and local_blocks processors
53 # flush_to_storage: true
54 # filter_server_spans: false
55 # max_block_duration: 1m
60 # enable_target_info: true
61 # -- Registry configuration for metrics generator (optional)
63 # collection_interval: 15s
66 # -- Storage configuration for metrics generator
67 # This section configures the storage path and remote write endpoints
69 # -- Path for storing metrics blocks. Defaults to /tmp/tempo for backward compatibility, but /var/tempo/metrics is recommended for production with persistent storage
71 # -- Optional remote write configuration (will use remoteWriteUrl if not specified)
72 # Supports full Prometheus remote_write config: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#remote_write
74 # -- Traces storage (WAL) configuration for metrics generator
75 # This configures the Write Ahead Log for traces used by the metrics generator
77 # -- Path for traces storage WAL used by metrics generator
79 # -- Configuration options for the ingester.
80 # Refers to: https://grafana.com/docs/tempo/latest/configuration/#ingester
82 # flush_check_period: 10s
83 # trace_idle_period: 10s
84 # max_block_duration: 30m
85 # complete_block_timeout: 1h
86 # -- Configuration options for the querier.
87 # Refers to: https://grafana.com/docs/tempo/latest/configuration/#querier
89 # max_concurrent_queries: 20
90 # -- Configuration options for the query-fronted.
91 # Refers to: https://grafana.com/docs/tempo/latest/configuration/#query-frontend
94 # concurrent_jobs: 2000
96 # -- The standard overrides configuration section. This can include a `defaults` object for applying to all tenants (not to be confused with the `global` property of the same name, which overrides `max_byte_per_trace` for all tenants). For an example on how to enable the metrics generator using the `overrides` object, see the 'Activate metrics generator' section below. Refer to [Standard overrides](https://grafana.com/docs/tempo/latest/configuration/#standard-overrides) for more details.
98 # -- Default config values for all tenants, can be overridden by per-tenant overrides. If a tenant's specific overrides are not found in the `per_tenant_overrides` block, the values in this `default` block will be used. Configs inside this block should follow the new overrides indentation format
105 # -- Path to the per tenant override config file. The values of the `per_tenant_overrides` config below will be written to the default path `/conf/overrides.yaml`. Users can set tenant-specific overrides settings in a separate file and point per_tenant_override_config to it if not using the per_tenant_overrides block below.
106 per_tenant_override_config: /conf/overrides.yaml
107 # -- The `per tenant` aka `tenant-specific` runtime overrides. This allows overriding values set in the configuration on a per-tenant basis. Note that *all* values must be given for each per-tenant configuration block. Refer to [Runtime overrides](https://grafana.com/docs/tempo/latest/configuration/#runtime-overrides) and [Tenant-Specific overrides](https://grafana.com/docs/tempo/latest/configuration/#tenant-specific-overrides) documentation for more details.
108 per_tenant_overrides: {}
115 # Tempo server configuration.
116 # Refers to: https://grafana.com/docs/tempo/latest/configuration/#server
118 # -- HTTP server listen port
119 http_listen_port: 3200
120 # Readiness and Liveness Probe Configuration Options
125 initialDelaySeconds: 30
134 initialDelaySeconds: 20
141 # tempo storage backend.
142 # Refers to: https://grafana.com/docs/tempo/latest/configuration/#storage
143 ## Use s3 for example
147 # bucket: <your s3 bucket> # store traces in this bucket
148 # endpoint: s3.dualstack.us-east-2.amazonaws.com # api endpoint
149 # access_key: ... # optional. access key when using static credentials.
150 # secret_key: ... # optional. secret key when using static credentials.
151 # insecure: false # optional. enable if endpoint is http
154 path: /var/tempo/traces
157 # this configuration will listen on all ports and protocols that tempo is capable of.
158 # the receives all come from the OpenTelemetry collector. more configuration information can
159 # be found there: https://github.com/open-telemetry/opentelemetry-collector/tree/master/receiver
164 endpoint: 0.0.0.0:14250
166 endpoint: 0.0.0.0:6832
168 endpoint: 0.0.0.0:6831
170 endpoint: 0.0.0.0:14268
174 endpoint: "0.0.0.0:4317"
176 endpoint: "0.0.0.0:4318"
178 # allowPrivilegeEscalation: false
182 # readOnlyRootFilesystem: true
183 ## Additional container arguments
185 # -- Environment variables to add
187 # -- Environment variables from secrets or configmaps to add to the ingester pods
189 # -- Volume mounts to add
190 extraVolumeMounts: []
191 # - name: extra-volume
192 # mountPath: /mnt/volume
194 # existingClaim: volume-claim
195# -- Tempo configuration file contents
196# @default -- Dynamically generated tempo configmap
198 stream_over_http_enabled: {{ .Values.tempo.streamOverHttpEnabled }}
200 cluster_label: "{{ .Release.Name }}.{{ .Release.Namespace }}"
201 multitenancy_enabled: {{ .Values.tempo.multitenancyEnabled }}
203 reporting_enabled: {{ .Values.tempo.reportingEnabled }}
206 block_retention: {{ .Values.tempo.retention }}
209 {{- toYaml .Values.tempo.receivers | nindent 8 }}
211 {{- toYaml .Values.tempo.ingester | nindent 6 }}
213 {{- toYaml .Values.tempo.server | nindent 6 }}
215 {{- toYaml .Values.tempo.storage | nindent 6 }}
217 {{- toYaml .Values.tempo.querier | nindent 6 }}
219 {{- toYaml .Values.tempo.queryFrontend | nindent 6 }}
221 {{- toYaml .Values.tempo.overrides | nindent 6 }}
222 {{- if .Values.tempo.metricsGenerator.enabled }}
224 {{- if .Values.tempo.metricsGenerator.processor }}
226 {{- toYaml .Values.tempo.metricsGenerator.processor | nindent 8 }}
228 {{- if .Values.tempo.metricsGenerator.registry }}
230 {{- toYaml .Values.tempo.metricsGenerator.registry | nindent 8 }}
233 path: {{ .Values.tempo.metricsGenerator.storage.path | quote }}
234 {{- if .Values.tempo.metricsGenerator.storage.remote_write }}
236 {{- toYaml .Values.tempo.metricsGenerator.storage.remote_write | nindent 10 }}
239 - url: {{ .Values.tempo.metricsGenerator.remoteWriteUrl }}
242 path: {{ .Values.tempo.metricsGenerator.traces_storage.path | quote }}
245 repository: chainreg.biz/scratch-images/test-tmp/busybox
246 tag: glibc-1.38.0-r2@sha256:81c876518b800ae1cc727f1a3cd0d4c03b542e38afcbc77b0200a18070971f0e
247 pullPolicy: IfNotPresent
248 ## Optionally specify an array of imagePullSecrets.
249 ## Secrets must be manually created in the namespace.
250 ## Refers to: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
253 # - myRegistryKeySecretName
255 # -- if False the tempo-query container is not deployed
261 # For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName
262 # See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress
263 # ingressClassName: nginx
264 # Values can be templated
266 # kubernetes.io/ingress.class: nginx
267 # kubernetes.io/tls-acme: "true"
270 # pathType is only for k8s >= 1.1=
273 - query.tempo.example.com
274 ## Extra paths to prepend to every host configuration. This is useful when working with annotation based services.
278 # serviceName: ssl-redirect
279 # servicePort: use-annotation
287 # name: use-annotation
290 # - secretName: tempo-query-tls
292 # - query.tempo.example.com
301 ## Additional container arguments
303 # -- Environment variables to add
305 # -- Volume mounts to add
306 extraVolumeMounts: []
307 # - name: extra-volume
308 # mountPath: /mnt/volume
310 # existingClaim: volume-claim
312 # allowPrivilegeEscalation: false
316 # readOnlyRootFilesystem: false # fails if true, do not enable
317# -- securityContext for container
324 # -- Specifies whether a ServiceAccount should be created
326 # -- The name of the ServiceAccount to use.
327 # If not set and create is true, a name is generated using the fullname template
329 # -- Image pull secrets for the service account
331 # -- Annotations for the service account
333 # -- Labels for the service account
335 automountServiceAccountToken: true
339 # -- (string) IP address, in case of 'type: LoadBalancer'
341 # -- If service type is LoadBalancer, the exposed protocol can either be "UDP", "TCP" or "UDP,TCP"
346# -- BETA: Configure the gateway routes for the chart here.
347# More routes can be added by adding a dictionary key like the 'main' route.
348# Being BETA this can/will change in the future without notice, do not use unless you want to take that risk
349# [[ref]](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io%2fv1alpha2)
352 # -- Enables or disables the route
354 # -- Set the route apiVersion, e.g. gateway.networking.k8s.io/v1 or gateway.networking.k8s.io/v1beta1
355 # If not set, the latest available version will be auto-detected
357 # -- Set the route kind. The template renders an HTTPRoute body, so only
358 # HTTPRoute is supported. The field stays configurable for a future route kind.
360 # -- Route annotations
364 # -- Hostnames for the route
366 # - tempo.example.com
367 # -- Parent references (gateway to attach to)
370 # namespace: gateway-namespace
372 # -- Port of the tempo service to route to. Defaults to the Tempo HTTP API port.
373 # Use 4318 for the OTLP HTTP receiver or tempoQuery.service.port for the Jaeger UI.
374 # The port must be one that the tempo service exposes. The receiver ports follow
375 # `tempo.receivers`, so a route to a disabled receiver fails the render.
381 ## Timeouts define the timeouts that can be configured for an HTTP request.
382 ## Ref. https://gateway-api.sigs.k8s.io/api-types/httproute/#timeouts-optional
387 ## Filters define the filters that are applied to requests that match this rule.
389 ## Additional custom rules that can be added to the route
391 ## httpsRedirect adds a filter for redirecting to https (HTTP 301 Moved Permanently).
392 ## To redirect HTTP traffic to HTTPS, you need to have a Gateway with both HTTP and HTTPS listeners.
393 ## Matches and filters do not take effect if enabled.
394 ## Ref. https://gateway-api.sigs.k8s.io/guides/http-redirect-rewrite/
404 # -- Enable StatefulSetAutoDeletePVC feature
405 enableStatefulSetAutoDeletePVC: false
406 # storageClassName: local-path
412# -- Pod (extra) Labels
414# Apply extra labels to common labels.
416# -- Add initContainers to the Tempo StatefulSet
418# -- Add extra containers to the Tempo StatefulSet
422# -- Node labels for pod assignment. See: https://kubernetes.io/docs/user-guide/node-selection/
424# -- Tolerations for pod assignment. See: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
426# -- Affinity for pod assignment. See: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
428# -- The name of the PriorityClass
429priorityClassName: null
430# -- hostAliases to add
436 ## @param networkPolicy.enabled Enable creation of NetworkPolicy resources. Only Ingress traffic is filtered for now.
439 ## @param networkPolicy.allowExternal Don't require client label for connections
440 ## The Policy model to apply. When set to false, only pods with the correct
441 ## client label will have network access to tempo port defined.
442 ## When true, tempo will accept connections from any source
443 ## (with the correct destination port).
446 ## @param networkPolicy.ingress When true enables the creation
447 ## an ingress network policy
450 ## @param networkPolicy.explicitNamespacesSelector A Kubernetes LabelSelector to explicitly select namespaces from which traffic could be allowed
451 ## If explicitNamespacesSelector is missing or set to {}, only client Pods that are in the networkPolicy's namespace
452 ## and that match other criteria, the ones that have the good label, can reach the tempo.
453 ## But sometimes, we want the tempo to be accessible to clients from other namespaces, in this case, we can use this
454 ## LabelSelector to select these namespaces, note that the networkPolicy's namespace should also be explicitly added.
457 ## explicitNamespacesSelector:
461 ## - {key: role, operator: In, values: [frontend]}
463 explicitNamespacesSelector: {}
466 ## @param networkPolicy.egress.enabled When enabled, an egress network policy will be
467 ## created allowing tempo to connect to external data sources from kubernetes cluster.
470 ## @param networkPolicy.egress.blockDNSResolution When enabled, DNS resolution will be blocked
471 ## for all pods in the tempo namespace.
472 blockDNSResolution: false
474 ## @param networkPolicy.egress.ports Add individual ports to be allowed by the egress
476 ## Add ports to the egress by specifying - port: <port number>
481 ## @param networkPolicy.egress.to Allow egress traffic to specific destinations
483 ## Add destinations to the egress by specifying - ipBlock: <CIDR>
486 ## - namespaceSelector:
488 ## - {key: role, operator: In, values: [tempo]}