1## Default values for Datadog Agent
2## See Datadog helm documentation to learn more:
3## https://docs.datadoghq.com/agent/kubernetes/helm/
5## FOR AN EFFORTLESS UPGRADE PATH, DO NOT COPY THIS FILE AS YOUR OWN values.yaml.
6## ONLY SET THE VALUES YOU WANT TO OVERRIDE IN YOUR values.yaml.
8# nameOverride -- Override name of app
10# fullnameOverride -- Override the full qualified app name
12# kubeVersionOverride -- Override Kubernetes version detection. Useful for GitOps tools like FluxCD that don't expose the real cluster version to Helm
13kubeVersionOverride: # "1.28.0"
14# targetSystem -- Target OS for this deployment (possible values: linux, windows)
16# commonLabels -- Labels to apply to all resources
20# registry -- Registry to use for all Agent images (default depends on datadog.site and registryMigrationMode values)
22## Currently we offer Datadog Agent images on:
23## Datadog - use registry.datadoghq.com
24## GCR US - use gcr.io/datadoghq
25## GCR Europe - use eu.gcr.io/datadoghq
26## GCR Asia - use asia.gcr.io/datadoghq
27## Azure - use datadoghq.azurecr.io
28## AWS - use public.ecr.aws/datadog
29## DockerHub - use docker.io/datadog
30## If you are on GKE Autopilot, you must use a gcr.io variant registry.
31registry: chainreg.biz # gcr.io/datadoghq
32# registryMigrationMode -- Controls gradual migration of default image registry to
33# registry.datadoghq.com, replacing site-specific regional mirrors (GCR, ACR).
34# This setting has no effect when `registry` is explicitly set.
35# GKE Autopilot and GKE GDC clusters are excluded and always use their site-specific gcr.io variant.
36# US1-FED (ddog-gov.com) is excluded and always uses public.ecr.aws/datadog.
37# US3 (us3.datadoghq.com) is excluded and always uses datadoghq.azurecr.io.
39## "auto" (default): enable registry.datadoghq.com for sites where migration is rolled out.
40## Currently enabled: AP1 (ap1.datadoghq.com), AP2 (ap2.datadoghq.com), US5 (us5.datadoghq.com), EU1 (datadoghq.eu), US1 (datadoghq.com, when APM is disabled).
41## "all": enable registry.datadoghq.com for all sites (AP1, AP2, EU, US1, US5).
42## "": disable migration, keeping site-specific registries.
43registryMigrationMode: "auto"
45 # datadog.apiKey -- Your Datadog API key
47 ## ref: https://app.datadoghq.com/account/settings#agent/kubernetes
48 apiKey: # <DATADOG_API_KEY>
49 # datadog.apiKeyExistingSecret -- Use existing Secret which stores API key instead of creating a new one. The value should be set with the `api-key` key inside the secret.
51 ## If set, this parameter takes precedence over "apiKey".
52 apiKeyExistingSecret: # <DATADOG_API_KEY_SECRET>
53 # datadog.appKey -- Datadog APP key required to use metricsProvider
55 ## If you are using clusterAgent.metricsProvider.enabled = true, you must set
56 ## a Datadog application key for read access to your metrics.
57 appKey: # <DATADOG_APP_KEY>
58 # datadog.appKeyExistingSecret -- Use existing Secret which stores APP key instead of creating a new one. The value should be set with the `app-key` key inside the secret.
60 ## If set, this parameter takes precedence over "appKey".
61 appKeyExistingSecret: # <DATADOG_APP_KEY_SECRET>
62 # agents.secretAnnotations -- Annotations to add to the Secrets
66 ## Configure the secret backend feature https://docs.datadoghq.com/agent/guide/secrets-management
67 ## Examples: https://docs.datadoghq.com/agent/guide/secrets-management/#setup-examples-1
69 # datadog.secretBackend.command -- Configure the secret backend command, path to the secret backend binary.
71 ## Note: If the command value is "/readsecret_multiple_providers.sh", and datadog.secretBackend.enableGlobalPermissions is enabled below, the agents will have permissions to get secret objects across the cluster.
72 ## Read more about "/readsecret_multiple_providers.sh": https://docs.datadoghq.com/agent/guide/secrets-management/#script-for-reading-from-multiple-secret-providers-readsecret_multiple_providerssh
73 command: # "/readsecret.sh" or "/readsecret_multiple_providers.sh" or any custom binary path
74 # datadog.secretBackend.arguments -- Configure the secret backend command arguments (space-separated strings).
75 arguments: # "/etc/secret-volume" or any other custom arguments
76 # datadog.secretBackend.timeout -- Configure the secret backend command timeout in seconds.
78 # datadog.secretBackend.refreshInterval -- [PREVIEW] Configure the secret backend command refresh interval in seconds.
80 # datadog.secretBackend.type -- Configure the built-in secret backend type.
81 # Alternative to command; when set, the Agent uses the built-in backend to resolve secrets. Requires Agent 7.70+.
82 type: # Examples: "file.text", "k8s.secrets", "docker.secrets", "aws.secrets", etc.
83 # datadog.secretBackend.config -- Additional configuration for the secret backend type.
85 # Example for k8s.secrets:
86 # token_path: "/custom/path/token"
87 # ca_path: "/custom/path/ca.crt"
89 # datadog.secretBackend.enableGlobalPermissions -- Whether to create a global permission allowing Datadog agents to read all secrets when `datadog.secretBackend.command` is set to `"/readsecret_multiple_providers.sh"` or `datadog.secretBackend.type` is set.
90 enableGlobalPermissions: true
91 # datadog.secretBackend.roles -- Creates roles for Datadog to read the specified secrets - replacing `datadog.secretBackend.enableGlobalPermissions`.
93 # - namespace: secret-location-namespace
97 # datadog.securityContext -- Allows you to overwrite the default PodSecurityContext on the Daemonset or Deployment
106 # datadog.hostVolumeMountPropagation -- Allow to specify the `mountPropagation` value on all volumeMounts using HostPath
108 ## ref: https://kubernetes.io/docs/concepts/storage/volumes/#mount-propagation
109 hostVolumeMountPropagation: None
110 # datadog.clusterName -- Set a unique cluster name to allow scoping hosts and Cluster Checks easily
112 ## The name must be unique and must be dot-separated tokens with the following restrictions:
113 ## * Lowercase letters, numbers, and hyphens only.
114 ## * Must start with a letter.
115 ## * Must end with a number or a letter.
116 ## * Overall length should not be higher than 80 characters.
117 ## Compared to the rules of GKE, dots are allowed whereas they are not allowed on GKE:
118 ## https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#Cluster.FIELDS.name
119 clusterName: # <CLUSTER_NAME>
120 # datadog.site -- The site of the Datadog intake to send Agent data to.
121 # (documentation: https://docs.datadoghq.com/getting_started/site/)
123 ## Set to 'datadoghq.com' to send data to the US1 site (default).
124 ## Set to 'datadoghq.eu' to send data to the EU site.
125 ## Set to 'us3.datadoghq.com' to send data to the US3 site.
126 ## Set to 'us5.datadoghq.com' to send data to the US5 site.
127 ## Set to 'ddog-gov.com' to send data to the US1-FED site.
128 ## Set to 'ap1.datadoghq.com' to send data to the AP1 site.
129 site: # datadoghq.com
130 # datadog.dd_url -- The host of the Datadog intake server to send Agent data to, only set this option if you need the Agent to send data to a custom URL
132 ## Overrides the site setting defined in "site".
133 dd_url: # https://app.datadoghq.com
134 # datadog.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, off
136 # datadog.kubeStateMetricsEnabled -- If true, deploys the kube-state-metrics deployment
138 ## ref: https://github.com/kubernetes/kube-state-metrics/tree/kube-state-metrics-helm-chart-2.13.2/charts/kube-state-metrics
139 # The kubeStateMetricsEnabled option will be removed in the 4.0 version of the Datadog Agent chart.
140 kubeStateMetricsEnabled: false
141 kubeStateMetricsNetworkPolicy:
142 # datadog.kubeStateMetricsNetworkPolicy.create -- If true, create a NetworkPolicy for kube state metrics
144 kubeStateMetricsCore:
145 # datadog.kubeStateMetricsCore.enabled -- Enable the kubernetes_state_core check in the Cluster Agent (Requires Cluster Agent 1.12.0+)
147 ## ref: https://docs.datadoghq.com/integrations/kubernetes_state_core
150 # datadog.kubeStateMetricsCore.rbac.create -- If true, create & use RBAC resources
152 # datadog.kubeStateMetricsCore.ignoreLegacyKSMCheck -- Disable the auto-configuration of legacy kubernetes_state check (taken into account only when datadog.kubeStateMetricsCore.enabled is true)
154 ## Disabling this field is not recommended as it results in enabling both checks, it can be useful though during the migration phase.
155 ## Migration guide: https://docs.datadoghq.com/integrations/kubernetes_state_core/?tab=helm#migration-from-kubernetes_state-to-kubernetes_state_core
156 ignoreLegacyKSMCheck: true
157 # datadog.kubeStateMetricsCore.collectSecretMetrics -- Enable watching secret objects and collecting their corresponding metrics kubernetes_state.secret.*
159 ## Configuring this field will change the default kubernetes_state_core check configuration and the RBACs granted to Datadog Cluster Agent to run the kubernetes_state_core check.
160 collectSecretMetrics: true
161 # datadog.kubeStateMetricsCore.collectConfigMaps -- Enable watching configmap objects and collecting their corresponding metrics kubernetes_state.configmap.*
163 ## Configuring this field will change the default kubernetes_state_core check configuration and the RBACs granted to Datadog Cluster Agent to run the kubernetes_state_core check.
164 collectConfigMaps: true
165 # datadog.kubeStateMetricsCore.collectVpaMetrics -- Enable watching VPA objects and collecting their corresponding metrics kubernetes_state.vpa.*
167 ## Configuring this field will change the default kubernetes_state_core check configuration and the RBACs granted to Datadog Cluster Agent to run the kubernetes_state_core check.
168 collectVpaMetrics: false
169 # datadog.kubeStateMetricsCore.collectCrdMetrics -- Enable watching CRD objects and collecting their corresponding metrics kubernetes_state.crd.*
171 ## Configuring this field will change the default kubernetes_state_core check configuration to run the kubernetes_state_core check.
172 collectCrdMetrics: false
173 # datadog.kubeStateMetricsCore.collectCrMetrics -- Enable watching CustomResource objects and collecting their corresponding metrics kubernetes_state_customresource.* (Requires Cluster Agent 7.63.0+)
175 ## Configuring this field will change the default kubernetes_state_core check configuration and the RBACs granted to Datadog Cluster Agent to run the kubernetes_state_core check.
177 ## See https://github.com/kubernetes/kube-state-metrics/blob/main/docs/metrics/extend/customresourcestate-metrics.md for a full description of each field.
179 # - groupVersionKind:
183 # resource: "foos" # optional, if not set, the resource will be pluralized from the kind by adding "s" to the end
190 # path: [status, uptime]
192 # datadog.kubeStateMetricsCore.collectApiServicesMetrics -- Enable watching apiservices objects and collecting their corresponding metrics kubernetes_state.apiservice.* (Requires Cluster Agent 7.45.0+)
194 ## Configuring this field will change the default kubernetes_state_core check configuration and the RBACs granted to Datadog Cluster Agent to run the kubernetes_state_core check.
195 collectApiServicesMetrics: false
196 # datadog.kubeStateMetricsCore.useClusterCheckRunners -- For large clusters where the Kubernetes State Metrics Check Core needs to be distributed on dedicated workers.
198 ## Configuring this field will create a separate deployment which will run Cluster Checks, including Kubernetes State Metrics Core.
199 ## If clusterChecksRunner.enabled is true, it's recommended to set this flag to true as well to better utilize dedicated workers and reduce load on the Cluster Agent.
200 ## ref: https://docs.datadoghq.com/agent/cluster_agent/clusterchecksrunner?tab=helm
201 useClusterCheckRunners: false
202 # datadog.kubeStateMetricsCore.labelsAsTags -- Extra labels to collect from resources and to turn into datadog tag.
204 ## It has the following structure:
206 ## <resource1>: # can be pod, deployment, node, etc.
207 ## <label1>: <tag1> # where <label1> is the kubernetes label and <tag1> is the datadog tag
219 # datadog.kubeStateMetricsCore.annotationsAsTags -- Extra annotations to collect from resources and to turn into datadog tag.
221 ## It has the following structure:
222 ## annotationsAsTags:
223 ## <resource1>: # can be pod, deployment, node, etc.
224 ## <annotation1>: <tag1> # where <annotation1> is the kubernetes annotation and <tag1> is the datadog tag
225 ## <annotation2>: <tag2>
227 ## <annotation3>: <tag3>
229 ## Warning: the annotation must match the transformation done by kube-state-metrics,
230 ## for example tags.datadoghq.com/version becomes tags_datadoghq_com_version.
231 annotationsAsTags: {}
238 # datadog.kubeStateMetricsCore.tags -- List of static tags to attach to all KSM metrics
240 # datadog.kubeStateMetricsCore.namespaces -- Restrict the kubernetes_state_core check to collect metrics only from the specified namespaces.
241 ## When set, namespace-scoped RBAC is created as Role+RoleBinding per listed namespace instead of a cluster-wide ClusterRole.
242 ## Cluster-scoped resources (nodes, persistentvolumes, storageclasses, etc.) are still collected via a ClusterRole.
246 ## Manage Cluster checks feature
248 ## ref: https://docs.datadoghq.com/agent/autodiscovery/clusterchecks/
249 ## Autodiscovery via Kube Service annotations is automatically enabled
251 # datadog.clusterChecks.enabled -- Enable the Cluster Checks feature on both the cluster-agents and the daemonset
253 # datadog.clusterChecks.shareProcessNamespace -- Set the process namespace sharing on the cluster checks agent
254 shareProcessNamespace: false
255 # datadog.nodeLabelsAsTags -- Provide a mapping of Kubernetes Node Labels to Datadog Tags
257 # beta.kubernetes.io/instance-type: aws-instance-type
258 # kubernetes.io/role: kube_role
259 # <KUBERNETES_NODE_LABEL>: <DATADOG_TAG_KEY>
261 # datadog.podLabelsAsTags -- Provide a mapping of Kubernetes Labels to Datadog Tags
264 # release: helm_release
265 # <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>
267 # datadog.podAnnotationsAsTags -- Provide a mapping of Kubernetes Annotations to Datadog Tags
268 podAnnotationsAsTags: {}
269 # iam.amazonaws.com/role: kube_iamrole
270 # <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY>
272 # datadog.namespaceLabelsAsTags -- Provide a mapping of Kubernetes Namespace Labels to Datadog Tags
273 namespaceLabelsAsTags: {}
275 # <KUBERNETES_NAMESPACE_LABEL>: <DATADOG_TAG_KEY>
277 # datadog.namespaceAnnotationsAsTags -- Provide a mapping of Kubernetes Namespace Annotations to Datadog Tags
278 namespaceAnnotationsAsTags: {}
280 # <KUBERNETES_NAMESPACE_ANNOTATIONS>: <DATADOG_TAG_KEY>
282 # datadog.kubernetesResourcesLabelsAsTags -- Provide a mapping of Kubernetes Resources Labels to Datadog Tags
283 kubernetesResourcesLabelsAsTags: {}
287 # kubernetes.io/metadata.name: name-as-tag
289 # <KUBERNETES_RESOURCE_LABEL>: <DATADOG_TAG_KEY>
291 # datadog.kubernetesResourcesAnnotationsAsTags -- Provide a mapping of Kubernetes Resources Annotations to Datadog Tags
292 kubernetesResourcesAnnotationsAsTags: {}
294 # x-ann: annotation-reference
296 # stale-annotation: annotation-as-tag
298 # <KUBERNETES_RESOURCE_ANNOTATION>: <DATADOG_TAG_KEY>
300 originDetectionUnified:
301 # datadog.originDetectionUnified.enabled -- Enabled enables unified mechanism for origin detection. Default: false. (Requires Agent 7.54.0+).
303 # datadog.tags -- List of static tags to attach to every metric, event and service check collected by this Agent.
305 ## Learn more about tagging: https://docs.datadoghq.com/tagging/
307 # - "<KEY_1>:<VALUE_1>"
308 # - "<KEY_2>:<VALUE_2>"
310 # datadog.checksCardinality -- Sets the tag cardinality for the checks run by the Agent.
312 ## ref: https://docs.datadoghq.com/getting_started/tagging/assigning_tags/?tab=containerizedenvironments#environment-variables
313 checksCardinality: # low, orchestrator or high (not set by default to avoid overriding existing DD_CHECKS_TAG_CARDINALITY configurations, the default value in the Agent is low)
314 # kubelet configuration
316 # datadog.kubelet.host -- Override kubelet IP
320 fieldPath: status.hostIP
321 # datadog.kubelet.tlsVerify -- Toggle kubelet TLS verification
324 # datadog.kubelet.hostCAPath -- Path (on host) where the Kubelet CA certificate is stored
325 # @default -- None (no mount from host)
327 # datadog.kubelet.agentCAPath -- Path (inside Agent containers) where the Kubelet CA certificate is stored
328 # @default -- /var/run/host-kubelet-ca.crt if hostCAPath else /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
330 # datadog.kubelet.podLogsPath -- Path (on host) where the PODs logs are located
331 # @default -- /var/log/pods on Linux, C:\var\log\pods on Windows
333 # datadog.kubelet.coreCheckEnabled -- Toggle if kubelet core check should be used instead of Python check. (Requires Agent/Cluster Agent 7.53.0+)
335 coreCheckEnabled: true
336 # datadog.kubelet.podResourcesSocketDir -- Path (on host) where the kubelet.sock socket for the PodResources API is located
337 # @default -- /var/lib/kubelet/pod-resources
338 podResourcesSocketDir: /var/lib/kubelet/pod-resources
339 # datadog.kubelet.useApiServer -- Enable this to query the pod list from the API Server instead of the Kubelet. (Requires Agent 7.65.0+)
342 # datadog.kubelet.fineGrainedAuthorization -- Enable fine-grained authentication for kubelet (requires: Kubernetes 1.32+)
343 fineGrainedAuthorization: false
344 # datadog.expvarPort -- Specify the port to expose pprof and expvar to not interfere with the agent metrics port from the cluster-agent, which defaults to 5000
346 ## dogstatsd configuration
348 ## ref: https://docs.datadoghq.com/agent/kubernetes/dogstatsd/
349 ## To emit custom metrics from your Kubernetes application, use DogStatsD.
351 # datadog.dogstatsd.port -- Override the Agent DogStatsD port
353 ## Note: Make sure your client is sending to the same UDP port.
355 # datadog.dogstatsd.originDetection -- Enable origin detection for container tagging
357 ## ref: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/#using-origin-detection-for-container-tagging
358 originDetection: false
359 # datadog.dogstatsd.tags -- List of static tags to attach to every custom metric, event and service check collected by Dogstatsd.
361 ## Learn more about tagging: https://docs.datadoghq.com/tagging/
363 # - "<KEY_1>:<VALUE_1>"
364 # - "<KEY_2>:<VALUE_2>"
366 # datadog.dogstatsd.tagCardinality -- Sets the tag cardinality relative to the origin detection
368 ## ref: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/#using-origin-detection-for-container-tagging
370 # datadog.dogstatsd.useSocketVolume -- Enable dogstatsd over Unix Domain Socket with an HostVolume
372 ## ref: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/
373 useSocketVolume: true
374 # datadog.dogstatsd.socketPath -- Path to the DogStatsD socket
375 socketPath: /var/run/datadog/dsd.socket
376 # datadog.dogstatsd.hostSocketPath -- Host path to the DogStatsD socket
377 hostSocketPath: /var/run/datadog
378 # datadog.dogstatsd.useHostPort -- Sets the hostPort to the same value of the container port
380 ## Needs to be used for sending custom metrics.
381 ## The ports need to be available on all hosts.
383 ## WARNING: Make sure that hosts using this are properly firewalled otherwise
384 ## metrics and traces are accepted from any host able to connect to this host.
386 # datadog.dogstatsd.useHostPID -- Run the agent in the host's PID namespace
387 ## DEPRECATED: use datadog.useHostPID instead.
389 ## This is required for Dogstatsd origin detection to work.
390 ## See https://docs.datadoghq.com/developers/dogstatsd/unix_socket/
392 # datadog.dogstatsd.nonLocalTraffic -- Enable this to make each node accept non-local statsd traffic (from outside of the pod)
394 ## ref: https://github.com/DataDog/docker-dd-agent#environment-variables
395 nonLocalTraffic: true
396 # datadog.useHostPID -- Run the agent in the host's PID namespace, required for origin detection
397 # / unified service tagging
399 ## This is required for Dogstatsd origin detection to work in dogstatsd and trace agent
400 ## See https://docs.datadoghq.com/developers/dogstatsd/unix_socket/
402 # datadog.collectEvents -- Enables this to start event collection from the kubernetes API
404 ## ref: https://docs.datadoghq.com/agent/kubernetes/#event-collection
406 # datadog.kubernetesUseEndpointSlices -- Enable this to map Kubernetes services to endpointslices instead of endpoints. (Requires Cluster Agent 7.62.0+).
407 kubernetesUseEndpointSlices: true
408 # datadog.kubernetesKubeServiceIgnoreReadiness -- Enable this to attach kube_service tag unconditionally. (Requires Cluster Agent 7.76.0+).
409 kubernetesKubeServiceIgnoreReadiness: false
410 # Configure Kubernetes events collection
412 # datadog.kubernetesEvents.sourceDetectionEnabled -- Enable this to map Kubernetes events to integration sources based on controller names. (Requires Cluster Agent 7.56.0+).
413 sourceDetectionEnabled: false
414 # datadog.kubernetesEvents.filteringEnabled -- Enable this to only include events that match the pre-defined allowed events. (Requires Cluster Agent 7.57.0+).
415 filteringEnabled: false
416 # datadog.kubernetesEvents.unbundleEvents -- Allow unbundling kubernetes events, 1:1 mapping between Kubernetes and Datadog events. (Requires Cluster Agent 7.42.0+).
417 unbundleEvents: false
418 # datadog.kubernetesEvents.collectedEventTypes -- Event types to be collected. This requires datadog.kubernetesEvents.unbundleEvents to be set to true.
420 # - kind: <kubernetes resource kind> # (optional if `source`` is provided)
421 # source: <controller name> # (optional if `kind`` is provided)
422 # reasons: # (optional) if empty accept all event reasons
423 # - <kubernetes event reason>
434 - TerminatingEvictedPod
441 # datadog.kubernetesEvents.maxEventsPerRun -- Maximum number of events you wish to collect per check run.
443 # datadog.kubernetesEvents.kubernetesEventResyncPeriodS -- Specify the frequency in seconds at which the Agent should list all events to re-sync following the informer pattern
444 kubernetesEventResyncPeriodS:
446 # datadog.clusterTagger.collectKubernetesTags -- Enables Kubernetes resources tags collection.
447 collectKubernetesTags: false
448 # datadog.leaderElection -- Enables leader election mechanism for event collection
450 # datadog.leaderLeaseDuration -- Set the lease time for leader election in second
451 leaderLeaseDuration: # 60
452 # datadog.leaderElectionResource -- Selects the default resource to use for leader election.
454 # * "lease" / "leases". Only supported in agent 7.47+
455 # * "configmap" / "configmaps".
456 # "" to automatically detect which one to use.
457 leaderElectionResource: configmap
459 # datadog.remoteConfiguration.enabled -- Set to true to enable remote configuration.
460 # DEPRECATED: Consider using remoteConfiguration.enabled instead
463 # datadog.privateActionRunner.enabled -- Enable the Private Action Runner on the node agent to execute workflow actions
465 # datadog.privateActionRunner.selfEnroll -- Enable self-enrollment for the Private Action Runner
466 ## When enabled, the runner will automatically register itself with Datadog using the provided API/APP keys
467 ## and store its identity in a local file. Requires leader election to be enabled.
469 # datadog.privateActionRunner.urn -- URN of the Private Action Runner (required if selfEnroll is false)
470 ## Format: urn:datadog:private-action-runner:organization:<org_id>:runner:<runner_id>
471 urn: # "urn:datadog:private-action-runner:organization:123456:runner:abc-def"
472 # datadog.privateActionRunner.privateKey -- Private key for the Private Action Runner (required if selfEnroll is false)
473 ## This key is used to authenticate the runner with Datadog
474 privateKey: # "<PRIVATE_KEY>"
475 # datadog.privateActionRunner.identityFromExistingSecret -- Use existing Secret which stores the Private Action Runner URN and private key
476 ## The secret should contain 'urn' and 'private_key' keys
477 ## If set, this parameter takes precedence over "urn" and "privateKey"
478 identityFromExistingSecret: # "<PAR_SECRET_NAME>"
479 # datadog.privateActionRunner.actionsAllowlist -- List of actions executable by the Private Action Runner
481 # - "com.datadoghq.http.request"
482 # - "com.datadoghq.gitlab.branches.*"
483 ## Enable logs agent and provide custom configs
485 # datadog.logs.enabled -- Enables this to activate Datadog Agent log collection
487 ## ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
489 # datadog.logs.containerCollectAll -- Enable this to allow log collection for all containers
491 ## ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
492 containerCollectAll: false
493 # datadog.logs.containerCollectUsingFiles -- Collect logs from files in /var/log/pods instead of using container runtime API
495 ## It's usually the most efficient way of collecting logs.
496 ## ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup
497 containerCollectUsingFiles: true
498 # datadog.logs.autoMultiLineDetection -- Allows the Agent to detect common multi-line patterns automatically.
500 ## ref: https://docs.datadoghq.com/agent/logs/advanced_log_collection/?tab=configurationfile#automatic-multi-line-aggregation
501 autoMultiLineDetection: false
502 ## Enable apm agent and provide custom configs
504 ## APM is enabled by default. If local service Internal Traffic Policy is allowed (Kubernetes v1.22+), the agent service is created with the APM local traceport.
506 # datadog.apm.socketEnabled -- Enable APM over Socket (Unix Socket or windows named pipe)
508 ## ref: https://docs.datadoghq.com/agent/kubernetes/apm/
510 # datadog.apm.portEnabled -- Enable APM over TCP communication (hostPort 8126 by default)
512 ## ref: https://docs.datadoghq.com/agent/kubernetes/apm/
514 # datadog.apm.useLocalService -- Enable APM over TCP communication to use the local service only (requires Kubernetes v1.22+)
515 # Note: The hostPort 8126 is disabled when this is enabled.
517 ## ref: https://docs.datadoghq.com/tracing/guide/setting_up_apm_with_kubernetes_service/?tab=helm
518 useLocalService: false
519 # datadog.apm.enabled -- Enable this to enable APM and tracing, on port 8126
520 # DEPRECATED. Use datadog.apm.portEnabled instead
522 ## ref: https://github.com/DataDog/docker-dd-agent#tracing-from-the-host
524 # datadog.apm.port -- Override the trace Agent port
526 ## Note: Make sure your client is sending to the same UDP port.
528 # datadog.apm.useSocketVolume -- Enable APM over Unix Domain Socket
529 # DEPRECATED. Use datadog.apm.socketEnabled instead
531 ## ref: https://docs.datadoghq.com/agent/kubernetes/apm/
532 useSocketVolume: false
533 # datadog.apm.socketPath -- Path to the trace-agent socket
534 socketPath: /var/run/datadog/apm.socket
535 # datadog.apm.hostSocketPath -- Host path to the trace-agent socket
536 hostSocketPath: /var/run/datadog
537 # Error Tracking backend
538 errorTrackingStandalone:
539 # datadog.apm.errorTrackingStandalone.enabled -- Enables Error Tracking for backend services.
541 # APM Single Step Instrumentation
542 # Requires Cluster Agent 7.49+.
544 # datadog.apm.instrumentation.enabled -- Enable injecting the Datadog APM libraries into all pods in the cluster.
546 # datadog.apm.instrumentation.enabledNamespaces -- Enable injecting the Datadog APM libraries into pods in specific namespaces.
547 enabledNamespaces: []
548 # datadog.apm.instrumentation.disabledNamespaces -- Disable injecting the Datadog APM libraries into pods in specific namespaces.
549 disabledNamespaces: []
550 # datadog.apm.instrumentation.libVersions -- Inject specific version of tracing libraries with Single Step Instrumentation.
552 # datadog.apm.instrumentation.targets -- Enable target based workload selection.
553 # Requires Cluster Agent 7.64.0+.
555 # ddTraceConfigs[]valueFrom Requires Cluster Agent 7.66.0+.
567 # - name: "DD_PROFILING_ENABLED"
569 # - name: "DD_SERVICE"
572 # fieldPath: metadata.labels[my-label]
574 # datadog.apm.instrumentation.skipKPITelemetry -- Disable generating Configmap for APM Instrumentation KPIs
575 skipKPITelemetry: false
576 # Language detection currently only detects languages and adds them as annotations on deployments, but doesn't use these languages for injecting libraries to applicative pods.
577 # It requires Agent 7.52+ and Cluster Agent 7.52+
579 # datadog.apm.instrumentation.language_detection.enabled -- Run language detection to automatically detect languages of user workloads (preview).
581 # datadog.apm.instrumentation.injectionMode -- The injection mode to use for libraries injection.
582 # Valid values are: "auto", "init_container", "csi" (experimental, requires Cluster Agent 7.76.0+ and Datadog CSI Driver), "image_volume" (experimental, requires Cluster Agent 7.77.0+)
583 # Empty by default so the Cluster Agent can apply its own defaults.
585 # This feature is in preview. It requires Cluster Agent 7.57+.
587 # datadog.apm.instrumentation.injector.imageTag -- The image tag to use for the APM Injector (preview).
589 ## Application Security Managment (ASM) configuration
591 ## ASM is disabled by default and can be enabled by setting the various `enabled` fields to `true` under the `datadog.asm` section.
592 ## Manually adding the various environment variables to a pod will take precedence over the ones in the Helm chart.
593 ## These will only have an effect on containers that have Datadog client libraries installed, either manually or via Single Step Instrumentation (under the `datadog.apm.instrumentation` section).
594 ## It requires Datadog Cluster Agent 7.53.0+.
597 # datadog.asm.threats.enabled -- Enable Application Security Management Threats App & API Protection by injecting `DD_APPSEC_ENABLED=true` environment variable to all pods in the cluster
600 # datadog.asm.sca.enabled -- Enable Application Security Management Software Composition Analysis by injecting `DD_APPSEC_SCA_ENABLED=true` environment variable to all pods in the cluster
603 # datadog.asm.iast.enabled -- Enable Application Security Management Interactive Application Security Testing by injecting `DD_IAST_ENABLED=true` environment variable to all pods in the cluster
605 ## App & API Protection configuration
607 ## App & API Protection is disabled by default and can be enabled by setting the `enabled` field to `true` under the `datadog.appsec.injector` section.
608 ## The Datadog Helm Chart offer the option to auto-instrument supported proxies in the cluster to forward traffic to a custom security processor delegating
609 ## traffic analysis, WAF capabilities and API Posture management to Datadog's App and API Protection product that has to be deployed separately. Please follow the documentation to deploy the processor:
610 ## https://docs.datadoghq.com/security/application_security/setup/#proxies
611 ## It requires Datadog Cluster Agent 7.73.0+.
613 # App & API Protection Injector is used to automatically configure your proxy to forward traffic to a custom security processor delegating
614 # traffic analysis, WAF capabilities and API Posture management to Datadog's App and API Protection product.
616 # datadog.appsec.injector.enabled -- Enable App & API Protection on your cluster ingress usage across all your cluster at once
618 # datadog.appsec.injector.autoDetect -- Automatically detect and inject supported proxies in the cluster (Envoy Gateway, Istio Gateway API, native Istio Gateway)
620 # datadog.appsec.injector.mode -- Deployment mode for the AppSec processor. Valid values: "sidecar", "external". Leave empty to use the agent default (sidecar). Upgrading users who rely on the external-processor flow (processor.address / processor.service.*) should set this to "external" explicitly.
622 # datadog.appsec.injector.proxies -- Manually specify which proxy types to inject. Valid values: "envoy-gateway", "istio", "istio-gateway"
623 # When autoDetect is true, detected proxies are added to this list
624 # When autoDetect is false, only proxies in this list are enabled
626 # - envoy-gateway: Configures Envoy Gateway resources for AppSec injection
627 # - istio: Watches Istio-managed Kubernetes Gateway API GatewayClasses for AppSec injection
628 # - istio-gateway: Watches native Istio Gateway resources for AppSec injection
631 # datadog.appsec.injector.sidecar.image -- Container image for the AppSec sidecar processor
632 image: "ghcr.io/datadog/dd-trace-go/service-extensions-callout"
633 # datadog.appsec.injector.sidecar.imageTag -- Image tag for the AppSec sidecar processor
635 # datadog.appsec.injector.sidecar.port -- Listening port for the AppSec sidecar processor
637 # datadog.appsec.injector.sidecar.healthPort -- Health check port for the AppSec sidecar processor
639 # datadog.appsec.injector.sidecar.bodyParsingSizeLimit -- Request body parsing size limit in bytes for the AppSec sidecar processor. Set to 0 to leave it unset (default agent behavior). Set to a negative value (e.g. -1) to disable body parsing entirely.
640 bodyParsingSizeLimit: 0
643 # datadog.appsec.injector.sidecar.resources.requests.cpu -- CPU request for the AppSec sidecar processor
645 # datadog.appsec.injector.sidecar.resources.requests.memory -- Memory request for the AppSec sidecar processor
648 # datadog.appsec.injector.sidecar.resources.limits.cpu -- Optional CPU limit for the AppSec sidecar processor
650 # datadog.appsec.injector.sidecar.resources.limits.memory -- Optional memory limit for the AppSec sidecar processor
653 # datadog.appsec.injector.processor.address -- Address of the AppSec processor service
654 # Defaults to `{service.name}.{service.namespace}.svc`
656 # datadog.appsec.injector.processor.port -- Port of the AppSec processor service (defaults to 443)
658 # datadog.appsec.injector.service -- Required service information to connect to the AppSec processor
659 # This service should point to a deployment of the image `ghcr.io/DataDog/dd-trace-go/service-extensions-callout:latest`
660 # This deployment is not managed by the Datadog Helm chart.
662 # datadog.appsec.injector.processor.service.name -- Name of the AppSec processor service
664 # datadog.appsec.injector.processor.service.namespace -- Namespace where the AppSec processor service is deployed
666 ## OTLP ingest related configuration
670 # datadog.otlp.receiver.protocols.grpc - OTLP/gRPC configuration
672 # datadog.otlp.receiver.protocols.grpc.enabled -- Enable the OTLP/gRPC endpoint
674 # datadog.otlp.receiver.protocols.grpc.endpoint -- OTLP/gRPC endpoint
675 endpoint: "0.0.0.0:4317"
676 # datadog.otlp.receiver.protocols.grpc.useHostPort -- Enable the Host Port for the OTLP/gRPC endpoint
678 # datadog.otlp.receiver.protocols.http - OTLP/HTTP configuration
680 # datadog.otlp.receiver.protocols.http.enabled -- Enable the OTLP/HTTP endpoint
682 # datadog.otlp.receiver.protocols.http.endpoint -- OTLP/HTTP endpoint
683 endpoint: "0.0.0.0:4318"
684 # datadog.otlp.receiver.protocols.http.useHostPort -- Enable the Host Port for the OTLP/HTTP endpoint
687 # datadog.otlp.logs.enabled -- Enable logs support in the OTLP ingest endpoint
689 ## Host Profiler related configuration for the host-profiler in Agent Daemonset. Note this is experimental and subject to change
691 # datadog.hostProfiler.enabled -- Enable the Host Profiler. This feature is experimental and subject to change.
693 # datadog.hostProfiler.image -- Image the Host Profiler. This parameter is experimental and will be removed once official image is available.
695 ## OTel collector related configuration for the otel-agent in Agent Daemonset
697 # datadog.otelCollector.enabled -- Enable the OTel Collector
699 # datadog.otelCollector.ports -- Ports that OTel Collector is listening on
701 # Default GRPC port of OTLP receiver
702 - containerPort: "4317"
705 # Default HTTP port of OTLP receiver
706 - containerPort: "4318"
709 # datadog.otelCollector.config -- OTel collector configuration
711 # datadog.otelCollector.configMap -- Use an existing ConfigMap for DDOT Collector configuration
713 # datadog.otelCollector.configMap.name -- Name of the existing ConfigMap that contains the DDOT Collector configuration
715 # datadog.otelCollector.configMap.items -- Items within the ConfigMap that contain DDOT Collector configuration
717 # - key: otel-config.yaml
718 # path: otel-config.yaml
719 # - key: otel-config-two.yaml
720 # path: otel-config-two.yaml
721 # datadog.otelCollector.configMap.key -- Key within the ConfigMap that contains the DDOT Collector configuration
722 key: otel-config.yaml
723 # datadog.otelCollector.featureGates -- Feature gates to pass to OTel collector, as a comma separated list
725 # datadog.otelCollector.useStandaloneImage -- If true, the OTel Collector will use the `ddot-collector` image instead of the `agent` image
726 # The tag is retrieved from the `agents.image.tag` value.
727 # This is only supported for agent versions 7.67.0+
728 # If set to false, you will need to set `agents.image.tagSuffix` to `full`
729 useStandaloneImage: true
730 ## Provide OTel Collector RBAC configuration
732 # datadog.otelCollector.rbac.create -- If true, check OTel Collector config for k8sattributes processor
733 # and create required ClusterRole to access Kubernetes API
735 # datadog.otelCollector.rbac.rules -- A set of additional RBAC rules to apply to OTel Collector's ClusterRole
738 # resources: ["pods", "nodes"]
739 # verbs: ["get", "list", "watch"]
740 ## Provide OTel Collector logs configuration
742 # datadog.otelCollector.logs.enabled -- Enable logs support in the OTel Collector.
743 # If true, checks OTel Collector config for filelog receiver and mounts additional volumes to collect containers
746 ## Continuous Profiler configuration
748 ## Continuous Profiler is disabled by default and can be enabled by setting the `enabled` field to
749 ## either `auto` or `true` value under the `datadog.profiling` section.
750 ## Manually adding the `DD_PROFILING_ENABLED` variable to a pod will take precedence over the
751 ## value in the Helm chart.
752 ## These will only have an effect on containers that have Datadog client libraries installed,
753 ## either manually or via Single Step Instrumentation (under the `datadog.apm.instrumentation`
755 ## It requires Datadog Cluster Agent 7.57.0+.
757 # datadog.profiling.enabled -- Enable Continuous Profiler by injecting `DD_PROFILING_ENABLED`
758 # environment variable with the same value to all pods in the cluster
760 # - false: Profiler is turned off and can not be turned on by other means.
761 # - null: Profiler is turned off, but can be turned on by other means.
762 # - auto: Profiler is turned off, but the library will turn it on if the application is a good candidate for profiling.
763 # - true: Profiler is turned on.
765 # datadog.envFrom -- Set environment variables for all Agents directly from configMaps and/or secrets
767 ## envFrom to pass configmaps or secrets as environment
770 # name: <CONFIGMAP_NAME>
772 # name: <SECRET_NAME>
774 # datadog.env -- Set environment variables for all Agents
776 ## The Datadog Agent supports many environment variables.
777 ## ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables
779 # - name: <ENV_VAR_NAME>
780 # value: <ENV_VAR_VALUE>
782 # datadog.envDict -- Set environment variables for all Agents defined in a dict
784 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
786 # datadog.confd -- Provide additional check configurations (static and Autodiscovery)
788 ## Each key becomes a file in /conf.d
789 ## ref: https://github.com/DataDog/datadog-agent/tree/main/Dockerfiles/agent#optional-volumes
790 ## ref: https://docs.datadoghq.com/agent/autodiscovery/
797 # kubernetes_state.yaml: |-
799 # - kube-state-metrics
802 # - kube_state_url: http://%%host%%:8080/metrics
804 # datadog.checksd -- Provide additional custom checks as python code
806 ## Each key becomes a file in /checks.d
807 ## ref: https://github.com/DataDog/datadog-agent/tree/main/Dockerfiles/agent#optional-volumes
811 # datadog.dockerSocketPath -- Path to the docker socket
812 dockerSocketPath: # /var/run/docker.sock
813 # datadog.criSocketPath -- Path to the container runtime socket (if different from Docker)
814 criSocketPath: # /var/run/containerd/containerd.sock
815 # Configure how the agent interact with the host's container runtime
816 containerRuntimeSupport:
817 # datadog.containerRuntimeSupport.enabled -- Set this to false to disable agent access to container runtime.
819 ## Enable process agent and provide custom configs
821 # datadog.processAgent.enabled -- Set this to true to enable live process monitoring agent
822 # DEPRECATED. Set `datadog.processAgent.processCollection` or `datadog.processAgent.containerCollection` instead.
823 ## Note: /etc/passwd is automatically mounted when `processCollection`, `processDiscovery`, or `containerCollection` is enabled.
824 ## ref: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset
826 # datadog.processAgent.processCollection -- Set this to true to enable process collection
827 processCollection: false
828 # datadog.processAgent.stripProcessArguments -- Set this to scrub all arguments from collected processes
829 ## Requires datadog.processAgent.processCollection to be set to true to have any effect
830 ## ref: https://docs.datadoghq.com/infrastructure/process/?tab=linuxwindows#process-arguments-scrubbing
831 stripProcessArguments: false
832 # datadog.processAgent.processDiscovery -- Enables or disables autodiscovery of integrations
833 processDiscovery: true
834 # datadog.processAgent.runInCoreAgent -- Set this to true to run the following features in the core agent: Live Processes, Live Containers, Process Discovery.
835 ## This requires Agent 7.60.0+ and Linux.
836 ## DEPRECATED: This behavior will be enabled by default for installations that meet the requirements.
837 ## For Agent 7.78.0+, this setting is ignored — process checks always run in the core agent on Linux.
839 # datadog.processAgent.containerCollection -- Set this to true to enable container collection
840 ## ref: https://docs.datadoghq.com/infrastructure/containers/?tab=helm
841 containerCollection: true
842 # datadog.disableDefaultOsReleasePaths -- Set this to true to disable mounting datadog.osReleasePath in all containers
843 disableDefaultOsReleasePaths: false
844 # datadog.disablePasswdMount -- Set this to true to disable mounting /etc/passwd in all containers
845 disablePasswdMount: false
846 # datadog.osReleasePath -- Specify the path to your os-release file
847 osReleasePath: /etc/os-release
848 ## Enable systemProbe agent and provide custom configs
850 # datadog.systemProbe.debugPort -- Specify the port to expose pprof and expvar for system-probe agent
852 # datadog.systemProbe.enableConntrack -- Enable the system-probe agent to connect to the netlink/conntrack subsystem to add NAT information to connection data
854 ## ref: http://conntrack-tools.netfilter.org/
855 enableConntrack: true
856 # datadog.systemProbe.seccomp -- Apply an ad-hoc seccomp profile to the system-probe agent to restrict its privileges
858 ## Note that this will break `kubectl exec … -c system-probe -- /bin/bash`
859 seccomp: localhost/system-probe
860 # datadog.systemProbe.seccompRoot -- Specify the seccomp profile root directory
861 seccompRoot: /var/lib/kubelet/seccomp
862 # datadog.systemProbe.bpfDebug -- Enable logging for kernel debug
864 # datadog.systemProbe.apparmor -- Specify a apparmor profile for system-probe
866 # datadog.systemProbe.enableTCPQueueLength -- Enable the TCP queue length eBPF-based check
867 enableTCPQueueLength: false
868 # datadog.systemProbe.enableOOMKill -- Enable the OOM kill eBPF-based check
870 # datadog.systemProbe.mountPackageManagementDirs -- Enables mounting of specific package management directories when runtime compilation is enabled
871 mountPackageManagementDirs: []
872 ## For runtime compilation to be able to download kernel headers, the host's package management folders
873 ## must be mounted to the /host directory. For example, for Ubuntu & Debian the following mount would be necessary:
874 # - name: "apt-config-dir"
876 # mountPath: /host/etc/apt
877 ## If this list is empty, then all necessary package management directories (for all supported OSs) will be mounted.
879 # datadog.systemProbe.runtimeCompilationAssetDir -- Specify a directory for runtime compilation assets to live in
880 runtimeCompilationAssetDir: /var/tmp/datadog-agent/system-probe
881 # datadog.systemProbe.btfPath -- Specify the path to a BTF file for your kernel
883 # datadog.systemProbe.collectDNSStats -- Enable DNS stat collection
884 collectDNSStats: true
885 # datadog.systemProbe.maxTrackedConnections -- the maximum number of tracked connections
886 maxTrackedConnections: 131072
887 # datadog.systemProbe.maxConnectionStateBuffered -- Maximum number of concurrent connections for Cloud Network Monitoring
888 maxConnectionStateBuffered:
889 # datadog.systemProbe.conntrackMaxStateSize -- the maximum size of the userspace conntrack cache
890 conntrackMaxStateSize: 131072 # 2 * maxTrackedConnections by default, per https://github.com/DataDog/datadog-agent/blob/d1c5de31e1bba72dfac459aed5ff9562c3fdcc20/pkg/process/config/config.go#L229
891 # datadog.systemProbe.conntrackInitTimeout -- the time to wait for conntrack to initialize before failing
892 conntrackInitTimeout: 10s
893 # DEPRECATED. Use datadog.disableDefaultOsReleasePaths instead.
894 # datadog.systemProbe.enableDefaultOsReleasePaths -- enable default os-release files mount
895 enableDefaultOsReleasePaths: true
896 # datadog.systemProbe.enableDefaultKernelHeadersPaths -- Enable mount of default paths where kernel headers are stored
897 enableDefaultKernelHeadersPaths: true
898 containerImageCollection:
899 # datadog.containerImageCollection.enabled -- Enable collection of container image metadata
901 # This parameter requires Agent version 7.46+
903 orchestratorExplorer:
904 # datadog.orchestratorExplorer.enabled -- Set this to false to disable the orchestrator explorer
906 ## This requires processAgent.enabled and clusterAgent.enabled to be set to true
907 ## ref: TODO - add doc link
909 # datadog.orchestratorExplorer.container_scrubbing -- Enable the scrubbing of containers in the kubernetes resource YAML for sensitive information
911 ## The container scrubbing is taking significant resources during data collection.
912 ## If you notice that the cluster-agent uses too much CPU in larger clusters
913 ## turning this option off will improve the situation.
916 # datadog.orchestratorExplorer.kubelet_configuration_check.enabled -- Enable the orchestrator kubelet configuration check
918 ## this enables the collection of the kubelet configuration for viewing in the orchestrator
919 kubelet_configuration_check:
921 # datadog.orchestratorExplorer.customResources -- Defines custom resources for the orchestrator explorer to collect
923 # customResources is required for RBAC creation if a custom orchestrator explorer configuration is provided in `clusterAgent.confd` or `clusterAgent.advancedConfd`
924 # Each item should follow group/version/name, for example
926 # - datadoghq.com/v1alpha1/datadogmetrics
927 # - datadoghq.com/v1alpha1/watermarkpodautoscalers
930 # datadog.helmCheck.enabled -- Set this to true to enable the Helm check (Requires Agent 7.35.0+ and Cluster Agent 1.19.0+)
931 # This requires clusterAgent.enabled to be set to true
933 # datadog.helmCheck.collectEvents -- Set this to true to enable event collection in the Helm Check (Requires Agent 7.36.0+ and Cluster Agent 1.20.0+)
934 # This requires datadog.HelmCheck.enabled to be set to true
936 # datadog.helmCheck.valuesAsTags -- Collects Helm values from a release and uses them as tags (Requires Agent and Cluster Agent 7.40.0+).
937 # This requires datadog.HelmCheck.enabled to be set to true
939 # <HELM_VALUE>: <LABEL_NAME>
941 # datadog.networkMonitoring.enabled -- Enable Cloud Network Monitoring
943 # datadog.networkMonitoring.dnsMonitoringPorts -- List of ports to monitor for DNS traffic
944 # @default -- `[53]` (set by agent)
945 dnsMonitoringPorts: []
947 connectionsMonitoring:
948 # datadog.networkPath.connectionsMonitoring.enabled -- Enable Network Path's "Network traffic paths" feature. Requires the `traceroute` system-probe module to be enabled.
951 # datadog.networkPath.collector.workers -- Override the number of workers
953 # datadog.networkPath.collector.pathtestTTL -- Override TTL in minutes for pathtests
955 # datadog.networkPath.collector.pathtestInterval -- Override time interval between pathtest runs
957 # datadog.networkPath.collector.pathtestContextsLimit -- Override maximum number of pathtests stored to run
958 pathtestContextsLimit:
959 # datadog.networkPath.collector.pathtestMaxPerMinute -- Override limit for total pathtests run, per minute
960 pathtestMaxPerMinute:
962 # datadog.serviceMonitoring.enabled -- Enable Universal Service Monitoring
964 # datadog.serviceMonitoring.httpMonitoringEnabled -- Enable HTTP monitoring for Universal Service Monitoring (Requires Agent 7.40.0+). Empty values use the default setting in the datadog agent.
965 httpMonitoringEnabled:
966 # datadog.serviceMonitoring.http2MonitoringEnabled -- Enable HTTP2 & gRPC monitoring for Universal Service Monitoring (Requires Agent 7.53.0+ and kernel 5.2 or later). Empty values use the default setting in the datadog agent.
967 http2MonitoringEnabled:
970 # datadog.serviceMonitoring.tls.go.enabled -- (bool) Enable TLS monitoring for Golang services (Requires Agent 7.51.0+). Empty values use the default setting in the datadog agent.
973 # datadog.serviceMonitoring.tls.istio.enabled -- (bool) Enable TLS monitoring for Istio services (Requires Agent 7.50.0+). Empty values use the default setting in the datadog agent.
976 # datadog.serviceMonitoring.tls.nodejs.enabled -- (bool) Enable TLS monitoring for Node.js services (Requires Agent 7.54.0+). Empty values use the default setting in the datadog agent.
979 # datadog.serviceMonitoring.tls.native.enabled -- (bool) Enable TLS monitoring for native (openssl, libssl, gnutls) services (Requires Agent 7.51.0+). Empty values use the default setting in the datadog agent.
982 # datadog.traceroute.enabled -- (bool) Enable traceroutes in system-probe for Network Path
985 # datadog.discovery.enabled -- (bool) Enable Service Discovery. If omitted, the chart auto-enables it when the effective node Agent version resolved by the chart is >= 7.78.0, except on GKE Autopilot clusters where system-probe is not supported. If that resolution still yields a non-semver-ish tag, discovery treats it as latest. Explicit true/false always takes precedence. On supported Agent versions, the chart also enables `discovery.use_system_probe_lite` so discovery-only deployments can exec into `system-probe-lite`.
987 # datadog.discovery.networkStats.enabled -- (bool) Enable Service Discovery Network Stats
991 # datadog.gpuMonitoring.enabled -- Enable GPU monitoring core check
993 # datadog.gpuMonitoring.privilegedMode -- Enable advanced GPU metrics and monitoring via system-probe
994 # Note: system-probe component of the agent runs with elevated privileges
995 privilegedMode: false
996 # datadog.gpuMonitoring.configureCgroupPerms -- Configure cgroup permissions for GPU monitoring
997 configureCgroupPerms: false
998 # datadog.gpuMonitoring.runtimeClassName -- Runtime class name for the agent pods to get access to NVIDIA resources. Can be left empty to use the default runtime class.
999 runtimeClassName: "nvidia"
1000 # Software Bill of Materials configuration
1003 # datadog.sbom.containerImage.enabled -- Enable SBOM collection for container images
1005 # datadog.sbom.containerImage.uncompressedLayersSupport -- Use container runtime snapshotter
1006 # This should be set to true when using EKS, GKE or if containerd is configured to
1007 # discard uncompressed layers.
1008 # This feature will cause the SYS_ADMIN capability to be added to the Agent container.
1009 # Setting this to false could cause a high error rate when generating SBOMs due to missing uncompressed layer.
1010 # See https://docs.datadoghq.com/security/cloud_security_management/troubleshooting/vulnerabilities/#uncompressed-container-image-layers
1011 uncompressedLayersSupport: true
1012 # datadog.sbom.containerImage.overlayFSDirectScan -- Use experimental overlayFS direct scan
1013 overlayFSDirectScan: false
1014 # datadog.sbom.containerImage.containerExclude -- Exclude containers from SBOM generation, as a space-separated list
1016 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#exclude-containers
1017 containerExclude: # "image:datadog/agent"
1018 # datadog.sbom.containerImage.containerInclude -- Include containers in SBOM generation, as a space-separated list.
1019 # If a container matches an include rule, it’s always included in SBOM generation
1021 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#include-containers
1023 # datadog.sbom.containerImage.analyzers -- List of analyzers to use for container image SBOM generation
1027 # datadog.sbom.host.enabled -- Enable SBOM collection for host filesystems
1029 # datadog.sbom.host.analyzers -- List of analyzers to use for host SBOM generation
1034 # datadog.sbom.enrichment.usage.enabled -- Enable runtime "package in use" SBOM enrichment.
1035 # Requires the system-probe container (auto-enabled when set to true) for eBPF-based file
1036 # access tracking, and sets `hostPID: true` on the agent pod. Requires Agent 7.79.0+.
1038 ## Enable security agent and provide custom configs
1041 # datadog.securityAgent.compliance.enabled -- Set to true to enable Cloud Security Posture Management (CSPM)
1043 # datadog.securityAgent.compliance.configMap -- Contains CSPM compliance benchmarks that will be used
1045 # datadog.securityAgent.compliance.checkInterval -- Compliance check run interval
1047 # datadog.securityAgent.compliance.containerInclude -- Include containers in CSPM monitoring, as a space-separated list.
1048 # If a container matches an include rule, it’s always included
1050 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#include-containers
1052 # DEPRECATED. Use datadog.securityAgent.compliance.host_benchmarks.enabled instead.
1055 # datadog.securityAgent.compliance.host_benchmarks.enabled -- Set to false to disable host benchmarks. If enabled, this feature requires 160 MB extra memory for the `security-agent` container. (Requires Agent 7.47.0+)
1058 # datadog.securityAgent.compliance.runInSystemProbe -- Set to true to run compliance checks in system-probe instead of security-agent.
1059 # When enabled in conjunction with datadog.securityAgent.runtime.directSendFromSystemProbe, the security-agent container will not be created.
1060 runInSystemProbe: false
1062 # datadog.securityAgent.runtime.enabled -- Set to true to enable Cloud Workload Security (CWS)
1064 # datadog.securityAgent.runtime.fimEnabled -- Set to true to enable Cloud Workload Security (CWS) File Integrity Monitoring
1065 # DEPRECATED. This option has no effect. Cloud Workload Security is now only controlled by datadog.securityAgent.runtime.enabled.
1067 # datadog.securityAgent.runtime.useSecruntimeTrack -- Set to true to send Cloud Workload Security (CWS) events directly to the Agent events explorer. This value shouldn't be changed unless advised by Datadog support.
1068 useSecruntimeTrack: true
1069 # datadog.securityAgent.runtime.directSendFromSystemProbe -- Set to true to enable direct sending of CWS events from system-probe to Datadog, bypassing security-agent.
1070 # When enabled, the security-agent container will not be created for CWS functionality (it may still be created if compliance features are enabled).
1071 directSendFromSystemProbe: false
1072 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#exclude-containers
1073 containerExclude: # "image:datadog/agent"
1074 # datadog.securityAgent.runtime.containerInclude -- Include containers in runtime security monitoring, as a space-separated list.
1075 # If a container matches an include rule, it’s always included
1077 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#include-containers
1080 # datadog.securityAgent.runtime.policies.configMap -- Contains CWS policies that will be used
1083 # datadog.securityAgent.runtime.syscallMonitor.enabled -- Set to true to enable the Syscall monitoring (recommended for troubleshooting only)
1086 # datadog.securityAgent.runtime.network.enabled -- Set to true to enable the collection of CWS network events
1089 # datadog.securityAgent.runtime.activityDump.enabled -- Set to true to enable the collection of CWS activity dumps
1091 # datadog.securityAgent.runtime.activityDump.tracedCgroupsCount -- Set to the number of containers that should be traced concurrently
1092 tracedCgroupsCount: 3
1093 # datadog.securityAgent.runtime.activityDump.cgroupDumpTimeout -- Set to the desired duration of a single container tracing (in minutes)
1094 cgroupDumpTimeout: 20
1095 # datadog.securityAgent.runtime.activityDump.cgroupWaitListSize -- Set to the size of the wait list for already traced containers
1096 cgroupWaitListSize: 0
1098 # datadog.securityAgent.runtime.activityDump.pathMerge.enabled -- Set to true to enable the merging of similar paths
1101 # datadog.securityAgent.runtime.securityProfile.enabled -- Set to true to enable CWS runtime security profiles
1104 # datadog.securityAgent.runtime.securityProfile.anomalyDetection.enabled -- Set to true to enable CWS runtime drift events
1107 # datadog.securityAgent.runtime.securityProfile.autoSuppression.enabled -- Set to true to enable CWS runtime auto suppression
1110 # datadog.securityAgent.runtime.enforcement.enabled -- Set to false to disable CWS runtime enforcement
1112 ## Manage NetworkPolicy
1114 # datadog.networkPolicy.create -- If true, create NetworkPolicy for all the components
1116 # datadog.networkPolicy.flavor -- Flavor of the network policy to use.
1118 # * kubernetes for networking.k8s.io/v1/NetworkPolicy
1119 # * cilium for cilium.io/v2/CiliumNetworkPolicy
1122 # datadog.networkPolicy.cilium.dnsSelector -- Cilium selector of the DNS server entity
1123 # @default -- kube-dns in namespace kube-system
1127 "k8s:io.kubernetes.pod.namespace": kube-system
1128 "k8s:k8s-app": kube-dns
1129 ## Configure prometheus scraping autodiscovery
1131 ## ref: https://docs.datadoghq.com/agent/kubernetes/prometheus/
1133 # datadog.prometheusScrape.enabled -- Enable autodiscovering pods and services exposing prometheus metrics.
1135 # datadog.prometheusScrape.serviceEndpoints -- Enable generating dedicated checks for service endpoints.
1136 serviceEndpoints: false
1137 # datadog.prometheusScrape.additionalConfigs -- Allows adding advanced openmetrics check configurations with custom discovery rules. (Requires Agent version 7.27+)
1138 additionalConfigs: []
1141 # kubernetes_annotations:
1143 # custom_include_label: 'true'
1145 # custom_exclude_label: 'true'
1146 # kubernetes_container_names:
1149 # - send_distribution_buckets: true
1151 # datadog.prometheusScrape.version -- Version of the openmetrics check to schedule by default.
1153 # See https://datadoghq.dev/integrations-core/legacy/prometheus/#config-changes-between-versions for the differences between the two versions.
1154 # (Version 2 requires Agent version 7.34+)
1156 # datadog.ignoreAutoConfig -- List of integration to ignore auto_conf.yaml.
1158 ## ref: https://docs.datadoghq.com/agent/faq/auto_conf/
1159 ignoreAutoConfig: []
1161 # - kubernetes_state
1163 # datadog.containerExclude -- Exclude containers from Agent Autodiscovery, as a space-separated list
1165 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#exclude-containers
1166 containerExclude: # "image:datadog/agent"
1167 # datadog.containerInclude -- Include containers in Agent Autodiscovery, as a space-separated list.
1168 # If a container matches an include rule, it’s always included in Autodiscovery
1170 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#include-containers
1172 # datadog.containerExcludeLogs -- Exclude logs from Agent Autodiscovery, as a space-separated list
1173 containerExcludeLogs:
1174 # datadog.containerIncludeLogs -- Include logs in Agent Autodiscovery, as a space-separated list
1175 containerIncludeLogs:
1176 # datadog.containerExcludeMetrics -- Exclude metrics from Agent Autodiscovery, as a space-separated list
1177 containerExcludeMetrics:
1178 # datadog.containerIncludeMetrics -- Include metrics in Agent Autodiscovery, as a space-separated list
1179 containerIncludeMetrics:
1180 # datadog.celWorkloadExclude -- Exclude workloads using a CEL-based definition in the Agent. (Requires Agent 7.73.0+)
1181 # ref: https://docs.datadoghq.com/containers/guide/container-discovery-management/
1183 # datadog.excludePauseContainer -- Exclude pause containers from Agent Autodiscovery.
1185 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#pause-containers
1186 excludePauseContainer: true
1188 # datadog.containerLifecycle.enabled -- Enable container lifecycle events collection
1191 # datadog.csi.enabled -- Enable datadog csi driver
1192 # Requires version 7.67 or later of the cluster agent
1194 # - When set to true, the CSI driver subchart will be installed automatically.
1195 # - Do not install the CSI driver separately if this is enabled, or you may hit conflicts.
1198 # datadog.dataPlane.enabled -- Whether or not the data plane is enabled
1200 # Requires version 7.74 or later of the Datadog Agent.
1202 # The data plane feature is currently in preview. Please reach out to your Datadog representative for more information.
1205 # datadog.dataPlane.dogstatsd.enabled -- Whether or not DogStatsD is enabled in the data plane
1208 ## * Enable the Datadog Operator chart dependency.
1209 ## * Configure the Datadog Operator sub-chart using the values config, `operator`.
1210 ## For all available Operator chart options see: https://github.com/DataDog/helm-charts/blob/main/charts/datadog-operator/values.yaml
1212 # datadog.operator.enabled -- Enable the Datadog Operator.
1214 # datadog.operator.migration.enabled -- Enable migration of Agent workloads to be managed by the Datadog Operator.
1215 # Creates a DatadogAgent manifest based on current release's values.yaml.
1218 # datadog.operator.migration.preview -- Set to true to preview the DatadogAgent manifest mapped from the
1219 # Helm release's values.yaml. Mapped DatadogAgent manifest can be viewed by checking the `dda-mapper`
1220 # container logs in the migration job.
1222 # datadog.operator.migration.userValues -- Provide datadog chart values as a YAML string to be mapped to the DatadogAgent manifest.
1223 # Use --set-file to pass the file contents: helm install datadog ./charts/datadog --set-file datadog.operator.migration.userValues=myValues.yaml -f myValues.yaml
1225 # Configuration related to Dynamic Instrumentation for Go services.
1226 dynamicInstrumentationGo:
1227 # datadog.dynamicInstrumentationGo.enabled -- Enable Dynamic Instrumentation and Live Debugger for Go services.
1229 # Configuration related to Workload Autoscaling
1232 # datadog.autoscaling.workload.enabled -- Enable Workload Autoscaling.
1234## This is the Datadog Cluster Agent implementation that handles cluster-wide
1235## metrics more cleanly, separates concerns for better rbac, and implements
1236## the external metrics API so you can autoscale HPAs based on datadog metrics
1237## ref: https://docs.datadoghq.com/agent/kubernetes/cluster/
1239 # clusterAgent.enabled -- Set this to false to disable Datadog Cluster Agent
1241 # clusterAgent.shareProcessNamespace -- Set the process namespace sharing on the Datadog Cluster Agent
1242 shareProcessNamespace: false
1243 ## Define the Datadog Cluster-Agent image to work with
1245 # clusterAgent.image.name -- Cluster Agent image name to use (relative to `registry`)
1246 name: chainguard-private/datadog-cluster-agent-fips
1247 # clusterAgent.image.tag -- Cluster Agent image tag to use
1248 tag: latest@sha256:6b4fa9c700b4191b1d4601a4cc25d01dc5225220ad941baad38901bccf4cd917
1249 # clusterAgent.image.digest -- Cluster Agent image digest to use, takes precedence over tag if specified
1251 # clusterAgent.image.repository -- Override default registry + image.name for Cluster Agent
1253 # clusterAgent.image.pullPolicy -- Cluster Agent image pullPolicy
1254 pullPolicy: IfNotPresent
1255 # clusterAgent.image.pullSecrets -- Cluster Agent repository pullSecret (ex: specify docker registry credentials)
1257 ## See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
1259 # - name: "<REG_SECRET>"
1261 # clusterAgent.image.doNotCheckTag -- Skip the version and chart compatibility check
1263 ## By default, the version passed in clusterAgent.image.tag is checked
1264 ## for compatibility with the version of the chart.
1265 ## This boolean permits completely skipping this check.
1266 ## This is useful, for example, for custom tags that are not
1267 ## respecting semantic versioning.
1268 doNotCheckTag: # false
1269 # clusterAgent.securityContext -- Allows you to overwrite the default PodSecurityContext on the cluster-agent pods.
1273 # clusterAgent.containers.clusterAgent.securityContext -- Specify securityContext on the cluster-agent container.
1275 allowPrivilegeEscalation: false
1276 readOnlyRootFilesystem: true
1278 # clusterAgent.containers.initContainers.securityContext -- Specify securityContext on the initContainers.
1280 # clusterAgent.containers.initContainers.resources -- Resource requests and limits for the Cluster Agent init containers
1288 # clusterAgent.command -- Command to run in the Cluster Agent container as entrypoint
1290 # clusterAgent.token -- Cluster Agent token is a preshared key between node agents and cluster agent (autogenerated if empty, needs to be at least 32 characters a-zA-z)
1292 # clusterAgent.tokenExistingSecret -- Existing secret name to use for Cluster Agent token. Put the Cluster Agent token in a key named `token` inside the Secret
1293 tokenExistingSecret: ""
1294 # clusterAgent.replicas -- Specify the of cluster agent replicas, if > 1 it allow the cluster agent to work in HA mode.
1296 # clusterAgent.revisionHistoryLimit -- The number of old ReplicaSets to keep in this Deployment.
1297 revisionHistoryLimit: 10
1298 ## Provide Cluster Agent Deployment pod(s) RBAC configuration
1300 # clusterAgent.rbac.create -- If true, create & use RBAC resources
1302 # clusterAgent.rbac.flareAdditionalPermissions -- If true, add Secrets and Configmaps get/list permissions to retrieve user Datadog Helm values from Cluster Agent namespace
1303 flareAdditionalPermissions: true
1304 # clusterAgent.rbac.serviceAccountName -- Specify a preexisting ServiceAccount to use if clusterAgent.rbac.create is false
1305 serviceAccountName: default
1306 # clusterAgent.rbac.serviceAccountAnnotations -- Annotations to add to the ServiceAccount if clusterAgent.rbac.create is true
1307 serviceAccountAnnotations: {}
1308 # clusterAgent.rbac.serviceAccountAdditionalLabels -- Labels to add to the ServiceAccount if clusterAgent.rbac.create is true
1309 serviceAccountAdditionalLabels: {}
1310 # clusterAgent.rbac.automountServiceAccountToken -- If true, automatically mount the ServiceAccount's API credentials if clusterAgent.rbac.create is true
1311 automountServiceAccountToken: true
1312 ## Provide Cluster Agent pod security configuration
1315 # clusterAgent.podSecurity.podSecurityPolicy.create -- If true, create a PodSecurityPolicy resource for Cluster Agent pods
1317 securityContextConstraints:
1318 # clusterAgent.podSecurity.securityContextConstraints.create -- If true, create a SCC resource for Cluster Agent pods
1320 # Enable the metricsProvider to be able to scale based on metrics in Datadog
1322 # clusterAgent.metricsProvider.enabled -- Set this to true to enable Metrics Provider
1324 # clusterAgent.metricsProvider.registerAPIService -- Set this to false to disable external metrics registration as an APIService
1325 registerAPIService: true
1326 # clusterAgent.metricsProvider.wpaController -- Enable informer and controller of the watermark pod autoscaler
1328 ## Note: You need to install the `WatermarkPodAutoscaler` CRD before
1329 wpaController: false
1330 # clusterAgent.metricsProvider.useDatadogMetrics -- Enable usage of DatadogMetric CRD to autoscale on arbitrary Datadog queries
1332 ## Note: It will install DatadogMetrics CRD automatically (it may conflict with previous installations)
1333 useDatadogMetrics: false
1334 # clusterAgent.metricsProvider.createReaderRbac -- Create `external-metrics-reader` RBAC automatically (to allow HPA to read data from Cluster Agent)
1335 createReaderRbac: true
1336 # clusterAgent.metricsProvider.aggregator -- Define the aggregator the cluster agent will use to process the metrics. The options are (avg, min, max, sum)
1338 ## Configuration for the service for the cluster-agent metrics server
1340 # clusterAgent.metricsProvider.service.type -- Set type of cluster-agent metrics server service
1342 # clusterAgent.metricsProvider.service.port -- Set port of cluster-agent metrics server service (Kubernetes >= 1.15)
1344 # clusterAgent.metricsProvider.endpoint -- Override the external metrics provider endpoint. If not set, the cluster-agent defaults to `datadog.site`
1345 endpoint: # https://api.datadoghq.com
1346 # clusterAgent.env -- Set environment variables specific to Cluster Agent
1348 ## The Cluster-Agent supports many additional environment variables
1349 ## ref: https://docs.datadoghq.com/agent/cluster_agent/commands/#cluster-agent-options
1351 # clusterAgent.envFrom -- Set environment variables specific to Cluster Agent from configMaps and/or secrets
1353 ## The Cluster-Agent supports many additional environment variables
1354 ## ref: https://docs.datadoghq.com/agent/cluster_agent/commands/#cluster-agent-options
1357 # name: <CONFIGMAP_NAME>
1359 # name: <SECRET_NAME>
1361 # clusterAgent.envDict -- Set environment variables specific to Cluster Agent defined in a dict
1363 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
1365 admissionController:
1366 # clusterAgent.admissionController.enabled -- Enable the admissionController to be able to inject APM/Dogstatsd config and standard tags (env, service, version) automatically into your pods
1368 # clusterAgent.admissionController.validation -- Validation Webhook configuration options
1370 # clusterAgent.admissionController.validation.enabled -- Enabled enables the Admission Controller validation webhook. Default: true. (Requires Agent 7.59.0+).
1372 # clusterAgent.admissionController.mutation -- Mutation Webhook configuration options
1374 # clusterAgent.admissionController.mutation.enabled -- Enabled enables the Admission Controller mutation webhook. Default: true. (Requires Agent 7.59.0+).
1376 # clusterAgent.admissionController.webhookName -- Name of the validatingwebhookconfiguration and mutatingwebhookconfiguration created by the cluster-agent
1377 webhookName: datadog-webhook
1378 # clusterAgent.admissionController.mutateUnlabelled -- Enable injecting config without having the pod label 'admission.datadoghq.com/enabled="true"'
1379 mutateUnlabelled: false
1380 # clusterAgent.admissionController.configMode -- The kind of configuration to be injected, it can be "hostip", "service", "socket" or "csi".
1382 ## If clusterAgent.admissionController.configMode is not set:
1383 ## * and datadog.apm.socketEnabled is true, the Admission Controller uses socket.
1384 ## * and datadog.apm.portEnabled is true, the Admission Controller uses hostip.
1385 ## * and datadog.apm.useLocalService is true and the aformentioned two are false, the Admission Controller uses service.
1386 ## * Otherwise, the Admission Controller defaults to hostip.
1387 ## Note: "service" mode relies on the internal traffic service to target the agent running on the local node (requires Kubernetes v1.22+).
1388 ## Note: "csi" mode requires enabling csi with `datadog.csi.enabled`. If not set, the admission controller will fallback to "socket" mode.
1389 ## Note: "csi" mode requires version 7.65 or later of the cluster agent.
1390 ## ref: https://docs.datadoghq.com/agent/cluster_agent/admission_controller/#configure-apm-and-dogstatsd-communication-mode
1391 configMode: # "hostip", "socket", "csi" or "service"
1392 # clusterAgent.admissionController.failurePolicy -- Set the failure policy for dynamic admission control.'
1394 ## The default of Ignore means that pods will still be admitted even if the webhook is unavailable to inject them.
1395 ## Setting to Fail will require the admission controller to be present and pods to be injected before they are allowed to run.
1396 failurePolicy: Ignore
1397 # clusterAgent.admissionController.containerRegistry -- Override the default registry for the admission controller.
1399 ## The clusterAgent uses this configuration for apm.instrumentation, agentSidecar, and cwsInstrumentation, if
1400 ## not otherwise specified.
1402 remoteInstrumentation:
1403 # clusterAgent.admissionController.remoteInstrumentation.enabled -- Enable polling and applying library injection using Remote Config.
1404 ## This feature is in beta, and enables Remote Config in the Cluster Agent. It also requires Cluster Agent version 7.43+.
1405 ## Enabling this feature grants the Cluster Agent the permissions to patch Deployment objects in the cluster.
1407 # clusterAgent.admissionController.port -- Set port of cluster-agent admission controller service
1410 # clusterAgent.admissionController.cwsInstrumentation.enabled -- Enable the CWS Instrumentation admission controller endpoint.
1412 # clusterAgent.admissionController.cwsInstrumentation.mode -- Mode defines how the CWS Instrumentation should behave.
1413 # Options are "remote_copy" or "init_container"
1415 kubernetesAdmissionEvents:
1416 # clusterAgent.admissionController.kubernetesAdmissionEvents.enabled -- Enable the Kubernetes Admission Events feature.
1419 # clusterAgent.admissionController.probe.enabled -- Enable the admission controller connectivity probe.
1420 ## The probe periodically sends dry-run ConfigMap creation requests to verify the webhook is reachable from the API server.
1421 ## (Requires Cluster Agent 7.78.0+).
1423 # clusterAgent.admissionController.probe.interval -- Seconds between probe executions.
1425 # clusterAgent.admissionController.probe.gracePeriod -- Seconds to wait at startup before the first probe.
1427 agentSidecarInjection:
1428 # clusterAgent.admissionController.agentSidecarInjection.enabled -- Enables Datadog Agent sidecar injection.
1430 ## When enabled, the admission controller mutating webhook will inject an Agent sidecar with minimal configuration in every pod meeting the configured criteria.
1432 # clusterAgent.admissionController.agentSidecarInjection.provider -- Used by the admission controller to add infrastructure provider-specific configurations to the Agent sidecar.
1434 ## Currently only "fargate" is supported. To use the feature in other environments (including local testing) omit the config.
1435 ## ref: https://docs.datadoghq.com/integrations/eks_fargate
1437 # clusterAgent.admissionController.agentSidecarInjection.clusterAgentCommunicationEnabled -- Enable communication between Agent sidecars and the Cluster Agent.
1438 clusterAgentCommunicationEnabled: true
1439 # clusterAgent.admissionController.agentSidecarInjection.clusterAgentTlsVerification -- TLS verification configuration for sidecar-to-cluster-agent communication.
1440 clusterAgentTlsVerification:
1441 # clusterAgent.admissionController.agentSidecarInjection.clusterAgentTlsVerification.enabled -- Enable TLS verification for Agent sidecars communicating with the Cluster Agent.
1443 # clusterAgent.admissionController.agentSidecarInjection.clusterAgentTlsVerification.copyCaConfigMap -- Enable automatic creation of a ConfigMap containing the Cluster Agent's CA certificate in namespaces where sidecar injection occurs.
1444 copyCaConfigMap: false
1445 # clusterAgent.admissionController.agentSidecarInjection.containerRegistry -- Override the default registry for the sidecar Agent.
1447 # clusterAgent.admissionController.imageName -- Override the default agents.image.name for the Agent sidecar.
1449 # clusterAgent.admissionController.imageTag -- Override the default agents.image.tag for the Agent sidecar.
1451 # clusterAgent.admissionController.agentSidecarInjection.selectors -- Defines the pod selector for sidecar injection, currently only one rule is supported.
1455 # "podlabelKey1": podlabelValue1
1456 # "podlabelKey2": podlabelValue2
1457 # namespaceSelector:
1459 # "nsLabelKey1": nsLabelValue1
1460 # "nsLabelKey2": nsLabelValue2
1462 # clusterAgent.admissionController.agentSidecarInjection.profiles -- Defines the sidecar configuration override, currently only one profile is supported.
1464 ## This setting allows overriding the sidecar Agent configuration by adding environment variables and providing resource settings.
1467 # - name: DD_ORCHESTRATOR_EXPLORER_ENABLED
1476 # clusterAgent.confd -- Provide additional cluster check configurations. Each key will become a file in /conf.d.
1478 ## ref: https://docs.datadoghq.com/agent/autodiscovery/
1481 # cluster_check: true
1483 # - host: <EXTERNAL_IP>
1486 # password: <YOUR_CHOSEN_PASSWORD>
1488 # clusterAgent.advancedConfd -- Provide additional cluster check configurations. Each key is an integration containing several config files.
1490 ## ref: https://docs.datadoghq.com/agent/autodiscovery/
1494 # cluster_check: true
1496 # - host: <EXTERNAL_IP>
1499 # password: <YOUR_CHOSEN_PASSWORD>
1501 # cluster_check: true
1503 # - host: <EXTERNAL_IP>
1506 # password: <YOUR_CHOSEN_PASSWORD>
1508 ## clusterAgent.kubernetesApiserverCheck -- correspond to options for configuring the kube_apiserver integration.
1509 kubernetesApiserverCheck:
1510 # clusterAgent.kubernetesApiserverCheck.disableUseComponentStatus -- Set this to true to disable use_component_status for the kube_apiserver integration.
1511 disableUseComponentStatus: false
1512 # clusterAgent.resources -- Datadog cluster-agent resource requests and limits.
1521 # clusterAgent.priorityClassName -- Name of the priorityClass to apply to the Cluster Agent
1522 priorityClassName: # system-cluster-critical
1523 # clusterAgent.nodeSelector -- Allow the Cluster Agent Deployment to be scheduled on selected nodes
1525 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
1526 ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
1528 # clusterAgent.tolerations -- Allow the Cluster Agent Deployment to schedule on tainted nodes ((requires Kubernetes >= 1.6))
1530 ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
1532 # clusterAgent.affinity -- Allow the Cluster Agent Deployment to schedule using affinity rules
1534 ## By default, Cluster Agent Deployment Pods are forced to run on different Nodes.
1535 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
1537 # clusterAgent.topologySpreadConstraints -- Allow the Cluster Agent Deployment to schedule using pod topology spreading
1539 ## By default, no constraints are set, allowing cluster defaults to be used for scheduling
1540 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
1541 topologySpreadConstraints: []
1542 # clusterAgent.healthPort -- Port number to use in the Cluster Agent for the healthz endpoint
1544 privateActionRunner:
1545 # clusterAgent.privateActionRunner.enabled -- Enable the Private Action Runner to execute workflow actions
1547 # clusterAgent.privateActionRunner.selfEnroll -- Enable self-enrollment for the Private Action Runner
1548 ## When enabled, the runner will automatically register itself with Datadog using the provided API/APP keys
1549 ## and store its identity in a Kubernetes secret. Requires leader election to be enabled.
1551 # clusterAgent.privateActionRunner.identitySecretName -- Name of the Kubernetes secret used to store PAR identity when self-enrollment is enabled
1552 ## The Cluster Agent will create and manage this secret for storing the enrolled runner's URN and private key
1553 ## RBAC permissions are granted specifically for this secret name
1554 identitySecretName: "datadog-private-action-runner-identity"
1555 # clusterAgent.privateActionRunner.urn -- URN of the Private Action Runner (required if selfEnroll is false)
1556 ## Format: urn:datadog:private-action-runner:organization:<org_id>:runner:<runner_id>
1557 urn: # "urn:datadog:private-action-runner:organization:123456:runner:abc-def"
1558 # clusterAgent.privateActionRunner.privateKey -- Private key for the Private Action Runner (required if selfEnroll is false)
1559 ## This key is used to authenticate the runner with Datadog
1560 privateKey: # "<PRIVATE_KEY>"
1561 # clusterAgent.privateActionRunner.identityFromExistingSecret -- Use existing Secret which stores the Private Action Runner URN and private key
1562 ## The secret should contain 'urn' and 'private_key' keys
1563 ## If set, this parameter takes precedence over "urn" and "privateKey"
1564 identityFromExistingSecret: # "<PAR_SECRET_NAME>"
1565 # clusterAgent.privateActionRunner.actionsAllowlist -- List of actions executable by the Private Action Runner
1566 actionsAllowlist: []
1567 # - "com.datadoghq.http.request"
1568 # - "com.datadoghq.kubernetes.core.*"
1570 # clusterAgent.privateActionRunner.k8sRemediationEnabled -- Enable k8s remediation RBAC for the Private Action Runner
1571 ## When enabled, a ClusterRole and ClusterRoleBinding are created granting the Cluster Agent
1572 ## permissions to read/patch workloads (Deployments, DaemonSets, StatefulSets, ReplicaSets, Pods)
1573 ## and manage ConfigMaps and Events cluster-wide.
1574 k8sRemediationEnabled: false
1575 # clusterAgent.livenessProbe -- Override default Cluster Agent liveness probe settings
1576 # @default -- Every 15s / 6 KO / 1 OK
1578 initialDelaySeconds: 15
1583 # clusterAgent.readinessProbe -- Override default Cluster Agent readiness probe settings
1584 # @default -- Every 15s / 6 KO / 1 OK
1586 initialDelaySeconds: 15
1591 # clusterAgent.startupProbe -- Override default Cluster Agent startup probe settings
1592 # @default -- Every 15s / 6 KO / 1 OK
1594 initialDelaySeconds: 15
1599 # clusterAgent.strategy -- Allow the Cluster Agent deployment to perform a rolling update on helm update
1601 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
1607 # clusterAgent.deploymentAnnotations -- Annotations to add to the cluster-agents's deployment
1608 deploymentAnnotations: {}
1611 # clusterAgent.podAnnotations -- Annotations to add to the cluster-agents's pod(s)
1615 # clusterAgent.useHostNetwork -- Bind ports on the hostNetwork
1617 ## Useful for CNI networking where hostPort might
1618 ## not be supported. The ports need to be available on all hosts. It can be
1619 ## used for custom metrics instead of a service endpoint.
1621 ## WARNING: Make sure that hosts using this are properly firewalled otherwise
1622 ## metrics and traces are accepted from any host able to connect to this host.
1624 useHostNetwork: false
1625 # clusterAgent.dnsConfig -- Specify dns configuration options for datadog cluster agent containers e.g ndots
1627 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
1633 # clusterAgent.volumes -- Specify additional volumes to mount in the cluster-agent container
1637 # name: <VOLUME_NAME>
1639 # clusterAgent.volumeMounts -- Specify additional volumes to mount in the cluster-agent container
1641 # - name: <VOLUME_NAME>
1642 # mountPath: <CONTAINER_PATH>
1645 # clusterAgent.datadog_cluster_yaml -- Specify custom contents for the datadog cluster agent config (datadog-cluster.yaml)
1646 datadog_cluster_yaml: {}
1647 # clusterAgent.createPodDisruptionBudget -- Create pod disruption budget for Cluster Agent deployments
1648 # DEPRECATED. Use clusterAgent.pdb.create instead
1649 createPodDisruptionBudget: false
1651 # clusterAgent.pdb.create -- Enable pod disruption budget for Cluster Agent deployments.
1653 ## Only one of `minAvailable` or `maxUnavailable` can be set. More information: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
1654 ## By default, minAvailable is set to 1 for cluster agent.
1656 # clusterAgent.pdb.minAvailable -- Minimum number of pods that must remain available during a disruption -- default to 1
1658 # clusterAgent.pdb.maxUnavailable -- Maximum number of pods that can be unavailable during a disruption
1661 # clusterAgent.networkPolicy.create -- If true, create a NetworkPolicy for the cluster agent.
1662 # DEPRECATED. Use datadog.networkPolicy.create instead
1664 # clusterAgent.additionalLabels -- Adds labels to the Cluster Agent deployment and pods
1665 additionalLabels: {}
1668 # clusterAgent.containerExclude -- Exclude containers from the Cluster Agent
1669 # Autodiscovery, as a space-separated list. (Requires Agent/Cluster Agent 7.50.0+)
1671 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#exclude-containers
1672 containerExclude: # "image:datadog/agent"
1673 # clusterAgent.containerInclude -- Include containers in the Cluster Agent Autodiscovery,
1674 # as a space-separated list. If a container matches an include rule, it’s
1675 # always included in the Autodiscovery. (Requires Agent/Cluster Agent 7.50.0+)
1677 ## ref: https://docs.datadoghq.com/agent/guide/autodiscovery-management/?tab=containerizedagent#include-containers
1679 # clusterAgent.celWorkloadExclude -- Exclude workloads using a CEL-based definition in the Cluster Agent. (Requires Agent 7.73.0+)
1680 # ref: https://docs.datadoghq.com/containers/guide/container-discovery-management/
1682## This section lets you configure the agents deployed by this chart to connect to a Cluster Agent
1683## deployed independently
1684existingClusterAgent:
1685 # existingClusterAgent.join -- set this to true if you want the agents deployed by this chart to
1686 # connect to a Cluster Agent deployed independently
1688 # existingClusterAgent.tokenSecretName -- Existing secret name to use for external Cluster Agent token
1689 tokenSecretName: # <EXISTING_DCA_SECRET_NAME>
1690 # existingClusterAgent.serviceName -- Existing service name to use for reaching the external Cluster Agent
1691 serviceName: # <EXISTING_DCA_SERVICE_NAME>
1692 # existingClusterAgent.clusterchecksEnabled -- set this to false if you don’t want the agents to run the cluster checks of the joined external cluster agent
1693 clusterchecksEnabled: true
1694# useFIPSAgent -- Setting useFIPSAgent to true makes the helm chart use Agent images that are FIPS-compliant for use in GOVCLOUD environments.
1695# Setting this to true disables the fips-proxy sidecar and is the recommended method for enabling FIPS compliance.
1697## fips is used to enable and configure the fips-proxy sidecar.
1699 # fips.enabled -- Enable fips proxy sidecar.
1700 # The fips-proxy method is getting phased out in favor of FIPS-compliant images (refer to the `useFIPSAgent` setting).
1702 # TODO: Option to override config of the FIPS side car: /etc/datadog-fips-proxy/datadog-fips-proxy.cfg
1703 # customConfig: false
1705 # fips.port -- Specifies which port is used by the containers to communicate to the FIPS sidecar.
1706 # This setting is only used for the fips-proxy sidecar.
1708 # fips.portRange -- Specifies the number of ports used, defaults to 13 https://github.com/DataDog/datadog-agent/blob/7.44.x/pkg/config/config.go#L1564-L1577.
1709 # This setting is only used for the fips-proxy sidecar.
1711 # fips.use_https -- Option to enable https.
1712 # This setting is only used for the fips-proxy sidecar.
1714 # fips.resources -- Resource requests and limits for the FIPS sidecar container.
1715 # This setting is only used for the fips-proxy sidecar.
1724 # fips.local_address -- Set local IP address.
1725 # This setting is only used for the fips-proxy sidecar.
1726 local_address: "127.0.0.1"
1727 ## Define the Datadog image to work with
1729 ## fips.image.name -- Define the FIPS sidecar container image name.
1731 # fips.image.tag -- Define the FIPS sidecar container version to use.
1733 # fips.image.pullPolicy -- Datadog the FIPS sidecar image pull policy
1734 pullPolicy: IfNotPresent
1735 # fips.image.digest -- Define the FIPS sidecar image digest to use, takes precedence over `fips.image.tag` if specified.
1737 # fips.image.repository -- Override default registry + image.name for the FIPS sidecar container.
1739 # fips.customFipsConfig -- Configure a custom configMap to provide the FIPS configuration. Specify custom contents for the FIPS proxy sidecar container config (/etc/datadog-fips-proxy/datadog-fips-proxy.cfg). If empty, the default FIPS proxy sidecar container config is used.
1741 ## Note: Use `|` to declare multi-line configuration.
1742 ## ref: https://docs.datadoghq.com/agent/guide/agent-fips-proxy
1743 customFipsConfig: {} # |
1747 # agents.enabled -- You should keep Datadog DaemonSet enabled!
1749 ## The exceptional case could be a situation when you need to run
1750 ## single Datadog pod per every namespace, but you do not need to
1751 ## re-create a DaemonSet for every non-default namespace install.
1752 ## Note: StatsD and DogStatsD work over UDP, so you may not
1753 ## get guaranteed delivery of the metrics in Datadog-per-namespace setup!
1755 # agents.shareProcessNamespace -- Set the process namespace sharing on the Datadog Daemonset
1756 shareProcessNamespace: false
1757 # agents.revisionHistoryLimit -- The number of ControllerRevision to keep in this DaemonSet.
1758 revisionHistoryLimit: 10
1759 ## Define the Datadog image to work with
1761 # agents.image.name -- Datadog Agent image name to use (relative to `registry`)
1763 ## use "dogstatsd" for Standalone Datadog Agent DogStatsD 7
1764 name: chainguard-private/datadog-agent-fips
1765 # agents.image.tag -- Define the Agent version to use
1766 tag: latest@sha256:f100f2a7dbdb6edb7c7a88955f7e928b2b2d17dff23358535840dcc8bf087ba6
1767 # agents.image.digest -- Define Agent image digest to use, takes precedence over tag if specified
1769 # agents.image.tagSuffix -- Suffix to append to Agent tag
1772 ## jmx to enable jmx fetch collection
1773 ## servercore to get Windows images based on servercore
1774 ## full to get as many features as possible, currently ddot-collector and jmx (e.g. 7.67.0-full)
1776 # agents.image.repository -- Override default registry + image.name for Agent
1778 # agents.image.doNotCheckTag -- Skip the version and chart compatibility check
1780 ## By default, the version passed in agents.image.tag is checked
1781 ## for compatibility with the version of the chart.
1782 ## This boolean permits to completely skip this check.
1783 ## This is useful, for example, for custom tags that are not
1784 ## respecting semantic versioning
1785 doNotCheckTag: # false
1786 # agents.image.pullPolicy -- Datadog Agent image pull policy
1787 pullPolicy: IfNotPresent
1788 # agents.image.pullSecrets -- Datadog Agent repository pullSecret (ex: specify docker registry credentials)
1790 ## See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
1792 # - name: "<REG_SECRET>"
1793 ## Provide Daemonset RBAC configuration
1795 # agents.rbac.create -- If true, create & use RBAC resources
1797 # agents.rbac.serviceAccountName -- Specify a preexisting ServiceAccount to use if agents.rbac.create is false
1798 serviceAccountName: default
1799 # agents.rbac.serviceAccountAnnotations -- Annotations to add to the ServiceAccount if agents.rbac.create is true
1800 serviceAccountAnnotations: {}
1801 # agents.rbac.serviceAccountAdditionalLabels -- Labels to add to the ServiceAccount if agents.rbac.create is true
1802 serviceAccountAdditionalLabels: {}
1803 # agents.rbac.automountServiceAccountToken -- If true, automatically mount the ServiceAccount's API credentials if agents.rbac.create is true
1804 automountServiceAccountToken: true
1805 ## Provide Daemonset PodSecurityPolicy configuration
1808 # agents.podSecurity.podSecurityPolicy.create -- If true, create a PodSecurityPolicy resource for Agent pods
1810 securityContextConstraints:
1811 # agents.podSecurity.securityContextConstraints.create -- If true, create a SecurityContextConstraints resource for Agent pods
1813 # agents.podSecurity.seLinuxContext -- Provide seLinuxContext configuration for PSP/SCC
1814 # @default -- Must run as spc_t
1822 # agents.podSecurity.privileged -- If true, Allow to run privileged containers
1824 # agents.podSecurity.capabilities -- Allowed capabilities
1826 ## note: capabilities must contain all agents.containers.*.securityContext.capabilities.
1840 # agents.podSecurity.allowedUnsafeSysctls -- Allowed unsafe sysclts
1841 allowedUnsafeSysctls: []
1842 # agents.podSecurity.volumes -- Allowed volumes types
1849 # agents.podSecurity.seccompProfiles -- Allowed seccomp profiles
1852 - "localhost/system-probe"
1854 # agents.podSecurity.apparmor.enabled -- If true, enable apparmor enforcement
1856 ## see: https://kubernetes.io/docs/tutorials/clusters/apparmor/
1858 # agents.podSecurity.apparmorProfiles -- Allowed apparmor profiles
1862 # agents.podSecurity.defaultApparmor -- Default AppArmor profile for all containers but system-probe
1863 defaultApparmor: runtime/default
1866 # agents.containers.agent.env -- Additional environment variables for the agent container
1868 # agents.containers.agent.envFrom -- Set environment variables specific to agent container from configMaps and/or secrets
1871 # name: <CONFIGMAP_NAME>
1873 # name: <SECRET_NAME>
1875 # agents.containers.agent.envDict -- Set environment variables specific to agent container defined in a dict
1877 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
1879 # agents.containers.agent.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off.
1880 # If not set, fall back to the value of datadog.logLevel.
1882 # agents.containers.agent.resources -- Resource requests and limits for the agent container.
1891 # agents.containers.agent.healthPort -- Port number to use in the node agent for the healthz endpoint
1893 # agents.containers.agent.livenessProbe -- Override default agent liveness probe settings
1894 # @default -- Every 15s / 6 KO / 1 OK
1896 initialDelaySeconds: 15
1901 # agents.containers.agent.readinessProbe -- Override default agent readiness probe settings
1902 # @default -- Every 15s / 6 KO / 1 OK
1904 initialDelaySeconds: 15
1909 # agents.containers.agent.startupProbe -- Override default agent startup probe settings
1910 # @default -- Every 15s / 6 KO / 1 OK
1912 initialDelaySeconds: 15
1917 # agents.containers.agent.securityContext -- Allows you to overwrite the default container SecurityContext for the agent container.
1919 readOnlyRootFilesystem: true
1920 # agents.containers.agent.ports -- Allows to specify extra ports (hostPorts for instance) for this container
1922 privateActionRunner:
1923 # agents.containers.privateActionRunner.env -- Additional environment variables for the private-action-runner container
1925 # agents.containers.privateActionRunner.envFrom -- Set environment variables specific to private-action-runner from configMaps and/or secrets
1927 # agents.containers.privateActionRunner.envDict -- Set environment variables specific to private-action-runner defined in a dict
1929 # agents.containers.privateActionRunner.logLevel -- Set logging verbosity for the private-action-runner container
1931 # agents.containers.privateActionRunner.resources -- Resource requests and limits for the private-action-runner container.
1940 # agents.containers.privateActionRunner.securityContext -- Specify securityContext on the private-action-runner container.
1942 readOnlyRootFilesystem: true
1946 # agents.containers.processAgent.env -- Additional environment variables for the process-agent container
1948 # agents.containers.processAgent.envFrom -- Set environment variables specific to process-agent from configMaps and/or secrets
1951 # name: <CONFIGMAP_NAME>
1953 # name: <SECRET_NAME>
1955 # agents.containers.processAgent.envDict -- Set environment variables specific to process-agent defined in a dict
1957 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
1959 # agents.containers.processAgent.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off.
1960 # If not set, fall back to the value of datadog.logLevel.
1962 # agents.containers.processAgent.resources -- Resource requests and limits for the process-agent container
1971 # agents.containers.processAgent.securityContext -- Allows you to overwrite the default container SecurityContext for the process-agent container.
1973 readOnlyRootFilesystem: true
1974 # agents.containers.processAgent.ports -- Allows to specify extra ports (hostPorts for instance) for this container
1977 # agents.containers.otelAgent.env -- Additional environment variables for the otel-agent container
1979 # agents.containers.otelAgent.envFrom -- Set environment variables specific to otel-agent from configMaps and/or secrets
1982 # name: <CONFIGMAP_NAME>
1984 # name: <SECRET_NAME>
1986 # agents.containers.otelAgent.envDict -- Set environment variables specific to otel-agent defined in a dict
1988 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
1990 # agents.containers.otelAgent.resources -- Resource requests and limits for the otel-agent container
1999 # agents.containers.otelAgent.securityContext -- Allows you to overwrite the default container SecurityContext for the otel-agent container.
2001 readOnlyRootFilesystem: true
2002 # agents.containers.otelAgent.ports -- Allows to specify extra ports (hostPorts for instance) for this container
2004 # agents.containers.otelAgent.volumeMounts -- Specify additional volumes to mount in the otel-agent container
2006 # - name: <VOLUME_NAME>
2007 # mountPath: <CONTAINER_PATH>
2010 # agents.containers.hostProfiler.env -- Additional environment variables for the host-profiler container
2012 # agents.containers.hostProfiler.envFrom -- Set environment variables specific to host-profiler from configMaps and/or secrets
2015 # name: <CONFIGMAP_NAME>
2017 # name: <SECRET_NAME>
2019 # agents.containers.hostProfiler.envDict -- Set environment variables specific to host-profiler defined in a dict
2021 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
2023 # agents.containers.hostProfiler.resources -- Resource requests and limits for the host-profiler container
2032 # agents.containers.hostProfiler.securityContext -- Allows you to overwrite the default container SecurityContext for the host-profiler container.
2034 readOnlyRootFilesystem: true
2036 # agents.containers.hostProfiler.volumeMounts -- Specify additional volumes to mount in the host-profiler container
2038 # - name: <VOLUME_NAME>
2039 # mountPath: <CONTAINER_PATH>
2042 # agents.containers.traceAgent.env -- Additional environment variables for the trace-agent container
2044 # agents.containers.traceAgent.envFrom -- Set environment variables specific to trace-agent from configMaps and/or secrets
2047 # name: <CONFIGMAP_NAME>
2049 # name: <SECRET_NAME>
2051 # agents.containers.traceAgent.envDict -- Set environment variables specific to trace-agent defined in a dict
2053 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
2055 # agents.containers.traceAgent.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off
2057 # agents.containers.traceAgent.resources -- Resource requests and limits for the trace-agent container
2066 # agents.containers.traceAgent.livenessProbe -- Override default agent liveness probe settings
2067 # @default -- Every 15s
2069 initialDelaySeconds: 15
2072 # agents.containers.traceAgent.securityContext -- Allows you to overwrite the default container SecurityContext for the trace-agent container.
2074 readOnlyRootFilesystem: true
2075 # agents.containers.traceAgent.ports -- Allows to specify extra ports (hostPorts for instance) for this container
2078 # agents.containers.systemProbe.env -- Additional environment variables for the system-probe container
2080 # agents.containers.systemProbe.envFrom -- Set environment variables specific to system-probe from configMaps and/or secrets
2083 # name: <CONFIGMAP_NAME>
2085 # name: <SECRET_NAME>
2087 # agents.containers.systemProbe.envDict -- Set environment variables specific to system-probe defined in a dict
2089 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
2091 # agents.containers.systemProbe.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off.
2092 # If not set, fall back to the value of datadog.logLevel.
2094 # agents.containers.systemProbe.resources -- Resource requests and limits for the system-probe container
2103 # agents.containers.systemProbe.securityContext -- Allows you to overwrite the default container SecurityContext for the system-probe container.
2105 ## agents.podSecurity.capabilities must reflect the changed made in securityContext.capabilities.
2107 readOnlyRootFilesystem: true
2110 add: ["SYS_ADMIN", "SYS_RESOURCE", "SYS_PTRACE", "NET_ADMIN", "NET_BROADCAST", "NET_RAW", "IPC_LOCK", "CHOWN", "DAC_READ_SEARCH"]
2111 # agents.containers.systemProbe.ports -- Allows to specify extra ports (hostPorts for instance) for this container
2114 # agents.containers.securityAgent.env -- Additional environment variables for the security-agent container
2116 # agents.containers.securityAgent.envFrom -- Set environment variables specific to security-agent from configMaps and/or secrets
2119 # name: <CONFIGMAP_NAME>
2121 # name: <SECRET_NAME>
2123 # agents.containers.securityAgent.envDict -- Set environment variables specific to security-agent defined in a dict
2125 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
2127 # agents.containers.securityAgent.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off.
2128 # If not set, fall back to the value of datadog.logLevel.
2130 # agents.containers.securityAgent.resources -- Resource requests and limits for the security-agent container
2139 # agents.containers.securityAgent.securityContext -- Allows you to overwrite the default container SecurityContext for the security-agent container.
2141 readOnlyRootFilesystem: true
2142 # agents.containers.securityAgent.ports -- Allows to specify extra ports (hostPorts for instance) for this container
2145 # agents.containers.agentDataPlane.env -- Additional environment variables for the agent-data-plane container
2147 # agents.containers.agentDataPlane.envFrom -- Set environment variables specific to agent-data-plane container from configMaps and/or secrets
2150 # name: <CONFIGMAP_NAME>
2152 # name: <SECRET_NAME>
2154 # agents.containers.agentDataPlane.envDict -- Set environment variables specific to agent-data-plane container defined in a dict
2156 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
2158 # agents.containers.agentDataPlane.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off.
2159 # If not set, fall back to the value of datadog.logLevel.
2161 # agents.containers.agentDataPlane.resources -- Resource requests and limits for the agent-data-plane container
2170 # agents.containers.agentDataPlane.unprivilegedApiPort -- Port for unprivileged API server, used primarily for health checks
2171 unprivilegedApiPort: 5100
2172 # agents.containers.agentDataPlane.privilegedApiPort -- Port for privileged API server, used for lower-level operations that
2173 # can alter the state of the ADP process or expose internal information
2174 privilegedApiPort: 5101
2175 # agents.containers.agentDataPlane.telemetryApiPort -- Port for telemetry API server, used for exposing internal
2176 # telemetry to be scraped by the Agent
2177 telemetryApiPort: 5102
2178 # agents.containers.agentDataPlane.livenessProbe -- Override default agent-data-plane liveness probe settings
2179 # @default -- Every 5s / 12 KO / 1 OK
2181 initialDelaySeconds: 5
2185 failureThreshold: 12
2186 # agents.containers.agentDataPlane.readinessProbe -- Override default agent-data-plane readiness probe settings
2187 # @default -- Every 5s / 12 KO / 1 OK
2189 initialDelaySeconds: 5
2193 failureThreshold: 12
2194 # agents.containers.agentDataPlane.securityContext -- Allows you to overwrite the default container SecurityContext for the agent-data-plane container.
2196 readOnlyRootFilesystem: true
2197 # agents.containers.agentDataPlane.ports -- Allows to specify extra ports (hostPorts for instance) for this container
2200 # agents.containers.initContainers.resources -- Resource requests and limits for the init containers
2208 # agents.containers.initContainers.securityContext -- Allows you to overwrite the default container SecurityContext for the init containers.
2210 # agents.containers.initContainers.volumeMounts -- Specify additional volumes to mount for the init containers
2212 # agents.volumes -- Specify additional volumes to mount in the dd-agent container
2216 # name: <VOLUME_NAME>
2218 # agents.volumeMounts -- Specify additional volumes to mount in all containers of the agent pod
2220 # - name: <VOLUME_NAME>
2221 # mountPath: <CONTAINER_PATH>
2224 # agents.useHostNetwork -- Bind ports on the hostNetwork
2226 ## Useful for CNI networking where hostPort might
2227 ## not be supported. The ports need to be available on all hosts. It Can be
2228 ## used for custom metrics instead of a service endpoint.
2230 ## WARNING: Make sure that hosts using this are properly firewalled otherwise
2231 ## metrics and traces are accepted from any host able to connect to this host.
2232 useHostNetwork: false
2233 # agents.dnsConfig -- specify dns configuration options for datadog cluster agent containers e.g ndots
2235 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
2241 # agents.daemonsetAnnotations -- Annotations to add to the DaemonSet
2242 daemonsetAnnotations: {}
2245 # agents.podAnnotations -- Annotations to add to the DaemonSet's Pods
2249 # agents.tolerations -- Allow the DaemonSet to schedule on tainted nodes (requires Kubernetes >= 1.6)
2251 # agents.nodeSelector -- Allow the DaemonSet to schedule on selected nodes
2253 ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
2255 # agents.affinity -- Allow the DaemonSet to schedule using affinity rules
2257 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2259 # agents.updateStrategy -- Allow the DaemonSet to perform a rolling update on helm update
2261 ## ref: https://kubernetes.io/docs/tasks/manage-daemon/update-daemon-set/
2265 maxUnavailable: "10%"
2266 # agents.priorityClassCreate -- Creates a priorityClass for the Datadog Agent's Daemonset pods.
2267 priorityClassCreate: false
2268 # agents.priorityClassName -- Sets PriorityClassName if defined
2270 # agents.priorityPreemptionPolicyValue -- Set to "Never" to change the PriorityClass to non-preempting
2271 priorityPreemptionPolicyValue: PreemptLowerPriority
2272 # agents.priorityClassValue -- Value used to specify the priority of the scheduling of Datadog Agent's Daemonset pods.
2274 ## The PriorityClass uses PreemptLowerPriority.
2275 priorityClassValue: 1000000000
2276 # agents.podLabels -- Sets podLabels if defined
2278 ## Note: These labels are also used as label selectors so they are immutable.
2280 # agents.additionalLabels -- Adds labels to the Agent daemonset and pods
2281 additionalLabels: {}
2284 # agents.useConfigMap -- Configures a configmap to provide the agent configuration. Use this in combination with the `agents.customAgentConfig` parameter.
2285 useConfigMap: # false
2286 # agents.customAgentConfig -- Specify custom contents for the datadog agent config (datadog.yaml)
2288 ## ref: https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6
2289 ## ref: https://github.com/DataDog/datadog-agent/blob/main/pkg/config/config_template.yaml
2290 ## Note the `agents.useConfigMap` needs to be set to `true` for this parameter to be taken into account.
2291 customAgentConfig: {}
2293 # # Enable java cgroup handling. Only one of those options should be enabled,
2294 # # depending on the agent version you are using along that chart.
2296 # # agent version < 6.15
2297 # # jmx_use_cgroup_memory_limit: true
2299 # # agent version >= 6.15
2300 # # jmx_use_container_support: true
2303 # agents.networkPolicy.create -- If true, create a NetworkPolicy for the agents.
2304 # DEPRECATED. Use datadog.networkPolicy.create instead
2307 # agents.localService.overrideName -- Name of the internal traffic service to target the agent running on the local node
2309 # agents.localService.forceLocalServiceEnabled -- Force the creation of the internal traffic policy service to target the agent running on the local node.
2310 # By default, the internal traffic service is created only on Kubernetes 1.22+ where the feature became beta and enabled by default.
2311 # This option allows to force the creation of the internal traffic service on kubernetes 1.21 where the feature was alpha and required a feature gate to be explicitly enabled.
2312 forceLocalServiceEnabled: false
2313 # agents.lifecycle -- Configure the lifecycle of the Agent.
2314 # Note: The `exec` lifecycle handler is not supported in GKE Autopilot.
2320 # command: ["/bin/sh", "-c", "sleep 70"]
2323 # command: ["/bin/sh", "-c", "sleep 70"]
2327 # agents.terminationGracePeriodSeconds -- (int) Configure the termination grace period for the Agent
2328 terminationGracePeriodSeconds: # 70
2330 # clusterChecksRunner.enabled -- If true, deploys agent dedicated for running the Cluster Checks instead of running in the Daemonset's agents.
2332 ## If both clusterChecksRunner.enabled and datadog.kubeStateMetricsCore.enabled are true, consider enabling datadog.kubeStateMetricsCore.useClusterCheckRunners as well.
2333 ## If datadog.kubeStateMetricsCore.useClusterCheckRunners is enabled, it's recommended to enable this flag as well so all Cluster Checks run on Cluster Checks Runners instead of node agents.
2334 ## ref: https://docs.datadoghq.com/agent/autodiscovery/clusterchecks/
2336 remoteConfiguration:
2337 # clusterChecksRunner.remoteConfiguration.enabled -- Enable remote configuration on the Cluster Checks Runner.
2338 # Set to true to enable remote configuration on the Cluster Checks Runner.
2340 ## Define the Datadog image to work with.
2342 # clusterChecksRunner.image.name -- Datadog Agent image name to use (relative to `registry`)
2343 name: chainguard-private/datadog-agent-fips
2344 # clusterChecksRunner.image.tag -- Define the Agent version to use
2345 tag: latest@sha256:f100f2a7dbdb6edb7c7a88955f7e928b2b2d17dff23358535840dcc8bf087ba6
2346 # clusterChecksRunner.image.digest -- Define Agent image digest to use, takes precedence over tag if specified
2348 # clusterChecksRunner.image.tagSuffix -- Suffix to append to Agent tag
2351 ## jmx to enable jmx fetch collection
2352 ## servercore to get Windows images based on servercore
2354 # clusterChecksRunner.image.repository -- Override default registry + image.name for Cluster Check Runners
2356 # clusterChecksRunner.image.pullPolicy -- Datadog Agent image pull policy
2357 pullPolicy: IfNotPresent
2358 # clusterChecksRunner.image.pullSecrets -- Datadog Agent repository pullSecret (ex: specify docker registry credentials)
2360 ## See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
2362 # - name: "<REG_SECRET>"
2363 # clusterChecksRunner.createPodDisruptionBudget -- Create the pod disruption budget to apply to the cluster checks agents
2364 # DEPRECATED. Use clusterChecksRunner.pdb.create instead
2365 createPodDisruptionBudget: false
2367 # clusterChecksRunner.pdb.create -- Enable pod disruption budget for Cluster Checks Runner deployments.
2369 ## Only one of `minAvailable` or `maxUnavailable` can be set. More information: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
2370 ## By default, maxUnavailable is set to 1 for cluster checks runners.
2372 # clusterChecksRunner.pdb.minAvailable -- Minimum number of pods that must remain available during a disruption
2374 # clusterChecksRunner.pdb.maxUnavailable -- Maximum number of pods that can be unavailable during a disruption
2376 # Provide Cluster Checks Deployment pods RBAC configuration
2378 # clusterChecksRunner.rbac.create -- If true, create & use RBAC resources
2380 # clusterChecksRunner.rbac.dedicated -- If true, use a dedicated RBAC resource for the cluster checks agent(s)
2382 # clusterChecksRunner.rbac.serviceAccountAnnotations -- Annotations to add to the ServiceAccount if clusterChecksRunner.rbac.dedicated is true
2383 serviceAccountAnnotations: {}
2384 # clusterChecksRunner.rbac.serviceAccountAdditionalLabels -- Labels to add to the ServiceAccount if clusterChecksRunner.rbac.dedicated is true
2385 serviceAccountAdditionalLabels: {}
2386 # clusterChecksRunner.rbac.automountServiceAccountToken -- If true, automatically mount the ServiceAccount's API credentials if clusterChecksRunner.rbac.create is true
2387 automountServiceAccountToken: true
2388 # clusterChecksRunner.rbac.serviceAccountName -- Specify a preexisting ServiceAccount to use if clusterChecksRunner.rbac.create is false
2389 serviceAccountName: default
2390 # clusterChecksRunner.replicas -- Number of Cluster Checks Runner instances
2392 ## If you want to deploy the clusterChecks agent in HA, keep at least clusterChecksRunner.replicas set to 2.
2393 ## And increase the clusterChecksRunner.replicas according to the number of Cluster Checks.
2395 # clusterChecksRunner.revisionHistoryLimit -- The number of old ReplicaSets to keep in this Deployment.
2396 revisionHistoryLimit: 10
2397 # clusterChecksRunner.resources -- Datadog clusterchecks-agent resource requests and limits.
2406 # clusterChecksRunner.affinity -- Allow the ClusterChecks Deployment to schedule using affinity rules.
2408 ## By default, ClusterChecks Deployment Pods are preferred to run on different Nodes.
2409 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2411 # clusterChecksRunner.topologySpreadConstraints -- Allow the ClusterChecks Deployment to schedule using pod topology spreading
2413 ## By default, no constraints are set, allowing cluster defaults to be used for scheduling
2414 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
2415 topologySpreadConstraints: []
2416 # clusterChecksRunner.strategy -- Allow the ClusterChecks deployment to perform a rolling update on helm update
2418 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
2424 # clusterChecksRunner.dnsConfig -- specify dns configuration options for datadog cluster agent containers e.g ndots
2426 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
2432 # clusterChecksRunner.priorityClassName -- Name of the priorityClass to apply to the Cluster checks runners
2433 priorityClassName: # system-cluster-critical
2434 # clusterChecksRunner.nodeSelector -- Allow the ClusterChecks Deployment to schedule on selected nodes
2436 ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
2438 # clusterChecksRunner.tolerations -- Tolerations for pod assignment
2440 ## Ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
2442 # clusterChecksRunner.healthPort -- Port number to use in the Cluster Checks Runner for the healthz endpoint
2444 # clusterChecksRunner.livenessProbe -- Override default agent liveness probe settings
2445 # @default -- Every 15s / 6 KO / 1 OK
2447 ## In case of issues with the probe, you can disable it with the
2448 ## following values, to allow easier investigating:
2452 # command: ["/bin/true"]
2455 initialDelaySeconds: 15
2460 # clusterChecksRunner.readinessProbe -- Override default agent readiness probe settings
2461 # @default -- Every 15s / 6 KO / 1 OK
2463 ## In case of issues with the probe, you can disable it with the
2464 ## following values, to allow easier investigating:
2468 # command: ["/bin/true"]
2471 initialDelaySeconds: 15
2476 # clusterChecksRunner.startupProbe -- Override default agent startup probe settings
2477 # @default -- Every 15s / 6 KO / 1 OK
2479 ## In case of issues with the probe, you can disable it with the
2480 ## following values, to allow easier investigating:
2484 # command: ["/bin/true"]
2487 initialDelaySeconds: 15
2492 # clusterChecksRunner.deploymentAnnotations -- Annotations to add to the cluster-checks-runner's Deployment
2493 deploymentAnnotations: {}
2496 # clusterChecksRunner.podAnnotations -- Annotations to add to the cluster-checks-runner's pod(s)
2500 # clusterChecksRunner.env -- Environment variables specific to Cluster Checks Runner
2502 ## ref: https://github.com/DataDog/datadog-agent/tree/main/Dockerfiles/agent#environment-variables
2504 # - name: <ENV_VAR_NAME>
2505 # value: <ENV_VAR_VALUE>
2507 # clusterChecksRunner.envFrom -- Set environment variables specific to Cluster Checks Runner from configMaps and/or secrets
2509 ## envFrom to pass configmaps or secrets as environment
2510 ## ref: https://github.com/DataDog/datadog-agent/tree/main/Dockerfiles/agent#environment-variables
2513 # name: <CONFIGMAP_NAME>
2515 # name: <SECRET_NAME>
2517 # clusterChecksRunner.envDict -- Set environment variables specific to Cluster Checks Runner defined in a dict
2519 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
2521 # clusterChecksRunner.volumes -- Specify additional volumes to mount in the cluster checks container
2525 # name: <VOLUME_NAME>
2527 # clusterChecksRunner.volumeMounts -- Specify additional volumes to mount in the cluster checks container
2529 # - name: <VOLUME_NAME>
2530 # mountPath: <CONTAINER_PATH>
2534 # clusterChecksRunner.networkPolicy.create -- If true, create a NetworkPolicy for the cluster checks runners.
2535 # DEPRECATED. Use datadog.networkPolicy.create instead
2537 # clusterChecksRunner.additionalLabels -- Adds labels to the cluster checks runner deployment and pods
2538 additionalLabels: {}
2541 # clusterChecksRunner.securityContext -- Allows you to overwrite the default PodSecurityContext on the clusterchecks pods.
2545 # clusterChecksRunner.containers.agent.securityContext -- Specify securityContext on the agent container
2547 readOnlyRootFilesystem: true
2549 # clusterChecksRunner.containers.initContainers.securityContext -- Specify securityContext on the init containers
2551 # clusterChecksRunner.ports -- Allows to specify extra ports (hostPorts for instance) for this container
2555 # operator.image.tag -- Define the Datadog Operator version to use
2558 # operator.datadogAgent.enabled -- Enables Datadog Agent controller
2560 datadogAgentInternal:
2561 # operator.datadogAgentInternal.enabled -- Enables the Datadog Agent Internal controller
2564 # operator.datadogDashboard.enabled -- Enables the Datadog Dashboard controller
2566 datadogGenericResource:
2567 # operator.datadogGenericResource.enabled -- Enables the Datadog Generic Resource controller
2570 # operator.datadogMonitor.enabled -- Enables the Datadog Monitor controller
2573 # operator.datadogSLO.enabled -- Enables the Datadog SLO controller
2576 # operator.datadogCRDs.keepCrds -- Set to true to keep the CRDs when the helm chart is uninstalled. This must be set to true if datadog.operator.migration.enabled is set to true.
2579 # operator.datadogCRDs.crds.datadogAgents -- Set to true to deploy the DatadogAgents CRD
2581 # operator.datadogCRDs.crds.datadogMonitors -- Set to true to deploy the DatadogMonitors CRD
2582 datadogMonitors: true
2583 # operator.datadogCRDs.crds.datadogSLOs -- Set to true to deploy the DatadogSLO CRD
2585 # operator.datadogCRDs.crds.datadogDashboards -- Set to true to deploy the DatadogDashboard CRD
2586 datadogDashboards: true
2587 # operator.datadogCRDs.crds.datadogGenericResources -- Set to true to deploy the DatadogGenericResource CRD
2588 datadogGenericResources: true
2589 # operator.datadogCRDs.crds.datadogMetrics -- Set to true to deploy the DatadogMetrics CRD
2590 datadogMetrics: false
2591 # operator.datadogCRDs.crds.datadogPodAutoscalers -- Set to true to deploy the DatadogPodAutoscalers CRD
2592 datadogPodAutoscalers: false
2593 # operator.datadogCRDs.crds.datadogAgentInternals -- Set to true to deploy the DatadogAgentInternals CRD
2594 datadogAgentInternals: false
2597 # datadog-crds.crds.datadogMetrics -- Set to true to deploy the DatadogMetrics CRD
2598 datadogMetrics: true
2599 # datadog-crds.crds.datadogPodAutoscalers -- Set to true to deploy the DatadogPodAutoscalers CRD
2600 datadogPodAutoscalers: true
2602 # kube-state-metrics.image.repository -- Default kube-state-metrics image repository.
2604 repository: registry.k8s.io/kube-state-metrics/kube-state-metrics
2606 # kube-state-metrics.rbac.create -- If true, create & use RBAC resources
2609 # kube-state-metrics.serviceAccount.create -- If true, create ServiceAccount, require rbac kube-state-metrics.rbac.create true
2611 # kube-state-metrics.serviceAccount.name -- The name of the ServiceAccount to use.
2613 ## If not set and create is true, a name is generated using the fullname template
2615 # kube-state-metrics.resources -- Resource requests and limits for the kube-state-metrics container.
2624 # kube-state-metrics.nodeSelector -- Node selector for KSM. KSM only supports Linux.
2626 kubernetes.io/os: linux
2629 # providers.gke.autopilot -- Enables Datadog Agent deployment on GKE Autopilot
2631 # providers.gke.cos -- Enables Datadog Agent deployment on GKE with Container-Optimized OS (COS)
2633 # providers.gke.gdc -- Enables Datadog Agent deployment on GKE on Google Distributed Cloud (GDC)
2636 # providers.eks.controlPlaneMonitoring -- Enable control plane monitoring checks in the EKS cluster.
2637 controlPlaneMonitoring: false
2639 # providers.eks.ec2.useHostnameFromFile -- Use hostname from EC2 filesystem instead of fetching from metadata endpoint.
2641 ## When deploying to EC2-backed EKS infrastructure, there are situations where the
2642 ## IMDS metadata endpoint is not accessible to containers. This flag mounts the host's
2643 ## `/var/lib/cloud/data/instance-id` and uses that for Agent's hostname instead.
2644 useHostnameFromFile: false
2646 # providers.aks.enabled -- Activate all specificities related to AKS configuration. Required as currently we cannot auto-detect AKS.
2649 # providers.openshift.controlPlaneMonitoring -- Enable control plane monitoring checks in the OpenShift cluster.
2650 # Certificates are needed to communicate with the Etcd service, which can be found in the secret `etcd-metric-client` in the `openshift-etcd-operator` namespace.
2651 # To give the Datadog Agent access to these certificates, copy them into the same namespace the Datadog Agent is running in:
2652 # `oc get secret etcd-metric-client -n openshift-etcd-operator -o yaml | sed 's/namespace: openshift-etcd-operator/namespace: <datadog agent namespace>/' | oc create -f -`
2653 controlPlaneMonitoring: false
2655 # providers.talos.enabled -- Activate all required specificities related to Talos.dev configuration,
2656 # as currently the chart cannot auto-detect Talos.dev cluster.
2657 # Note: The Agent deployment requires additional privileges that are not permitted by the default pod security policy.
2658 # The annotation `pod-security.kubernetes.io/enforce=privileged` must be applied to the Datadog installation
2659 # Kubernetes namespace. For more information on pod security policies in Talos.dev clusters, see:
2660 # https://www.talos.dev/v1.8/kubernetes-guides/configuration/pod-security/
2663 # remoteConfiguration.enabled -- Set to true to enable remote configuration on the Cluster Agent (if set) and the node agent.
2664 # Can be overridden if `datadog.remoteConfiguration.enabled`
2665 # Preferred way to enable Remote Configuration.
2667## OTel collector related configuration for otel-agent in Gateway Deployment
2668## Note this is different from the otel-agent in Daemonset (datadog.otelCollector)
2670 # otelAgentGateway.enabled -- Enable otel-agent Gateway
2672 # otelAgentGateway.ports -- Ports that OTel Collector is listening on
2674 # Default GRPC port of OTLP receiver
2675 - containerPort: "4317"
2678 # Default HTTP port of OTLP receiver
2679 - containerPort: "4318"
2682 # otelAgentGateway.config -- Gateway OTel Agent configuration
2684 ## otelAgentGateway.configMap -- Use an existing ConfigMap for Gateway OTel Agent configuration
2686 # otelAgentGateway.configMap.name -- Name of the existing ConfigMap that contains the Gateway OTel Agent configuration
2688 # otelAgentGateway.configMap.checksum -- Checksum of the existing ConfigMap that contains the Gateway OTel Agent configuration
2690 # otelAgentGateway.configMap.items -- Items within the ConfigMap that contain Gateway OTel Agent configuration
2692 # - key: otel-gateway-config.yaml
2693 # path: otel-gateway-config.yaml
2694 # - key: otel-gateway-config-two.yaml
2695 # path: otel-gateway-config-two.yaml
2696 # otelAgentGateway.configMap.key -- Key within the ConfigMap that contains the Gateway OTel Agent configuration
2697 key: otel-gateway-config.yaml
2698 # otelAgentGateway.featureGates -- Feature gates to pass to OTel collector, as a comma separated list
2700 # otelAgentGateway.replicas -- Number of otel-agent instances in the Gateway Deployment
2702 # otelAgentGateway.revisionHistoryLimit -- The number of old ReplicaSets to keep in this Deployment.
2703 revisionHistoryLimit: 10
2704 # otelAgentGateway.deploymentAnnotations -- Annotations to add to the otel-agent Gateway Deployment
2705 deploymentAnnotations: {}
2708 # otelAgentGateway.podAnnotations -- Annotations to add to the Gateway Deployment's Pods
2712 # otelAgentGateway.tolerations -- Allow the Gateway Deployment to schedule on tainted nodes (requires Kubernetes >= 1.6)
2714 # otelAgentGateway.useHostNetwork -- Bind ports on the hostNetwork
2716 ## Useful for CNI networking where hostPort might
2717 ## not be supported. The ports need to be available on all hosts. It can be
2718 ## used for custom metrics instead of a service endpoint.
2720 ## WARNING: Make sure that hosts using this are properly firewalled otherwise
2721 ## metrics and traces are accepted from any host able to connect to this host.
2723 useHostNetwork: false
2724 # otelAgentGateway.dnsConfig -- Specify dns configuration options for otel agent containers e.g ndots
2726 ## ref: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#pod-dns-config
2732 # otelAgentGateway.volumes -- Specify additional volumes to mount in the otel-agent container
2736 # name: <VOLUME_NAME>
2738 # otelAgentGateway.volumeMounts -- Specify additional volumes to mount in the otel-agent container
2740 # - name: <VOLUME_NAME>
2741 # mountPath: <CONTAINER_PATH>
2744 # otelAgentGateway.nodeSelector -- Allow the Gateway Deployment to schedule on selected nodes
2746 ## Ref: https://kubernetes.io/docs/user-guide/node-selection/
2748 # otelAgentGateway.affinity -- Allow the Gateway Deployment to schedule using affinity rules
2750 ## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
2752 # otelAgentGateway.strategy -- Allow the otel-agent Gateway Deployment to perform a rolling update on helm update
2754 ## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
2760 # otelAgentGateway.priorityClassCreate -- Creates a priorityClass for the otel-agent Gateway Deployment pods.
2761 priorityClassCreate: false
2762 # otelAgentGateway.priorityClassName -- Sets PriorityClassName if defined
2763 priorityClassName: null
2764 # otelAgentGateway.priorityPreemptionPolicyValue -- Set to "Never" to change the PriorityClass to non-preempting
2765 priorityPreemptionPolicyValue: PreemptLowerPriority
2766 # otelAgentGateway.priorityClassValue -- Value used to specify the priority of the scheduling of otel-agent Gateway Deployment pods.
2768 ## The PriorityClass uses PreemptLowerPriority.
2769 priorityClassValue: 1000000000
2770 # otelAgentGateway.podLabels -- Sets podLabels if defined
2772 ## Note: These labels are also used as label selectors so they are immutable.
2774 # otelAgentGateway.additionalLabels -- Adds labels to the Agent Gateway Deployment and pods
2775 additionalLabels: {}
2776 # otelAgentGateway.shareProcessNamespace -- Set the process namespace sharing on the otel-agent
2777 shareProcessNamespace: false
2778 # otelAgentGateway.lifecycle -- Configure the lifecycle of the otel-agent
2782 # command: ["/bin/sh", "-c", "sleep 70"]
2784 # otelAgentGateway.terminationGracePeriodSeconds -- (int) Configure the termination grace period for the otel-agent
2785 terminationGracePeriodSeconds: # 70
2786 # otelAgentGateway.topologySpreadConstraints -- Allow the otel-agent Gateway Deployment to schedule using pod topology spreading
2788 ## By default, no constraints are set, allowing cluster defaults to be used for scheduling
2789 ## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
2790 topologySpreadConstraints: []
2791 ## Configuration for the service for the OTel Agent Gateway
2793 # otelAgentGateway.service.type -- Set type of otel-agent-gateway service
2795 ## Allow to override the Datadog otel-agent image
2797 # otelAgentGateway.image.name -- otel agent image name to use (relative to `registry`)
2798 name: ddot-collector
2799 # otelAgentGateway.image.tag -- Override the image tag of otel agent
2801 # otelAgentGateway.image.tagSuffix -- Suffix to append to image tag of otel agent
2803 # otelAgentGateway.image.digest -- Override the image digest of otel agent, takes precedence over tag if specified
2805 # otelAgentGateway.image.repository -- Override the image repository to override default registry
2807 # otelAgentGateway.image.doNotCheckTag -- Skip the version and chart compatibility check
2809 ## By default, the version passed in otelAgentGateway.image.tag is checked
2810 ## for compatibility with the version of the chart.
2811 ## This boolean permits completely skipping this check.
2812 ## This is useful, for example, for custom tags that are not
2813 ## respecting semantic versioning.
2814 doNotCheckTag: # false
2815 # otelAgentGateway.image.pullPolicy -- otel Agent image pullPolicy
2816 pullPolicy: IfNotPresent
2817 # otelAgentGateway.image.pullSecrets -- otel Agent repository pullSecret (ex: specify docker registry credentials)
2819 ## See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
2821 # - name: "<REG_SECRET>"
2823 # otelAgentGateway.initContainers.securityContext -- Allows you to overwrite the default container SecurityContext for init containers
2825 # otelAgentGateway.initContainers.resources -- Resource requests and limits for init containers
2835 # otelAgentGateway.containers.otelAgent.env -- Additional environment variables for the otel-agent container
2837 # otelAgentGateway.containers.otelAgent.envFrom -- Set environment variables specific to otel-agent from configMaps and/or secrets
2840 # name: <CONFIGMAP_NAME>
2842 # name: <SECRET_NAME>
2844 # otelAgentGateway.containers.otelAgent.envDict -- Set environment variables specific to otel-agent defined in a dict
2846 # <ENV_VAR_NAME>: <ENV_VAR_VALUE>
2848 # otelAgentGateway.containers.otelAgent.resources -- Resource requests and limits for the otel-agent container
2857 # otelAgentGateway.containers.otelAgent.securityContext -- Allows you to overwrite the default container SecurityContext for the otel-agent container.
2859 # otelAgentGateway.containers.otelAgent.logLevel -- Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off.
2860 # If not set, fall back to the value of datadog.logLevel.
2862 # otelAgentGateway.containers.otelAgent.healthPort -- Port number to use for the otel-agent-gateway health check endpoint (OTel health_check extension)
2864 # otelAgentGateway.containers.otelAgent.livenessProbe -- otel-agent-gateway liveness probe settings.
2865 # Set enabled to true to activate. The OTel config must expose the health_check extension
2866 # on healthPort (default 13133); the generated default config does this automatically.
2869 initialDelaySeconds: 15
2874 # otelAgentGateway.containers.otelAgent.readinessProbe -- otel-agent-gateway readiness probe settings.
2875 # Set enabled to true to activate. The OTel config must expose the health_check extension
2876 # on healthPort (default 13133); the generated default config does this automatically.
2879 initialDelaySeconds: 15
2884 ## Provide OTel Collector RBAC configuration in Gateway
2886 # otelAgentGateway.rbac.create -- If true, check OTel Collector config for k8sattributes processor
2887 # and create required ClusterRole to access Kubernetes API
2889 # otelAgentGateway.rbac.rules -- A set of additional RBAC rules to apply to OTel Collector's ClusterRole
2892 # resources: ["pods", "nodes"]
2893 # verbs: ["get", "list", "watch"]
2894 ## Provide OTel Collector logs configuration
2896 # otelAgentGateway.logs.enabled -- Enable logs support in the OTel Collector.
2897 # If true, checks OTel Collector config for filelog receiver and mounts additional volumes to collect containers
2900 ## Provide Horizontal Pod Autoscaler (HPA) configuration in OTel Agent Gateway, requires k8s 1.23.0 and above
2902 # otelAgentGateway.autoscaling.enabled -- enable autoscaling using Horizontal Pod Autoscaler (HPA), requires k8s 1.23.0 and above.
2903 # Will override otelAgentGateway.replicas.
2905 # otelAgentGateway.autoscaling.annotations -- annotations for OTel Agent Gateway HPA
2907 # otelAgentGateway.autoscaling.minReplicas -- min number of replicas for OTel Agent Gateway HPA
2909 # otelAgentGateway.autoscaling.maxReplicas -- max number of replicas for OTel Agent Gateway HPA
2911 # otelAgentGateway.autoscaling.metrics -- the metrics used for OTel Agent Gateway HPA
2913 # otelAgentGateway.autoscaling.behavior -- defines the scaling behavior in OTel Agent Gateway HPA
2915 # otelAgentGateway.autoscaling.behavior.scaleUp -- defines the scaling up behavior in OTel Agent Gateway HPA
2917 # otelAgentGateway.autoscaling.behavior.scaleDown -- defines the scaling down behavior in OTel Agent Gateway HPA