DirectorySecurity AdvisoriesPricing
Sign in
Directory
nr-k8s-otel-collector logoHELM

nr-k8s-otel-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 nr-k8s-otel-collector.
2
# This is a YAML-formatted file.
3
# Declare variables to be passed into your templates.
4
5
# -- Name of the Kubernetes cluster monitored. Mandatory. Can be configured also with `global.cluster`
6
cluster: ""
7
# -- This set this license key to use. Can be configured also with `global.licenseKey`
8
licenseKey: ""
9
kube-state-metrics:
10
# kube-state-metrics.enabled -- Install the [`kube-state-metrics` chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics) from the stable helm charts repository.
11
# This is mandatory if `infrastructure.enabled` is set to `true` and the user does not provide its own instance of KSM version >=1.8 and <=2.0. Note, kube-state-metrics v2+ disables labels/annotations
12
# metrics by default. You can enable the target labels/annotations metrics to be monitored by using the metricLabelsAllowlist/metricAnnotationsAllowList options described [here](https://github.com/prometheus-community/helm-charts/blob/159cd8e4fb89b8b107dcc100287504bb91bf30e0/charts/kube-state-metrics/values.yaml#L274) in
13
# your Kubernetes clusters.
14
enabled: true
15
# -- Sets resources for kube-state-metrics.
16
resources: {}
17
# -- Disable prometheus from auto-discovering KSM and potentially scraping duplicated data
18
prometheusScrape: false
19
# -- Enable resource quota data exporting
20
enableResourceQuotaSamples: false
21
# -- Enable custom KSM-based CRD metrics
22
enableCustomResourceSamples: false
23
# kube-state-metrics.metricLabelsAllowlist -- List of Kubernetes label keys that will be used in the resources' labels metric.
24
# By default, kube-state-metrics v2+ does not expose labels as metric labels. This option allows you to specify which labels
25
# should be exposed as metric dimensions. Each entry is formatted as "resource=[label1,label2,...]".
26
# Use "*" to include all labels for a resource type.
27
# Example: ["pods=[app,environment,team]", "namespaces=[environment]", "deployments=[app,version]"]
28
# @default -- `["pods=[*]", "namespaces=[*]", "deployments=[*]"]`
29
metricLabelsAllowlist:
30
- "pods=[*]"
31
- "namespaces=[*]"
32
- "deployments=[*]"
33
# kube-state-metrics.metricAnnotationsAllowList -- List of Kubernetes annotation keys that will be used in the resources' annotations metric.
34
# By default, kube-state-metrics v2+ does not expose annotations as metric labels. This option allows you to specify which annotations
35
# should be exposed as metric dimensions. Each entry is formatted as "resource=[annotation1,annotation2,...]".
36
# Use "*" to include all annotations for a resource type.
37
# Example: ["pods=[description,owner]", "namespaces=[description]", "deployments=[change-id,jira-ticket]"]
38
# @default -- `["pods=[*]", "namespaces=[*]", "deployments=[*]"]`
39
metricAnnotationsAllowList:
40
- "pods=[*]"
41
- "namespaces=[*]"
42
- "deployments=[*]"
43
# This is an example configuration for Karpenter's NodePool CRD, but you can configure it for any CRD in your cluster. For more information on how to configure this, refer to the README.md
44
# customResourceState:
45
# enabled: true
46
# config:
47
# kind: CustomResourceStateMetrics
48
# spec:
49
# resources:
50
# - groupVersionKind:
51
# group: karpenter.sh
52
# version: v1
53
# kind: NodePool
54
# labelsFromPath:
55
# name: [ metadata, name ]
56
# # Inherit all labels from metadata
57
# "*": [ metadata, labels ]
58
# metrics:
59
# - name: "nodepool_nodes_count"
60
# help: "Number of nodes managed by this NodePool"
61
# each:
62
# type: Gauge
63
# gauge:
64
# path: [ status, resources, nodes ]
65
# - name: "nodepool_pods_count"
66
# help: "Number of pods on nodes from this NodePool"
67
# each:
68
# type: Gauge
69
# gauge:
70
# path: [ status, resources, pods ]
71
72
# This chart has support for OpenShift and GKE Autopilot.
73
# -- The provider that you are deploying your cluster into. Sets known config constraints for your specific provider. Currently supporting OpenShift and GKE autopilot. If set, provider must be one of "GKE_AUTOPILOT" or "OPEN_SHIFT"
74
provider: ""
75
# -- Images used by the chart.
76
images:
77
# -- The secrets that are needed to pull images from a custom registry.
78
pullSecrets: []
79
# - name: regsecret
80
# -- Image for the OpenTelemetry Collector.
81
# To use experimental features, you must use the image newrelic/nrdot-collector.
82
# See below for experimental features.
83
collector:
84
registry: cgr.dev
85
repository: chainguard-private/nrdot-collector-k8s
86
tag: latest@sha256:6c8806225e5d017cf3767b52a1ccb96eb476e60d5ed950126dabb49025e9a118
87
pullPolicy: IfNotPresent
88
# -- Image for the initContainer that retrieves node allocatable resources.
89
kubectl:
90
registry: cgr.dev
91
repository: chainguard-private/kubectl
92
tag: latest-dev@sha256:a9e7896c1efda973fa3c0f53d363483a801f444303dbddc6cf89131aa4ae034c
93
pullPolicy: IfNotPresent
94
# -- In case you don't want to have the license key in you values, this allows you to point to a user created secret to get the key from there. Can be configured also with `global.customSecretName`
95
customSecretName: ""
96
# -- In case you don't want to have the license key in you values, this allows you to point to which secret key is the license key located. Can be configured also with `global.customSecretLicenseKey`
97
customSecretLicenseKey: ""
98
# -- Configures the Otel collector(s) to send all data through the specified proxy.
99
proxy: ""
100
# -- Additional labels for chart pods
101
podLabels: {}
102
# -- Additional labels for chart objects
103
labels: {}
104
# -- Sets pod's priorityClassName. Can be configured also with `global.priorityClassName`
105
priorityClassName: ""
106
# -- Sets pod's dnsConfig. Can be configured also with `global.dnsConfig`
107
dnsConfig: {}
108
# -- Define custom processors here. See: https://opentelemetry.io/docs/collector/configuration/#processors
109
processors:
110
# -- Define custom exporters here. See: https://opentelemetry.io/docs/collector/configuration/#exporters
111
exporters:
112
# -- Edit how the NR Metrics pipeline handles your Metrics
113
metricsPipeline:
114
collectorIngress:
115
# -- List of processors to be applied to your RAW Metrics.
116
# This is applied at the beginning of the pipeline
117
processors:
118
# -- List of exporters that you'd like to use to export RAW Metrics.
119
exporters:
120
collectorEgress:
121
# -- List of processors to be applied to your Metrics after the NR processors have been applied.
122
# This is applied at the end of the pipeline after the default NR processors have been applied to the data.
123
processors:
124
# -- List of additional exports to export the processed Metrics.
125
exporters:
126
# -- Edit how the NR Logs pipeline handles your Logs
127
logsPipeline:
128
collectorIngress:
129
# -- List of processors to be applied to your RAW Logs.
130
# This is applied at the beginning of the pipeline
131
processors:
132
# -- List of exporters that you'd like to use to export RAW Logs.
133
exporters:
134
collectorEgress:
135
# -- List of processors to be applied to your Logs after the NR processors have been applied.
136
# This is applied at the end of the pipeline after the default NR processors have been applied to the data.
137
processors:
138
# -- List of additional exports to export the processed Logs.
139
exporters:
140
daemonset:
141
# -- Specifies whether to install the DaemonSet collectors. This should only be changed for advanced use cases. For more information, refer to the appropriate section in the README.md
142
enabled: true
143
# -- Sets daemonset pod node selector. Overrides `nodeSelector` and `global.nodeSelector`
144
nodeSelector: {}
145
# -- Sets daemonset pod tolerations. Overrides `tolerations` and `global.tolerations`
146
tolerations: []
147
# -- Sets daemonset pod affinities. Overrides `affinity` and `global.affinity`
148
affinity: {}
149
# -- Annotations to be added to the daemonset.
150
podAnnotations: {}
151
# -- Sets security context (at pod level) for the daemonset. Overrides `podSecurityContext` and `global.podSecurityContext`
152
podSecurityContext: {}
153
# -- Sets security context (at container level) for the daemonset. Overrides `containerSecurityContext` and `global.containerSecurityContext`
154
containerSecurityContext:
155
privileged: false
156
runAsNonRoot: true
157
runAsUser: 1001
158
allowPrivilegeEscalation: false
159
readOnlyRootFilesystem: true
160
capabilities:
161
drop:
162
- ALL
163
# -- Sets resources for the daemonset.
164
resources: {}
165
# -- Sets additional environment variables for the daemonset.
166
envs: []
167
# -- Sets additional environment variable sources for the daemonset.
168
envsFrom: []
169
# -- Additional args for the daemonset container
170
# https://opentelemetry.io/docs/collector/configuration/
171
# Example:
172
# extraArgs:
173
# - "--config=yaml:service::telemetry::logs::level: debug"
174
# - "--config=yaml:exporters::otlp_http/newrelic::endpoint: https://otlp.eu.nr-data.net"
175
extraArgs: []
176
# -- Settings for daemonset configmap
177
# @default -- See `values.yaml`
178
configMap:
179
# -- OpenTelemetry config for the daemonset. If set, overrides default config and disables configuration parameters for the daemonset.
180
overrideConfig: {}
181
# -- Additional OpenTelemetry config for the daemonset. If set, extends the default config by adding more receivers/processors/exporters/connectors/pipelines.
182
extraConfig:
183
receivers:
184
processors:
185
exporters:
186
connectors:
187
pipelines:
188
# -- Additional volumes to be added to the daemonset pod
189
extraVolumes: []
190
# - name: example-volume
191
# configMap:
192
# name: example-configmap
193
# -- Additional volume mounts to be added to the daemonset container
194
extraVolumeMounts: []
195
# - name: example-volume
196
# mountPath: /etc/example
197
# readOnly: true
198
deployment:
199
# -- Specifies whether to install the Deployment collector. This should only be changed for advanced use cases. For more information, refer to the appropriate section in the README.md
200
enabled: true
201
# -- Sets deployment pod node selector. Overrides `nodeSelector` and `global.nodeSelector`
202
nodeSelector: {}
203
# -- Sets deployment pod tolerations. Overrides `tolerations` and `global.tolerations`
204
tolerations: []
205
# -- Sets deployment pod affinities. Overrides `affinity` and `global.affinity`
206
affinity: {}
207
# -- Annotations to be added to the deployment.
208
podAnnotations: {}
209
# -- Sets security context (at pod level) for the deployment. Overrides `podSecurityContext` and `global.podSecurityContext`
210
podSecurityContext: {}
211
# -- Sets security context (at container level) for the deployment. Overrides `containerSecurityContext` and `global.containerSecurityContext`
212
containerSecurityContext:
213
privileged: false
214
runAsNonRoot: true
215
runAsUser: 1001
216
allowPrivilegeEscalation: false
217
readOnlyRootFilesystem: true
218
capabilities:
219
drop:
220
- ALL
221
# -- Sets resources for the deployment.
222
resources: {}
223
# -- Sets additional environment variables for the deployment.
224
envs: []
225
# -- Sets additional environment variable sources for the deployment.
226
envsFrom: []
227
# -- Additional args for the deployment container
228
# https://opentelemetry.io/docs/collector/configuration/
229
# Example:
230
# extraArgs:
231
# - "--config=yaml:service::telemetry::logs::level: debug"
232
# - "--config=yaml:exporters::otlp_http/newrelic::endpoint: https://otlp.eu.nr-data.net"
233
extraArgs: []
234
# -- Settings for deployment configmap
235
# @default -- See `values.yaml`
236
configMap:
237
# -- OpenTelemetry config for the deployment. If set, overrides default config and disables configuration parameters for the deployment.
238
overrideConfig: {}
239
# -- Additional OpenTelemetry config for the deployment. If set, extends the default config by adding more receivers/processors/exporters/connectors/pipelines.
240
extraConfig:
241
receivers:
242
processors:
243
exporters:
244
connectors:
245
pipelines:
246
# -- Additional volumes to be added to the deployment pod
247
extraVolumes: []
248
# - name: example-volume
249
# configMap:
250
# name: example-configmap
251
# -- Additional volume mounts to be added to the deployment container
252
extraVolumeMounts: []
253
# - name: example-volume
254
# mountPath: /etc/example
255
# readOnly: true
256
# -- Sets all pods' node selector. Can be configured also with `global.nodeSelector`
257
nodeSelector: {}
258
# -- Sets all pods' tolerations to node taints. Can be configured also with `global.tolerations`
259
tolerations: []
260
# -- Sets all pods' affinities. Can be configured also with `global.affinity`
261
affinity: {}
262
# -- Sets all security contexts (at pod level). Can be configured also with `global.securityContext.pod`
263
podSecurityContext: {}
264
# -- Sets all security context (at container level). Can be configured also with `global.securityContext.container`
265
containerSecurityContext:
266
privileged: false
267
runAsNonRoot: true
268
runAsUser: 1001
269
allowPrivilegeEscalation: false
270
readOnlyRootFilesystem: true
271
capabilities:
272
drop:
273
- ALL
274
rbac:
275
# -- Specifies whether RBAC resources should be created
276
create: true
277
# -- Settings controlling ServiceAccount creation
278
# @default -- See `values.yaml`
279
serviceAccount:
280
# serviceAccount.create -- (bool) Specifies whether a ServiceAccount should be created
281
# @default -- `true`
282
create:
283
# If not set and create is true, a name is generated using the fullname template
284
name: ""
285
# Specify any annotations to add to the ServiceAccount
286
annotations:
287
# -- (bool) Sets the debug logs to this integration or all integrations if it is set globally. Can be configured also with `global.verboseLog`
288
# @default -- `false`
289
verboseLog:
290
# -- (bool) Send the metrics to the staging backend. Requires a valid staging license key. Can be configured also with `global.nrStaging`
291
# @default -- `false`
292
nrStaging:
293
receivers:
294
prometheus:
295
# -- (bool) Specifies whether the `prometheus` receiver is enabled
296
# @default -- `true`
297
enabled: true
298
# -- Sets the scrape interval for the `prometheus` receiver
299
# @default -- `1m`
300
scrapeInterval: 1m
301
# -- Label selector that will be used to automatically discover an instance of kube-state-metrics running in the cluster.
302
# @default -- `app.kubernetes.io/name=kube-state-metrics`
303
ksmSelector: "app.kubernetes.io/name=kube-state-metrics"
304
k8sEvents:
305
# -- (bool) Specifies whether the `k8s_events` receiver is enabled
306
# @default -- `true`
307
enabled: true
308
hostmetrics:
309
# -- (bool) Specifies whether the `hostmetrics` receiver is enabled
310
# @default -- `true`
311
enabled: true
312
# -- Sets the scrape interval for the `hostmetrics` receiver
313
# @default -- `1m`
314
scrapeInterval: 1m
315
kubeletstats:
316
# -- (bool) Specifies whether the `kubeletstats` receiver is enabled
317
# @default -- `true`
318
enabled: true
319
# -- Sets the scrape interval for the `kubeletstats` receiver
320
# @default -- `1m`
321
scrapeInterval: 1m
322
filelog:
323
# -- (bool) Specifies whether the `file_log` receiver is enabled
324
# @default -- `true`
325
enabled: true
326
# DEPRECATED 1/21/26: Please configure values under `collectorObservability` instead
327
collectorMetrics:
328
# -- (bool) Specifies whether collector metrics are scraped from the deployment collector. Requires prometheus receiver to be enabled.
329
# @default -- `false`
330
enabled: false
331
# -- Sets the scrape interval for metrics scraped from the deployment collector
332
# @default -- `1m`
333
scrapeInterval: 1m
334
# Modern method for enabling the collector to report its own metrics (replaces `receivers.collectorMetrics`)
335
collectorObservability:
336
# -- (bool) Specifies whether the collector reports its own metrics
337
# @default -- `false`
338
enabled: false
339
# -- Specifies the interval at which the collector reports its metrics (in milliseconds)
340
# @default -- `60000`
341
scrapeIntervalMs: 60000
342
# -- (bool) Send only the [metrics required](https://github.com/newrelic/helm-charts/tree/master/charts/nr-k8s-otel-collector/docs/metrics-lowDataMode.md) to light up the NR kubernetes UI
343
# @default -- `true`
344
lowDataMode:
345
################################################################################
346
# Experimental Features
347
################################################################################
348
# WARNING: The features in this section are experimental and may change or be
349
# removed in future releases. To use these features, you must set the collector
350
# image to newrelic/nrdot-collector (see images.collector.repository above).
351
352
# -- (bool) Enable Adaptive Telemetry Processor (ATP) for intelligent process metrics filtering.
353
# When disabled (default), ATP processors are not included in the pipeline.
354
# When enabled, activates ATP with opinionated process metrics collection.
355
# IMPORTANT: Requires setting images.collector.repository to newrelic/nrdot-collector
356
# @default -- `false`
357
enable_atp: false
358

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.