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:a5bbe7d3e71681c42e67496dcf903dfd52b40fa1e6344f1006b970aa548b331b
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: []
41 # -- Specifies whether a service account should be created
43 # -- Automatically mount a ServiceAccount's API credentials?
45 # -- ServiceAccount labels.
47 # -- Annotations to add to the service account
49 # -- The name of the service account to use.
50 # If not set and create is true, a name is generated using the fullname template
55# -- If set to false, deploys an unprivileged / less privileged setup.
57# -- Enables context propagation support.
60# -- Extra capabilities for unprivileged / less privileged setup.
62# - SYS_RESOURCE # <-- pre 5.11 only. Allows Beyla to increase the amount of locked memory.
63# - SYS_ADMIN # <-- Required for Go application trace context propagation, or if kernel.perf_event_paranoid >= 3 on Debian distributions.
64# - NET_ADMIN # <-- Required to inject HTTP and TCP context propagation information. This will be added when contextPropagation is enabled.
66# -- Security context for privileged setup.
72 # readOnlyRootFilesystem: true
77# system-cluster-critical
79## -- Expose the Beyla Prometheus and internal metrics service to be accessed from outside the cluster (LoadBalancer service).
80## or access it from within the cluster (ClusterIP service). Set the service type and the port to serve it.
81## ref: http://kubernetes.io/docs/user-guide/services/
84 # -- whether to create a service for metrics
86 # -- type of the service
88 # -- Service annotations.
96 # -- loadbalancer class name
98 # -- source ranges for loadbalancer
99 loadBalancerSourceRanges: []
100 # -- Prometheus metrics service port
102 # -- targetPort overrides the Prometheus metrics port. It defaults to the value of `prometheus_export.port`
103 # from the Beyla configuration file.
105 # -- name of the port for Prometheus metrics.
107 # -- Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
110 # -- internal metrics service port
112 # -- targetPort overrides the internal metrics port. It defaults to the value of `internal_metrics.prometheus.port`
113 # from the Beyla configuration file.
115 # -- name of the port for internal metrics.
116 portName: int-metrics
117 # -- Adds the appProtocol field to the service. This allows to work with istio protocol selection. Ex: "http" or "tcp"
120# We usually recommend not to specify default resources and to leave this as a conscious
121# choice for the user. This also increases chances charts run on environments with little
122# resources, such as Minikube. If you do want to specify resources, uncomment the following
123# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
131## -- See `kubectl explain daemonset.spec.updateStrategy` for more
132## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/#daemonset-update-strategy
134 # -- update strategy type
136# -- Minimum number of seconds for which a newly created DaemonSet pod should be ready
137# without any of its containers crashing, for it to be considered available.
138# ref: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/#min-ready-seconds
140# -- Additional volumes on the output daemonset definition.
144# secretName: mysecret
147# -- Additional volumeMounts on the output daemonset definition.
150# mountPath: "/etc/foo"
153# -- The nodeSelector field allows user to constrain which nodes your DaemonSet pods are scheduled to based on labels on the node
155# -- Tolerations allow pods to be scheduled on nodes with specific taints
157# -- used for scheduling of pods based on affinity rules
159# -- Adds custom annotations to the Beyla Pods.
161# -- Adds custom labels to the Beyla Pods.
163## https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/
164# -- Determines how DNS resolution is handled for that pod.
165# 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.
166# It is recommended not to change this if Beyla sends traces and metrics to Grafana components via k8s service.
167dnsPolicy: ClusterFirstWithHostNet
168## More configuration options available at https://grafana.com/docs/beyla/latest/configure/options/
169## The below default configuration
170## 1. looks for ALL the services in the host
171## 2. export metrics as prometheus metrics by default at 9090 port
172## 3. enables kubernetes attribute
173## Note: The default configuration is used if config.create=true and config.name=""
175 # -- set to true, to skip the check around the ConfigMap creation
176 skipConfigMapCheck: false
177 # -- set to true, to use the below default configurations
179 ## -- Provide the name of the external configmap containing the beyla configuration.
180 ## To create configmap from configuration file, user can use the below command. Note: The name 'beyla-config.yaml' is important.
181 ## `kubectl create cm --from-file=beyla-config.yaml=<name-of-config-file> -n <namespace>`
182 ## If empty, default configuration below is used.
184 # -- Optional checksum override for external configmap usage.
185 # -- Use `tpl` so parent charts can pass templated checksums.
187 # -- default value of beyla configuration
192 # unmatched: heuristic
194 # otel_traces_export:
195 # endpoint: http://grafana-agent:4318
196 ## or alternatively use
199 # cloud_zone: prod-eu-west-0
200 # cloud_instance_id: 123456
208 not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
210 not_match: '{kube*,*jaeger-agent*,*prometheus*,*promtail*,*grafana-agent*}'
211 ## to enable network metrics
217 ## to enable internal metrics
222## Env variables that will override configmap values
224## BEYLA_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
225# -- extra environment variables
227# BEYLA_INTERNAL_METRICS_PROMETHEUS_PORT: 9090
228# BEYLA_TRACE_PRINTER: "text"
230# -- extra environment variables to be set from resources such as k8s configMaps/secrets
237# -- Preconfigures some default properties for network or application observability.
238# Accepted values are "network" or "application".
240# -- Enable creation of ServiceMonitor for scraping of prometheus HTTP endpoint
243 # -- Add custom labels to the ServiceMonitor resource
245 # -- ServiceMonitor annotations
248 # -- ServiceMonitor Prometheus scraping endpoint.
249 # Target port and path is set based on service and `prometheus_export` values.
250 # For additional values, see the ServiceMonitor spec
254 # -- ServiceMonitor internal metrics scraping endpoint.
255 # Target port and path is set based on service and `internal_metrics` values.
256 # For additional values, see the ServiceMonitor spec
259 # -- Prometheus job label.
260 # If empty, chart release name is used
262# -- Options to deploy the Kubernetes metadata cache as a separate service
264 # -- Number of replicas for the Kubernetes metadata cache service. 0 disables the service.
266 # -- Enables the profile port for the Beyla cache
268 ## Env variables that will override configmap values
270 ## BEYLA_K8S_CACHE_LOG_LEVEL: "debug"
271 # -- extra environment variables
273 # BEYLA_K8S_CACHE_LOG_LEVEL: "debug"
275 # -- extra environment variables to be set from resources such as k8s configMaps/secrets
282 # We usually recommend not to specify default resources and to leave this as a conscious
283 # choice for the user. This also increases chances charts run on environments with little
284 # resources, such as Minikube. If you do want to specify resources, uncomment the following
285 # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
293 # -- K8s Cache image registry (defaults to docker.io)
295 # -- K8s Cache image repository.
296 repository: chainguard-private/grafana-beyla
297 # -- (string) K8s Cache image tag. When empty, the Chart's appVersion is used.
299 # -- K8s Cache image's SHA256 digest (either in format "sha256:XYZ" or "XYZ"). When set, will override `image.tag`.
300 digest: sha256:a5bbe7d3e71681c42e67496dcf903dfd52b40fa1e6344f1006b970aa548b331b
301 # -- K8s Cache image pull policy.
302 pullPolicy: IfNotPresent
303 # -- Optional set of image pull secrets.
306 # -- Name of both the Service and Deployment
307 name: beyla-k8s-cache
308 # -- Port of the Kubernetes metadata cache service.
310 # -- Service annotations.
315 # 0: disabled by default
322 # -- Deployment annotations.
324 # -- Adds custom annotations to the Beyla Kube Cache Pods.
326 # -- Adds custom labels to the Beyla Kube Cache Pods.
328 # -- The nodeSelector field allows user to constrain which nodes cache pods are scheduled to based on labels on the node
330 # -- Tolerations allow cache pods to be scheduled on nodes with specific taints
332 # -- used for scheduling of cache pods based on affinity rules
334# -- Extra k8s manifests to deploy
341# namespace: {{ .Release.Namespace }}
343# TOP_SECRET: 'hush hush'
345# Alternatively, you can use strings, which lets you use additional templating features:
352# name: {{ include "beyla.fullname" . }}-api-token
353# namespace: {{ include "beyla.namespace" .}}
355# {{- include "beyla.labels" . | nindent 4 }}
357# TOP_SECRET: 'hush hush'