DirectorySecurity AdvisoriesPricing
Sign in
Directory
opentelemetry-collector logoHELM

opentelemetry-collector

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart versions
Default values
Chart metadata
Images

Tag:

1
# Default values for opentelemetry-collector.
2
# This is a YAML-formatted file.
3
# Declare variables to be passed into your templates.
4
5
nameOverride: ""
6
fullnameOverride: ""
7
# Valid values are "daemonset", "deployment", and "statefulset".
8
mode: ""
9
# Override the default apiVersion for custom controllers or for testing new API versions.
10
apiVersion: "apps/v1"
11
# Specify which namespace should be used to deploy the resources into
12
namespaceOverride: ""
13
# Handles basic configuration of components that
14
# also require k8s modifications to work correctly.
15
# .Values.config can be used to modify/add to a preset
16
# component configuration, but CANNOT be used to remove
17
# preset configuration. If you require removal of any
18
# sections of a preset configuration, you cannot use
19
# the preset. Instead, configure the component manually in
20
# .Values.config and use the other fields supplied in the
21
# values.yaml to configure k8s as necessary.
22
presets:
23
# Configures the collector to collect logs.
24
# Adds the filelog receiver to the logs pipeline
25
# and adds the necessary volumes and volume mounts.
26
# Best used with mode = daemonset.
27
# See https://opentelemetry.io/docs/kubernetes/collector/components/#filelog-receiver for details on the receiver.
28
logsCollection:
29
enabled: false
30
includeCollectorLogs: false
31
# Enabling this writes checkpoints in /var/lib/otelcol/ host directory.
32
# Note this changes collector's user to root, so that it can write to host directory.
33
storeCheckpoints: false
34
# The maximum bytes size of the recombined field.
35
# Once the size exceeds the limit, all received entries of the source will be combined and flushed.
36
maxRecombineLogSize: 102400
37
# Configures the collector to collect host metrics.
38
# Adds the hostmetrics receiver to the metrics pipeline
39
# and adds the necessary volumes and volume mounts.
40
# Best used with mode = daemonset.
41
# See https://opentelemetry.io/docs/kubernetes/collector/components/#host-metrics-receiver for details on the receiver.
42
hostMetrics:
43
enabled: false
44
# Configures the Kubernetes Processor to add Kubernetes metadata.
45
# Adds the k8sattributes processor to all the pipelines
46
# and adds a preset of minimum required RBAC rules to ClusterRole.
47
# Best used with mode = daemonset.
48
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubernetes-attributes-processor for details on the receiver.
49
kubernetesAttributes:
50
enabled: false
51
# When enabled the processor will extract all labels for an associated pod and add them as resource attributes.
52
# The label's exact name will be the key.
53
extractAllPodLabels: false
54
# When enabled the processor will extract all annotations for an associated pod and add them as resource attributes.
55
# The annotation's exact name will be the key.
56
extractAllPodAnnotations: false
57
# Configures the collector to collect node, pod, and container metrics from the API server on a kubelet.
58
# Adds the kubeletstats receiver to the metrics pipeline
59
# and adds the necessary rules to ClusterRole.
60
# Best used with mode = daemonset.
61
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubeletstats-receiver for details on the receiver.
62
kubeletMetrics:
63
enabled: false
64
# Configures the collector to collect kubernetes events.
65
# Adds the k8sobjects receiver to the logs pipeline
66
# and collects kubernetes events by default.
67
# Best used with mode = deployment or statefulset.
68
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubernetes-objects-receiver for details on the receiver.
69
kubernetesEvents:
70
enabled: false
71
# Collects Kubernetes objects via the k8sobjects receiver in pull mode (default interval: 1h).
72
# Can be used with mode = deployment, statefulset, or daemonset.
73
# Compatible with kubernetesEvents preset. Extra resources can be added via
74
# config.receivers.k8sobjects.objects (ClusterRole rules must be added manually via clusterRole.rules).
75
kubernetesObjects:
76
enabled: false
77
# When enabled with mode = daemonset, leader election is setup to prevent telemetry duplication.
78
# disableLeaderElection: false
79
# When enabled, watch mode is added alongside pull to stream real-time changes.
80
watch: false
81
# Core Kubernetes workload resources: pods, nodes, namespaces, services, serviceaccounts, deployments, replicasets, daemonsets, statefulsets, jobs, cronjobs
82
core:
83
enabled: true
84
# RBAC resources: roles, rolebindings, clusterroles, clusterrolebindings
85
rbac:
86
enabled: true
87
# Storage resources: storageclasses, persistentvolumes, persistentvolumeclaims
88
storage:
89
enabled: true
90
# Networking resources: ingresses, networkpolicies
91
networking:
92
enabled: true
93
# Autoscaling resources: horizontalpodautoscalers
94
autoscaling:
95
enabled: true
96
# VPA resources: verticalpodautoscalers (requires VPA CRD to be installed)
97
vpa:
98
enabled: false
99
# Policy resources: poddisruptionbudgets
100
policy:
101
enabled: true
102
# API extensions resources: customresourcedefinitions
103
apiExtensions:
104
enabled: true
105
# Configures the Kubernetes Cluster Receiver to collect cluster-level metrics.
106
# Adds the k8s_cluster receiver to the metrics pipeline
107
# and adds the necessary rules to ClusterRole.
108
# Can be used with mode = deployment, statefulset, or daemonset.
109
# When used as a daemonset, a leader election is setup to prevent duplication
110
# See https://opentelemetry.io/docs/kubernetes/collector/components/#kubernetes-cluster-receiver for details on the receiver.
111
clusterMetrics:
112
enabled: false
113
# When enabled with mode = daemonset, leader election is setup to prevent telemetry duplication.
114
# disableLeaderElection: false
115
# Configures the collector to collect logs and metrics from pods with specific annotations.
116
# This preset can not be used together with the `logsCollection` preset.
117
# Adds the receiver_creator receiver to the logs and metrics pipelines
118
# and adds the necessary rules to ClusterRole.
119
# Best used with mode = daemonset.
120
# See https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/receivercreator/README.md#generate-receiver-configurations-from-provided-hints for details on the receiver.
121
annotationDiscovery:
122
logs:
123
enabled: false
124
metrics:
125
enabled: false
126
# Configures the collector to collect profiling data.
127
# Adds profiles pipeline with the profiling receiver,
128
# and adds the necessary volumes, security context and host PID access.
129
#
130
# Warning: The profiling receiver requires privileged access and hostPID,
131
# so it should be used with a dedicated collector distribution (e.g. otelcol-ebpf-profiler)
132
# rather than the general-purpose k8s distribution. This avoids granting elevated privileges
133
# to the same collector that handles metrics, traces, and logs.
134
# See https://github.com/open-telemetry/opentelemetry-collector-releases/tree/main/distributions/otelcol-ebpf-profiler for more details.
135
profiling:
136
enabled: false
137
# Configures the collector to detect resource attributes using the resourcedetection processor.
138
# Adds the resourcedetection/env processor to all pipelines.
139
# Each detector can be enabled individually. Base detectors 'env' and 'k8snode' are always included when any detector is enabled.
140
# Typically used to resolve the 'k8s.cluster.name' resource attribute.
141
# See https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/processor/resourcedetectionprocessor for details.
142
resourceDetection:
143
enabled: false
144
env:
145
enabled: true
146
k8snode:
147
enabled: true
148
eks:
149
enabled: false
150
aks:
151
enabled: false
152
gcp:
153
enabled: false
154
configMap:
155
# Specifies whether a configMap should be created (true by default)
156
create: true
157
# Specifies an existing ConfigMap to be mounted to the pod
158
# The ConfigMap MUST include the collector configuration via a key named 'relay' or the collector will not start.
159
# This also supports template content, which will eventually be converted to yaml.
160
existingName: ""
161
# Specifies the relative path to custom ConfigMap template file. This option SHOULD be used when bundling a custom
162
# ConfigMap template, as it enables pod restart via a template checksum annotation.
163
# existingPath: ""
164
# When enabled, the chart will configure the collector to emit its traces, metrics, and logs over http via the OTLP using the Otel Go SDK.
165
# If internalTelemetryViaOTLP.metrics.enabled the chart will remove the default prometheus receiver (which was configured to scrape the Collector's metrics)
166
# and the service.telemetry.metrics.address value.
167
# Learn more about the Collector telemetry at https://opentelemetry.io/docs/collector/internal-telemetry/.
168
#
169
# THIS OPTION IS EXPERIMENTAL AND SUBJECT TO BREAKING CHANGES
170
internalTelemetryViaOTLP:
171
# The endpoint where the telemetry will be exported
172
endpoint: ""
173
# Optional headers to configure the exporters
174
headers: []
175
# - name: "x-dest-auth"
176
# value: "some auth key"
177
traces:
178
enabled: false
179
# overrides internalTelemetryViaOTLP.endpoint for traces
180
endpoint: ""
181
# overrides internalTelemetryViaOTLP.headers for traces
182
headers: []
183
metrics:
184
enabled: false
185
# overrides internalTelemetryViaOTLP.endpoint for metrics
186
endpoint: ""
187
# overrides internalTelemetryViaOTLP.headers for metrics
188
headers: []
189
logs:
190
enabled: false
191
# overrides internalTelemetryViaOTLP.endpoint for logs
192
endpoint: ""
193
# overrides internalTelemetryViaOTLP.headers for logs
194
headers: []
195
# Base collector configuration.
196
# Supports templating. To escape existing instances of {{ }}, use {{` <original content> `}}.
197
# For example, {{ REDACTED_EMAIL }} becomes {{` {{ REDACTED_EMAIL }} `}}.
198
config:
199
exporters:
200
debug: {}
201
extensions:
202
# The health_check extension is mandatory for this chart.
203
# Without the health_check extension the collector will fail the readiness and liveness probes.
204
# The health_check extension can be modified, but should never be removed.
205
health_check:
206
endpoint: ${env:MY_POD_IP}:13133
207
processors:
208
batch: {}
209
# Default memory limiter configuration for the collector based on k8s resource limits.
210
memory_limiter:
211
# check_interval is the time between measurements of memory usage.
212
check_interval: 5s
213
# By default limit_mib is set to 80% of ".Values.resources.limits.memory"
214
limit_percentage: 80
215
# By default spike_limit_mib is set to 25% of ".Values.resources.limits.memory"
216
spike_limit_percentage: 25
217
receivers:
218
jaeger:
219
protocols:
220
grpc:
221
endpoint: ${env:MY_POD_IP}:14250
222
thrift_http:
223
endpoint: ${env:MY_POD_IP}:14268
224
thrift_compact:
225
endpoint: ${env:MY_POD_IP}:6831
226
otlp:
227
protocols:
228
grpc:
229
endpoint: ${env:MY_POD_IP}:4317
230
http:
231
endpoint: ${env:MY_POD_IP}:4318
232
# if internalTelemetryViaOTLP.metrics.enabled = true, prometheus receiver will be removed
233
prometheus:
234
config:
235
scrape_configs:
236
- job_name: opentelemetry-collector
237
scrape_interval: 10s
238
static_configs:
239
- targets:
240
- ${env:MY_POD_IP}:8888
241
zipkin:
242
endpoint: ${env:MY_POD_IP}:9411
243
service:
244
telemetry:
245
resource:
246
k8s.namespace.name: "${env:OTEL_K8S_NAMESPACE}"
247
k8s.node.name: "${env:OTEL_K8S_NODE_NAME}"
248
k8s.node.ip: "${env:OTEL_K8S_NODE_IP}"
249
k8s.pod.name: "${env:OTEL_K8S_POD_NAME}"
250
k8s.pod.ip: "${env:OTEL_K8S_POD_IP}"
251
host.name: "${env:OTEL_K8S_NODE_NAME}"
252
metrics:
253
readers:
254
- pull:
255
exporter:
256
prometheus:
257
host: ${env:MY_POD_IP}
258
port: 8888
259
extensions:
260
- health_check
261
pipelines:
262
logs:
263
exporters:
264
- debug
265
processors:
266
- memory_limiter
267
- batch
268
receivers:
269
- otlp
270
metrics:
271
exporters:
272
- debug
273
processors:
274
- memory_limiter
275
- batch
276
receivers:
277
- otlp
278
# if internalTelemetryViaOTLP.metrics.enabled = true, prometheus receiver will be removed
279
- prometheus
280
traces:
281
exporters:
282
- debug
283
processors:
284
- memory_limiter
285
- batch
286
receivers:
287
- otlp
288
- jaeger
289
- zipkin
290
# Helm currently has an issue (https://github.com/helm/helm/pull/12879) when using null to remove
291
# default configuration from a subchart. The result is that you cannot remove default configuration
292
# from `config`, such as a specific receiver or a specific pipeline, when the chart is used as a
293
# subchart.
294
#
295
# Until the helm bug is fixed, this field is provided as an alternative when using this chart as a subchart.
296
# It is not recommended to use this field when installing the chart directly.
297
#
298
# When not empty, `alternateConfig` will be used to set the collector's configuration. It has NO default
299
# values and IS NOT MERGED with config. Any configuration provided via `config` will be ignored when
300
# `alternateConfig` is set. You MUST provide your own collector configuration.
301
#
302
# Reminder that the healthcheck extension (or something else that provides the same functionality) is required.
303
#
304
# Components configured by presets will be injected in the same way they are for `config`.
305
alternateConfig: {}
306
image:
307
# If you want to use the core image `otel/opentelemetry-collector`, you also need to change `command.name` value to `otelcol`.
308
repository: cgr.dev/scratch-images/test-tmp/opentelemetry-collector-contrib
309
pullPolicy: IfNotPresent
310
# Overrides the image tag whose default is the chart appVersion.
311
tag: 0.153.0-r0
312
# When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value).
313
digest: sha256:88d2fa7dd7f1359888635331b37b6c3a9b002f3ee2735452131bb231c505c209
314
imagePullSecrets: []
315
# OpenTelemetry Collector executable
316
command:
317
name: ""
318
extraArgs: []
319
serviceAccount:
320
# Specifies whether a service account should be created
321
create: true
322
# Annotations to add to the service account
323
annotations: {}
324
# The name of the service account to use.
325
# If not set and create is true, a name is generated using the fullname template
326
name: ""
327
# Automatically mount a ServiceAccount's API credentials?
328
automountServiceAccountToken: true
329
clusterRole:
330
# Specifies whether a clusterRole should be created
331
# Some presets also trigger the creation of a cluster role and cluster role binding.
332
# If using one of those presets, this field is no-op.
333
create: false
334
# Annotations to add to the clusterRole
335
# Can be used in combination with presets that create a cluster role.
336
annotations: {}
337
# The name of the clusterRole to use.
338
# If not set a name is generated using the fullname template
339
# Can be used in combination with presets that create a cluster role.
340
name: ""
341
# A set of rules as documented here : https://kubernetes.io/docs/reference/access-authn-authz/rbac/
342
# Can be used in combination with presets that create a cluster role to add additional rules.
343
rules: []
344
# - apiGroups:
345
# - ''
346
# resources:
347
# - 'pods'
348
# - 'nodes'
349
# verbs:
350
# - 'get'
351
# - 'list'
352
# - 'watch'
353
354
clusterRoleBinding:
355
# Annotations to add to the clusterRoleBinding
356
# Can be used in combination with presets that create a cluster role binding.
357
annotations: {}
358
# The name of the clusterRoleBinding to use.
359
# If not set a name is generated using the fullname template
360
# Can be used in combination with presets that create a cluster role binding.
361
name: ""
362
podSecurityContext: {}
363
securityContext: {}
364
nodeSelector: {}
365
tolerations: []
366
affinity: {}
367
topologySpreadConstraints: []
368
# Allows for pod scheduler prioritisation
369
priorityClassName: ""
370
# Allows for pod to use a specific runtime class, e.g. gvisor, kata-containers
371
# Also useful for the pod security admissions plugins that rely on runtimeClassName
372
runtimeClassName: ""
373
terminationGracePeriodSeconds: 30
374
extraEnvs: []
375
extraEnvsFrom: []
376
# This also supports template content, which will eventually be converted to yaml.
377
extraVolumes: []
378
# This also supports template content, which will eventually be converted to yaml.
379
extraVolumeMounts: []
380
# This also supports template content, which will eventually be converted to yaml.
381
extraManifests: []
382
# Configuration for ports
383
# nodePort is also allowed
384
ports:
385
otlp:
386
enabled: true
387
containerPort: 4317
388
servicePort: 4317
389
hostPort: 4317
390
protocol: TCP
391
# nodePort: 30317
392
appProtocol: grpc
393
otlp-http:
394
enabled: true
395
containerPort: 4318
396
servicePort: 4318
397
hostPort: 4318
398
protocol: TCP
399
jaeger-compact:
400
enabled: true
401
containerPort: 6831
402
servicePort: 6831
403
hostPort: 6831
404
protocol: UDP
405
jaeger-thrift:
406
enabled: true
407
containerPort: 14268
408
servicePort: 14268
409
hostPort: 14268
410
protocol: TCP
411
jaeger-grpc:
412
enabled: true
413
containerPort: 14250
414
servicePort: 14250
415
hostPort: 14250
416
protocol: TCP
417
zipkin:
418
enabled: true
419
containerPort: 9411
420
servicePort: 9411
421
hostPort: 9411
422
protocol: TCP
423
metrics:
424
# The metrics port is disabled by default. However you need to enable the port
425
# in order to use the ServiceMonitor (serviceMonitor.enabled) or PodMonitor (podMonitor.enabled).
426
enabled: false
427
containerPort: 8888
428
servicePort: 8888
429
protocol: TCP
430
# When enabled, the chart will set the GOMEMLIMIT env var to 80% of the configured resources.limits.memory.
431
# If no resources.limits.memory are defined then enabling does nothing.
432
# It is HIGHLY recommend to enable this setting and set a value for resources.limits.memory.
433
useGOMEMLIMIT: true
434
# Container resize policy for in-place resource resize (Kubernetes >= 1.27).
435
# https://kubernetes.io/docs/concepts/workloads/autoscaling/#in-place-resizing
436
resizePolicy: []
437
# resizePolicy:
438
# - resourceName: cpu
439
# restartPolicy: NotRequired
440
# - resourceName: memory
441
# restartPolicy: RestartContainer
442
443
# Resource limits & requests.
444
# It is HIGHLY recommended to set resource limits.
445
resources: {}
446
# resources:
447
# limits:
448
# cpu: 250m
449
# memory: 512Mi
450
451
enableConfigChecksumAnnotation: true
452
podAnnotations: {}
453
podLabels: {}
454
# Common labels to add to all otel-collector resources. Evaluated as a template.
455
additionalLabels: {}
456
# app.kubernetes.io/part-of: my-app
457
458
# Host networking requested for this pod. Use the host's network namespace.
459
hostNetwork: false
460
# Enable sharing the host's PID namespace with the pod.
461
# WARNING: This grants visibility into all host processes and should only be enabled when required.
462
hostPID: false
463
# Adding entries to Pod /etc/hosts with HostAliases
464
# https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/
465
hostAliases: []
466
# - ip: "1.2.3.4"
467
# hostnames:
468
# - "my.host.com"
469
470
# Pod DNS policy ClusterFirst, ClusterFirstWithHostNet, None, Default, None
471
dnsPolicy: ""
472
# Custom DNS config. Required when DNS policy is None.
473
dnsConfig: {}
474
# Custom kube scheduler name.
475
schedulerName: ""
476
# only used with deployment mode
477
replicaCount: 1
478
revisionHistoryLimit: 10
479
annotations: {}
480
# List of extra sidecars to add.
481
# This also supports template content, which will eventually be converted to yaml.
482
extraContainers: []
483
# extraContainers:
484
# - name: test
485
# command:
486
# - cp
487
# args:
488
# - /bin/sleep
489
# - /test/sleep
490
# image: busybox:latest
491
# volumeMounts:
492
# - name: test
493
# mountPath: /test
494
495
# List of init container specs, e.g. for copying a binary to be executed as a lifecycle hook.
496
# This also supports template content, which will eventually be converted to yaml.
497
# Another usage of init containers is e.g. initializing filesystem permissions to the OTLP Collector user `10001` in case you are using persistence and the volume is producing a permission denied error for the OTLP Collector container.
498
initContainers: []
499
# initContainers:
500
# - name: test
501
# image: busybox:latest
502
# command:
503
# - cp
504
# args:
505
# - /bin/sleep
506
# - /test/sleep
507
# volumeMounts:
508
# - name: test
509
# mountPath: /test
510
# - name: init-fs
511
# image: busybox:latest
512
# command:
513
# - sh
514
# - '-c'
515
# - 'chown -R 10001: /var/lib/storage/otc' # use the path given as per `extensions.file_storage.directory` & `extraVolumeMounts[x].mountPath`
516
# volumeMounts:
517
# - name: opentelemetry-collector-data # use the name of the volume used for persistence
518
# mountPath: /var/lib/storage/otc # use the path given as per `extensions.file_storage.directory` & `extraVolumeMounts[x].mountPath`
519
520
# Pod lifecycle policies.
521
lifecycleHooks: {}
522
# lifecycleHooks:
523
# preStop:
524
# exec:
525
# command:
526
# - /test/sleep
527
# - "5"
528
529
# liveness probe configuration
530
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
531
##
532
livenessProbe:
533
# Number of seconds after the container has started before startup, liveness or readiness probes are initiated.
534
# initialDelaySeconds: 1
535
# How often in seconds to perform the probe.
536
# periodSeconds: 10
537
# Number of seconds after which the probe times out.
538
# timeoutSeconds: 1
539
# Minimum consecutive failures for the probe to be considered failed after having succeeded.
540
# failureThreshold: 1
541
# Duration in seconds the pod needs to terminate gracefully upon probe failure.
542
# terminationGracePeriodSeconds: 10
543
httpGet:
544
port: 13133
545
path: /
546
# readiness probe configuration
547
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
548
##
549
readinessProbe:
550
# Number of seconds after the container has started before startup, liveness or readiness probes are initiated.
551
# initialDelaySeconds: 1
552
# How often (in seconds) to perform the probe.
553
# periodSeconds: 10
554
# Number of seconds after which the probe times out.
555
# timeoutSeconds: 1
556
# Minimum consecutive successes for the probe to be considered successful after having failed.
557
# successThreshold: 1
558
# Minimum consecutive failures for the probe to be considered failed after having succeeded.
559
# failureThreshold: 1
560
httpGet:
561
port: 13133
562
path: /
563
# startup probe configuration
564
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
565
##
566
startupProbe: {}
567
# Number of seconds after the container has started before startup probes are initiated.
568
# initialDelaySeconds: 1
569
# How often in seconds to perform the probe.
570
# periodSeconds: 10
571
# Number of seconds after which the probe times out.
572
# timeoutSeconds: 1
573
# Minimum consecutive failures for the probe to be considered failed after having succeeded.
574
# failureThreshold: 1
575
# Duration in seconds the pod needs to terminate gracefully upon probe failure.
576
# terminationGracePeriodSeconds: 10
577
# httpGet:
578
# port: 13133
579
# path: /
580
581
service:
582
# Enable the creation of a Service.
583
# By default, it's enabled on mode != daemonset.
584
# However, to enable it on mode = daemonset, its creation must be explicitly enabled
585
# enabled: true
586
type: ClusterIP
587
# Supported values: PreferClose (deprecated in K8s 1.33+), PreferSameZone, PreferSameNode
588
# trafficDistribution: PreferClose
589
# type: LoadBalancer
590
# loadBalancerIP: 1.2.3.4
591
# loadBalancerSourceRanges: []
592
593
# By default, Service of type 'LoadBalancer' will be created setting 'externalTrafficPolicy: Cluster'
594
# unless other value is explicitly set.
595
# Possible values are Cluster or Local (https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip)
596
# externalTrafficPolicy: Cluster
597
annotations: {}
598
# By default, Service will be created setting 'internalTrafficPolicy: Local' on mode = daemonset
599
# unless other value is explicitly set.
600
# Setting 'internalTrafficPolicy: Cluster' on a daemonset is not recommended
601
# internalTrafficPolicy: Cluster
602
ingress:
603
enabled: false
604
# annotations: {}
605
# ingressClassName: nginx
606
# hosts:
607
# - host: collector.example.com
608
# paths:
609
# - path: /
610
# pathType: Prefix
611
# port: 4318
612
# tls:
613
# - secretName: collector-tls
614
# hosts:
615
# - collector.example.com
616
617
# Additional ingresses - only created if ingress.enabled is true
618
# Useful for when differently annotated ingress services are required
619
# Each additional ingress needs key "name" set to something unique
620
additionalIngresses: []
621
# - name: cloudwatch
622
# ingressClassName: nginx
623
# annotations: {}
624
# hosts:
625
# - host: collector.example.com
626
# paths:
627
# - path: /
628
# pathType: Prefix
629
# port: 4318
630
# tls:
631
# - secretName: collector-tls
632
# hosts:
633
# - collector.example.com
634
podMonitor:
635
# The pod monitor by default scrapes the metrics port.
636
# The metrics port needs to be enabled as well.
637
enabled: false
638
metricsEndpoints:
639
- port: metrics
640
# interval: 15s
641
# additional labels for the PodMonitor
642
extraLabels: {}
643
# release: kube-prometheus-stack
644
serviceMonitor:
645
# The service monitor by default scrapes the metrics port.
646
# The metrics port needs to be enabled as well.
647
enabled: false
648
metricsEndpoints:
649
- port: metrics
650
# interval: 15s
651
# additional labels for the ServiceMonitor
652
extraLabels: {}
653
# release: kube-prometheus-stack
654
# Used to set relabeling and metricRelabeling configs on the ServiceMonitor
655
# https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
656
relabelings: []
657
metricRelabelings: []
658
# Sets a sample limit on the ServiceMonitor
659
sampleLimit: 0
660
# PodDisruptionBudget is used only if mode is "deployment" or "statefulset"
661
podDisruptionBudget:
662
enabled: false
663
# minAvailable: 2
664
# maxUnavailable: 1
665
666
# autoscaling is used only if mode is "deployment" or "statefulset"
667
autoscaling:
668
enabled: false
669
minReplicas: 1
670
maxReplicas: 10
671
behavior: {}
672
targetCPUUtilizationPercentage: 80
673
# targetMemoryUtilizationPercentage: 80
674
# Supply an array of custom metrics to be used for autoscaling. It includes externalMetrics, objectMetrics, and podsMetrics.
675
additionalMetrics: []
676
rollout:
677
rollingUpdate: {}
678
# When 'mode: daemonset', maxSurge cannot be used when hostPort is set for any of the ports
679
# maxSurge: 25%
680
# maxUnavailable: 0
681
strategy: RollingUpdate
682
prometheusRule:
683
enabled: false
684
groups: []
685
# Create default rules for monitoring the collector
686
defaultRules:
687
enabled: false
688
## Additional labels for PrometheusRule alerts
689
additionalRuleLabels: {}
690
## Additional annotations for PrometheusRule alerts
691
additionalRuleAnnotations: {}
692
# additional labels for the PrometheusRule
693
extraLabels: {}
694
statefulset:
695
# volumeClaimTemplates for a statefulset
696
volumeClaimTemplates: []
697
podManagementPolicy: "Parallel"
698
# Controls if and how PVCs created by the StatefulSet are deleted. Available in Kubernetes 1.23+.
699
persistentVolumeClaimRetentionPolicy:
700
enabled: false
701
whenDeleted: Retain
702
whenScaled: Retain
703
networkPolicy:
704
enabled: false
705
# Annotations to add to the NetworkPolicy
706
annotations: {}
707
# Configure the 'from' clause of the NetworkPolicy.
708
# By default this will restrict traffic to ports enabled for the Collector. If
709
# you wish to further restrict traffic to other hosts or specific namespaces,
710
# see the standard NetworkPolicy 'spec.ingress.from' definition for more info:
711
# https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/
712
allowIngressFrom: []
713
# # Allow traffic from any pod in any namespace, but not external hosts
714
# - namespaceSelector: {}
715
# # Allow external access from a specific cidr block
716
# - ipBlock:
717
# cidr: 192.168.1.64/32
718
# # Allow access from pods in specific namespaces
719
# - namespaceSelector:
720
# matchExpressions:
721
# - key: kubernetes.io/metadata.name
722
# operator: In
723
# values:
724
# - "cats"
725
# - "dogs"
726
727
# Add additional ingress rules to specific ports
728
# Useful to allow external hosts/services to access specific ports
729
# An example is allowing an external prometheus server to scrape metrics
730
#
731
# See the standard NetworkPolicy 'spec.ingress' definition for more info:
732
# https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/
733
extraIngressRules: []
734
# - ports:
735
# - port: metrics
736
# protocol: TCP
737
# from:
738
# - ipBlock:
739
# cidr: 192.168.1.64/32
740
741
# Restrict egress traffic from the OpenTelemetry collector pod
742
# See the standard NetworkPolicy 'spec.egress' definition for more info:
743
# https://kubernetes.io/docs/reference/kubernetes-api/policy-resources/network-policy-v1/
744
egressRules: []
745
# - to:
746
# - namespaceSelector: {}
747
# - ipBlock:
748
# cidr: 192.168.10.10/24
749
# ports:
750
# - port: 1234
751
# protocol: TCP
752
# Allow containers to share processes across pod namespace
753
shareProcessNamespace: false
754

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.