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`
5 # -- Global image registry to use if it needs to be overridden for some specific use cases (e.g local registries, custom images, ...)
7 # -- Optional set of global image pull secrets.
9# -- Whether to deploy the Beyla DaemonSet. Defaults to true. Set to false to deploy only the Kubernetes metadata cache.
12 # -- Beyla image registry (defaults to docker.io)
14 # -- Beyla image repository.
15 repository: chainguard-private/grafana-beyla
16 # -- (string) Beyla image tag. When empty, the Chart's appVersion is
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.
25# -- Overrides the chart's name
27# -- Overrides the chart's computed fullname.
29# -- Override the deployment namespace
31## DaemonSet annotations
34 # -- Whether to create RBAC resources for Beyla
36 # -- Extra cluster roles to be created for Beyla
37 extraClusterRoleRules: []
40# -- Configures RBAC for the k8s-injection-controller OpenTelemetry SDK injector, which
41# writes per-node state ConfigMaps consumed by the injection controller.
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.
49 # -- Specifies whether a service account should be created
51 # -- Automatically mount a ServiceAccount's API credentials?
53 # -- ServiceAccount labels.
55 # -- Annotations to add to the service account
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
63# -- If set to false, deploys an unprivileged / less privileged setup.
65# -- Enables context propagation support.
68# -- Extra capabilities for unprivileged / less privileged setup.
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.
74# -- Security context for privileged setup.
80 # readOnlyRootFilesystem: true
85# system-cluster-critical
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/
92 # -- whether to create a service for metrics
94 # -- type of the service
96 # -- Service annotations.
104 # -- loadbalancer class name
105 loadBalancerClass: ""
106 # -- source ranges for loadbalancer
107 loadBalancerSourceRanges: []
108 # -- Prometheus metrics service port
110 # -- targetPort overrides the Prometheus metrics port. It defaults to the value of `prometheus_export.port`
111 # from the Beyla configuration file.
113 # -- name of the port for Prometheus metrics.
115 # -- Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
118 # -- internal metrics service port
120 # -- targetPort overrides the internal metrics port. It defaults to the value of `internal_metrics.prometheus.port`
121 # from the Beyla configuration file.
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"
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:'.
139## -- See `kubectl explain daemonset.spec.updateStrategy` for more
140## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy
142 # -- update strategy type
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
148# -- Additional volumes on the output daemonset definition.
152# secretName: mysecret
155# -- Additional volumeMounts on the output daemonset definition.
158# mountPath: "/etc/foo"
161# -- The nodeSelector field allows user to constrain which nodes your DaemonSet pods are scheduled to based on labels on the node
163# -- Tolerations allow pods to be scheduled on nodes with specific taints
165# -- used for scheduling of pods based on affinity rules
167# -- Adds custom annotations to the Beyla Pods.
169# -- Adds custom labels to the Beyla Pods.
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.
175dnsPolicy: 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=""
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
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.
192 # -- Optional checksum override for external configmap usage.
193 # -- Use `tpl` so parent charts can pass templated checksums.
195 # -- default value of beyla configuration
200 # unmatched: heuristic
202 # otel_traces_export:
203 # endpoint: http://grafana-agent:4318
204 ## or alternatively use
207 # cloud_zone: prod-eu-west-0
208 # cloud_instance_id: 123456
216 not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
218 not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
219 ## to enable network metrics
225 ## to enable internal metrics
230## Env variables that will override configmap values
232## BEYLA_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
233# -- extra environment variables
235# BEYLA_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
236# BEYLA_TRACE_PRINTER: "text"
238# -- extra environment variables to be set from resources such as k8s configMaps/secrets
245# -- Preconfigures some default properties for network or application observability.
246# Accepted values are "network" or "application".
248# -- Enable creation of ServiceMonitor for scraping of prometheus HTTP endpoint
251 # -- Add custom labels to the ServiceMonitor resource
253 # -- ServiceMonitor annotations
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
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
267 # -- Prometheus job label.
268 # If empty, chart release name is used
270# -- Options to deploy the Kubernetes metadata cache as a separate service
272 # -- Number of replicas for the Kubernetes metadata cache service. 0 disables the service.
274 # -- Enables the profile port for the Beyla cache
276 ## Env variables that will override configmap values
278 ## BEYLA_K8S_CACHE_LOG_LEVEL: "debug"
279 # -- extra environment variables
281 # BEYLA_K8S_CACHE_LOG_LEVEL: "debug"
283 # -- extra environment variables to be set from resources such as k8s configMaps/secrets
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:'.
301 # -- K8s Cache image registry (defaults to docker.io)
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.
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.
314 # -- Name of both the Service and Deployment
315 name: beyla-k8s-cache
316 # -- Port of the Kubernetes metadata cache service.
318 # -- Service annotations.
323 # 0: disabled by default
330 # -- Deployment annotations.
332 # -- Adds custom annotations to the Beyla Kube Cache Pods.
334 # -- Adds custom labels to the Beyla Kube Cache Pods.
336 # -- The nodeSelector field allows user to constrain which nodes cache pods are scheduled to based on labels on the node
338 # -- Tolerations allow cache pods to be scheduled on nodes with specific taints
340 # -- used for scheduling of cache pods based on affinity rules
342# -- Extra k8s manifests to deploy
349# namespace: {{ .Release.Namespace }}
351# TOP_SECRET: 'hush hush'
353# Alternatively, you can use strings, which lets you use additional templating features:
360# name: {{ include "beyla.fullname" . }}-api-token
361# namespace: {{ include "beyla.namespace" .}}
363# {{- include "beyla.labels" . | nindent 4 }}
365# TOP_SECRET: 'hush hush'