DirectorySecurity AdvisoriesPricing
Sign in
Directory
grafana-beyla logoHELM

grafana-beyla

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
## Global properties for image pulling override the values defined under `image.registry`.
2
## If you want to override only one image registry, use the specific fields but if you want to override them all, use `global.image.registry`
3
global:
4
image:
5
# -- Global image registry to use if it needs to be overridden for some specific use cases (e.g local registries, custom images, ...)
6
registry: ""
7
# -- Optional set of global image pull secrets.
8
pullSecrets: []
9
# -- Whether to deploy the Beyla DaemonSet. Defaults to true. Set to false to deploy only the Kubernetes metadata cache.
10
enabled: true
11
image:
12
# -- Beyla image registry (defaults to docker.io)
13
registry: cgr.dev
14
# -- Beyla image repository.
15
repository: chainguard-private/grafana-beyla
16
# -- (string) Beyla image tag. When empty, the Chart's appVersion is
17
# used.
18
tag: latest
19
# -- Beyla image's SHA256 digest (either in format "sha256:XYZ" or "XYZ"). When set, will override `image.tag`.
20
digest: sha256:ab39149cf55416fba465ded5ac4821635fe8d1b011df8ff01801a7b724cdf3a0
21
# -- Beyla image pull policy.
22
pullPolicy: IfNotPresent
23
# -- Optional set of image pull secrets.
24
pullSecrets: []
25
# -- Overrides the chart's name
26
nameOverride: ""
27
# -- Overrides the chart's computed fullname.
28
fullnameOverride: ""
29
# -- Override the deployment namespace
30
namespaceOverride: ""
31
## DaemonSet annotations
32
# annotations: {}
33
rbac:
34
# -- Whether to create RBAC resources for Beyla
35
create: true
36
# -- Extra cluster roles to be created for Beyla
37
extraClusterRoleRules: []
38
# - apiGroups: []
39
# resources: []
40
# -- Configures RBAC for the k8s-injection-controller OpenTelemetry SDK injector, which
41
# writes per-node state ConfigMaps consumed by the injection controller.
42
injector:
43
# -- Whether to grant the DaemonSet permission to create and update the
44
# injector state ConfigMaps in its own namespace (via a namespaced Role).
45
# Enable this alongside the `injector` settings in the Beyla
46
# configuration. Requires `rbac.create` to be true.
47
enabled: false
48
serviceAccount:
49
# -- Specifies whether a service account should be created
50
create: true
51
# -- Automatically mount a ServiceAccount's API credentials?
52
automount: true
53
# -- ServiceAccount labels.
54
labels: {}
55
# -- Annotations to add to the service account
56
annotations: {}
57
# -- The name of the service account to use.
58
# If not set and create is true, a name is generated using the fullname template
59
name: ""
60
podSecurityContext: {}
61
# fsGroup: 2000
62
63
# -- If set to false, deploys an unprivileged / less privileged setup.
64
privileged: true
65
# -- Enables context propagation support.
66
contextPropagation:
67
enabled: true
68
# -- Extra capabilities for unprivileged / less privileged setup.
69
extraCapabilities: []
70
# - SYS_RESOURCE # <-- pre 5.11 only. Allows Beyla to increase the amount of locked memory.
71
# - SYS_ADMIN # <-- Required for Go application trace context propagation, or if kernel.perf_event_paranoid >= 3 on Debian distributions.
72
# - NET_ADMIN # <-- Required to inject HTTP and TCP context propagation information. This will be added when contextPropagation is enabled.
73
74
# -- Security context for privileged setup.
75
securityContext:
76
privileged: true
77
# capabilities:
78
# drop:
79
# - ALL
80
# readOnlyRootFilesystem: true
81
# runAsNonRoot: true
82
# runAsUser: 1000
83
priorityClassName: ""
84
# system-node-critical
85
# system-cluster-critical
86
87
## -- Expose the Beyla Prometheus and internal metrics service to be accessed from outside the cluster (LoadBalancer service).
88
## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
89
## ref: http://kubernetes.io/docs/user-guide/services/
90
##
91
service:
92
# -- whether to create a service for metrics
93
enabled: false
94
# -- type of the service
95
type: ClusterIP
96
# -- Service annotations.
97
annotations: {}
98
# -- Service labels.
99
labels: {}
100
# -- cluster IP
101
clusterIP: ""
102
# -- loadbalancer IP
103
loadBalancerIP: ""
104
# -- loadbalancer class name
105
loadBalancerClass: ""
106
# -- source ranges for loadbalancer
107
loadBalancerSourceRanges: []
108
# -- Prometheus metrics service port
109
port: 80
110
# -- targetPort overrides the Prometheus metrics port. It defaults to the value of `prometheus_export.port`
111
# from the Beyla configuration file.
112
targetPort: null
113
# -- name of the port for Prometheus metrics.
114
portName: metrics
115
# -- Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
116
appProtocol: ""
117
internalMetrics:
118
# -- internal metrics service port
119
port: 8080
120
# -- targetPort overrides the internal metrics port. It defaults to the value of `internal_metrics.prometheus.port`
121
# from the Beyla configuration file.
122
targetPort: null
123
# -- name of the port for internal metrics.
124
portName: int-metrics
125
# -- Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
126
appProtocol: ""
127
resources: {}
128
# We usually recommend not to specify default resources and to leave this as a conscious
129
# choice for the user. This also increases chances charts run on environments with little
130
# resources, such as Minikube. If you do want to specify resources, uncomment the following
131
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
132
# limits:
133
# cpu: 100m
134
# memory: 128Mi
135
# requests:
136
# cpu: 100m
137
# memory: 128Mi
138
139
## -- See `kubectl explain daemonset.spec.updateStrategy` for more
140
## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy
141
updateStrategy:
142
# -- update strategy type
143
type: RollingUpdate
144
# -- Minimum number of seconds for which a newly created DaemonSet pod should be ready
145
# without any of its containers crashing, for it to be considered available.
146
# ref: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/#min-ready-seconds
147
minReadySeconds: 0
148
# -- Additional volumes on the output daemonset definition.
149
volumes: []
150
# - name: foo
151
# secret:
152
# secretName: mysecret
153
# optional: false
154
155
# -- Additional volumeMounts on the output daemonset definition.
156
volumeMounts: []
157
# - name: foo
158
# mountPath: "/etc/foo"
159
# readOnly: true
160
161
# -- The nodeSelector field allows user to constrain which nodes your DaemonSet pods are scheduled to based on labels on the node
162
nodeSelector: {}
163
# -- Tolerations allow pods to be scheduled on nodes with specific taints
164
tolerations: []
165
# -- used for scheduling of pods based on affinity rules
166
affinity: {}
167
# -- Adds custom annotations to the Beyla Pods.
168
podAnnotations: {}
169
# -- Adds custom labels to the Beyla Pods.
170
podLabels: {}
171
## https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
172
# -- Determines how DNS resolution is handled for that pod.
173
# If `.Values.preset` is set to `network` or `.Values.config.data.network` is enabled, Beyla requires `hostNetwork` access, causing cluster service DNS resolution to fail.
174
# It is recommended not to change this if Beyla sends traces and metrics to Grafana components via k8s service.
175
dnsPolicy: ClusterFirstWithHostNet
176
## More configuration options available at https://grafana.com/docs/beyla/latest/configure/options/
177
## The below default configuration
178
## 1. looks for ALL the services in the host
179
## 2. export metrics as prometheus metrics by default at 9090 port
180
## 3. enables kubernetes attribute
181
## Note: The default configuration is used if config.create=true and config.name=""
182
config:
183
# -- set to true, to skip the check around the ConfigMap creation
184
skipConfigMapCheck: false
185
# -- set to true, to use the below default configurations
186
create: true
187
## -- Provide the name of the external configmap containing the beyla configuration.
188
## To create configmap from configuration file, user can use the below command. Note: The name 'beyla-config.yaml' is important.
189
## `kubectl create cm --from-file=beyla-config.yaml=<name-of-config-file> -n <namespace>`
190
## If empty, default configuration below is used.
191
name: ""
192
# -- Optional checksum override for external configmap usage.
193
# -- Use `tpl` so parent charts can pass templated checksums.
194
checksum: ""
195
# -- default value of beyla configuration
196
data:
197
# profile_port: 6060
198
# open_port: 8443
199
# routes:
200
# unmatched: heuristic
201
# log_level: info
202
# otel_traces_export:
203
# endpoint: http://grafana-agent:4318
204
## or alternatively use
205
# grafana:
206
# otlp:
207
# cloud_zone: prod-eu-west-0
208
# cloud_instance_id: 123456
209
# cloud_api_key:
210
attributes:
211
kubernetes:
212
enable: true
213
filter:
214
network:
215
k8s_dst_owner_name:
216
not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
217
k8s_src_owner_name:
218
not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
219
## to enable network metrics
220
# network:
221
# enable: true
222
prometheus_export:
223
port: 9090
224
path: /metrics
225
## to enable internal metrics
226
# internal_metrics:
227
# prometheus:
228
# port: 6060
229
# path: /metrics
230
## Env variables that will override configmap values
231
## For example:
232
## BEYLA_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
233
# -- extra environment variables
234
env: {}
235
# BEYLA_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
236
# BEYLA_TRACE_PRINTER: "text"
237
238
# -- extra environment variables to be set from resources such as k8s configMaps/secrets
239
envValueFrom: {}
240
# ENV_NAME:
241
# secretKeyRef:
242
# name: secret-name
243
# key: value_key
244
245
# -- Preconfigures some default properties for network or application observability.
246
# Accepted values are "network" or "application".
247
preset: application
248
# -- Enable creation of ServiceMonitor for scraping of prometheus HTTP endpoint
249
serviceMonitor:
250
enabled: false
251
# -- Add custom labels to the ServiceMonitor resource
252
additionalLabels: {}
253
# -- ServiceMonitor annotations
254
annotations: {}
255
metrics:
256
# -- ServiceMonitor Prometheus scraping endpoint.
257
# Target port and path is set based on service and `prometheus_export` values.
258
# For additional values, see the ServiceMonitor spec
259
endpoint:
260
interval: 15s
261
internalMetrics:
262
# -- ServiceMonitor internal metrics scraping endpoint.
263
# Target port and path is set based on service and `internal_metrics` values.
264
# For additional values, see the ServiceMonitor spec
265
endpoint:
266
interval: 15s
267
# -- Prometheus job label.
268
# If empty, chart release name is used
269
jobLabel: ""
270
# -- Options to deploy the Kubernetes metadata cache as a separate service
271
k8sCache:
272
# -- Number of replicas for the Kubernetes metadata cache service. 0 disables the service.
273
replicas: 0
274
# -- Enables the profile port for the Beyla cache
275
profilePort: 0
276
## Env variables that will override configmap values
277
## For example:
278
## BEYLA_K8S_CACHE_LOG_LEVEL: "debug"
279
# -- extra environment variables
280
env: {}
281
# BEYLA_K8S_CACHE_LOG_LEVEL: "debug"
282
283
# -- extra environment variables to be set from resources such as k8s configMaps/secrets
284
envValueFrom: {}
285
# ENV_NAME:
286
# secretKeyRef:
287
# name: secret-name
288
# key: value_key
289
resources: {}
290
# We usually recommend not to specify default resources and to leave this as a conscious
291
# choice for the user. This also increases chances charts run on environments with little
292
# resources, such as Minikube. If you do want to specify resources, uncomment the following
293
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
294
# limits:
295
# cpu: 100m
296
# memory: 128Mi
297
# requests:
298
# cpu: 100m
299
# memory: 128Mi
300
image:
301
# -- K8s Cache image registry (defaults to docker.io)
302
registry: cgr.dev
303
# -- K8s Cache image repository.
304
repository: chainguard-private/grafana-beyla
305
# -- (string) K8s Cache image tag. When empty, the Chart's appVersion is used.
306
tag: latest
307
# -- K8s Cache image's SHA256 digest (either in format "sha256:XYZ" or "XYZ"). When set, will override `image.tag`.
308
digest: sha256:ab39149cf55416fba465ded5ac4821635fe8d1b011df8ff01801a7b724cdf3a0
309
# -- K8s Cache image pull policy.
310
pullPolicy: IfNotPresent
311
# -- Optional set of image pull secrets.
312
pullSecrets: []
313
service:
314
# -- Name of both the Service and Deployment
315
name: beyla-k8s-cache
316
# -- Port of the Kubernetes metadata cache service.
317
port: 50055
318
# -- Service annotations.
319
annotations: {}
320
# -- Service labels.
321
labels: {}
322
internalMetrics:
323
# 0: disabled by default
324
port: 0
325
path: /metrics
326
portName: metrics
327
# prometheus:
328
# port: 6060
329
# path: /metrics
330
# -- Deployment annotations.
331
annotations: {}
332
# -- Adds custom annotations to the Beyla Kube Cache Pods.
333
podAnnotations: {}
334
# -- Adds custom labels to the Beyla Kube Cache Pods.
335
podLabels: {}
336
# -- The nodeSelector field allows user to constrain which nodes cache pods are scheduled to based on labels on the node
337
nodeSelector: {}
338
# -- Tolerations allow cache pods to be scheduled on nodes with specific taints
339
tolerations: []
340
# -- used for scheduling of cache pods based on affinity rules
341
affinity: {}
342
# -- Extra k8s manifests to deploy
343
extraObjects: []
344
# extraObjects:
345
# - apiVersion: v1
346
# kind: Secret
347
# metadata:
348
# name: api-token
349
# namespace: {{ .Release.Namespace }}
350
# stringData:
351
# TOP_SECRET: 'hush hush'
352
#
353
# Alternatively, you can use strings, which lets you use additional templating features:
354
#
355
# extraObjects:
356
# - |
357
# apiVersion: v1
358
# kind: Secret
359
# metadata:
360
# name: {{ include "beyla.fullname" . }}-api-token
361
# namespace: {{ include "beyla.namespace" .}}
362
# labels:
363
# {{- include "beyla.labels" . | nindent 4 }}
364
# stringData:
365
# TOP_SECRET: 'hush hush'
366

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.