Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions charts/datadog/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Datadog changelog

## 3.163.0

* [AGTMETRICS-393] Update Agent Data Plane support to reflect new "Data Plane" terminology. ([#2313](https://github.com/DataDog/helm-charts/pull/2313)).

## 3.162.0

* Add injectionMode option for APM instrumentation ([#2308](https://github.com/DataDog/helm-charts/pull/2308)).
Expand Down
2 changes: 1 addition & 1 deletion charts/datadog/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
apiVersion: v1
name: datadog
version: 3.162.0
version: 3.163.0
appVersion: "7"
description: Datadog Agent
keywords:
Expand Down
15 changes: 8 additions & 7 deletions charts/datadog/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Datadog

![Version: 3.162.0](https://img.shields.io/badge/Version-3.162.0-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)
![Version: 3.163.0](https://img.shields.io/badge/Version-3.163.0-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)

> [!WARNING]
> The Datadog Operator is now enabled by default since version [3.157.0](https://github.com/DataDog/helm-charts/blob/main/charts/datadog/CHANGELOG.md#31570) to collect chart metadata for display in [Fleet Automation](https://docs.datadoghq.com/agent/fleet_automation/). We are aware of issues affecting some environments and are actively working on fixes. We apologize for the inconvenience and appreciate your patience while we address these issues.
Expand Down Expand Up @@ -721,12 +721,6 @@ helm install <RELEASE_NAME> \
| commonLabels | object | `{}` | Labels to apply to all resources |
| datadog-crds.crds.datadogMetrics | bool | `true` | Set to true to deploy the DatadogMetrics CRD |
| datadog-crds.crds.datadogPodAutoscalers | bool | `true` | Set to true to deploy the DatadogPodAutoscalers CRD |
| datadog.agentDataPlane.enabled | bool | `false` | Whether or not Agent Data Plane is enabled |
| datadog.agentDataPlane.image.digest | string | `""` | Define Agent Data Plane image digest to use, takes precedence over tag if specified |
| datadog.agentDataPlane.image.name | string | `"agent-data-plane"` | Agent Data Plane image name to use (relative to `registry`) |
| datadog.agentDataPlane.image.pullPolicy | string | `"IfNotPresent"` | Agent Data Plane image pull policy |
| datadog.agentDataPlane.image.repository | string | `nil` | Override default registry + image.name for Agent Data Plane |
| datadog.agentDataPlane.image.tag | string | `"0.1.11"` | Define the Agent Data Plane version to use |
| datadog.apiKey | string | `nil` | Your Datadog API key |
| datadog.apiKeyExistingSecret | string | `nil` | 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. |
| datadog.apm.enabled | bool | `false` | Enable this to enable APM and tracing, on port 8126 DEPRECATED. Use datadog.apm.portEnabled instead |
Expand Down Expand Up @@ -780,6 +774,13 @@ helm install <RELEASE_NAME> \
| datadog.containerRuntimeSupport.enabled | bool | `true` | Set this to false to disable agent access to container runtime. |
| datadog.criSocketPath | string | `nil` | Path to the container runtime socket (if different from Docker) |
| datadog.csi.enabled | bool | `false` | Enable datadog csi driver Requires version 7.67 or later of the cluster agent Note: - When set to true, the CSI driver subchart will be installed automatically. - Do not install the CSI driver separately if this is enabled, or you may hit conflicts. |
| datadog.dataPlane.dogstatsd.enabled | bool | `false` | Whether or not DogStatsD is enabled in the data plane |
| datadog.dataPlane.enabled | bool | `false` | Whether or not the data plane is enabled Requires version 7.74 or later of the Datadog Agent. The data plane feature is currently in preview. Please reach out to your Datadog representative for more information. |
| datadog.dataPlane.image.digest | string | `""` | Define the data plane image digest to use, takes precedence over tag if specified |
| datadog.dataPlane.image.name | string | `"agent-data-plane"` | Data plane image name to use (relative to `registry`) |
| datadog.dataPlane.image.pullPolicy | string | `"IfNotPresent"` | Data plane image pull policy |
| datadog.dataPlane.image.repository | string | `nil` | Override default registry + image.name for data plane |
| datadog.dataPlane.image.tag | string | `"0.1.30"` | Define the data plane version to use |
| datadog.dd_url | string | `nil` | 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 |
| datadog.disableDefaultOsReleasePaths | bool | `false` | Set this to true to disable mounting datadog.osReleasePath in all containers |
| datadog.disablePasswdMount | bool | `false` | Set this to true to disable mounting /etc/passwd in all containers |
Expand Down
23 changes: 13 additions & 10 deletions charts/datadog/templates/_container-agent-data-plane.yaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
{{- define "container-agent-data-plane" -}}
- name: agent-data-plane
image: "{{ include "image-path" (dict "root" .Values "image" .Values.datadog.agentDataPlane.image) }}"
imagePullPolicy: {{ .Values.datadog.agentDataPlane.image.pullPolicy }}
command: ["agent-data-plane", "run", "--config={{ template "datadog.confPath" . }}/datadog.yaml"]
{{ include "generate-security-context" (dict "securityContext" .Values.agents.containers.agentDataPlane.securityContext "targetSystem" .Values.targetSystem "seccomp" "" "kubeversion" .Capabilities.KubeVersion.Version) | indent 2 }}
image: "{{ include "image-path" (dict "root" .Values "image" .Values.datadog.dataPlane.image) }}"
imagePullPolicy: {{ .Values.datadog.dataPlane.image.pullPolicy }}
command: ["agent-data-plane", "--config", "{{ template "datadog.confPath" . }}/datadog.yaml", "run"]
resources:
{{- if and (empty .Values.agents.containers.agentDataPlane.resources) .Values.providers.gke.autopilot -}}
{{ include "default-container-resources" . | indent 4 }}
{{- else }}
{{ toYaml .Values.agents.containers.agentDataPlane.resources | indent 4 }}
{{- end }}
{{- if .Values.datadog.dataPlane.dogstatsd.enabled }}
ports:
- containerPort: {{ .Values.datadog.dogstatsd.port }}
{{- if .Values.datadog.dogstatsd.useHostPort }}
hostPort: {{ .Values.datadog.dogstatsd.port }}
{{- end }}
name: dogstatsdport
protocol: UDP

{{- end }}
{{- if .Values.agents.containers.agentDataPlane.ports }}
{{ toYaml .Values.agents.containers.agentDataPlane.ports | indent 2 }}
{{- end }}
Expand All @@ -32,20 +32,23 @@
{{- end }}
env:
{{- include "containers-common-env" . | nindent 4 }}
{{- include "containers-dogstatsd-env" . | nindent 4 }}
{{- if .Values.datadog.logLevel }}
- name: DD_LOG_LEVEL
value: {{ .Values.agents.containers.agentDataPlane.logLevel | default .Values.datadog.logLevel | quote }}
{{- end }}
- name: DD_API_LISTEN_ADDRESS
- name: DD_DATA_PLANE_REMOTE_AGENT_ENABLED
value: "true"
- name: DD_DATA_PLANE_USE_NEW_CONFIG_STREAM_ENDPOINT
value: "true"
- name: DD_DATA_PLANE_API_LISTEN_ADDRESS
{{- $unprivilegedApiPort := .Values.agents.containers.agentDataPlane.unprivilegedApiPort }}
value: "tcp://0.0.0.0:{{ $unprivilegedApiPort }}"
- name: DD_SECURE_API_LISTEN_ADDRESS
- name: DD_DATA_PLANE_SECURE_API_LISTEN_ADDRESS
{{- $privilegedApiPort := .Values.agents.containers.agentDataPlane.privilegedApiPort }}
value: "tcp://0.0.0.0:{{ $privilegedApiPort }}"
- name: DD_TELEMETRY_ENABLED
- name: DD_DATA_PLANE_TELEMETRY_ENABLED
value: "true"
- name: DD_PROMETHEUS_LISTEN_ADDR
- name: DD_DATA_PLANE_TELEMETRY_LISTEN_ADDR
{{- $telemetryApiPort := .Values.agents.containers.agentDataPlane.telemetryApiPort }}
value: "tcp://127.0.0.1:{{ $telemetryApiPort }}"
{{- include "additional-env-entries" .Values.agents.containers.agentDataPlane.env | indent 4 }}
Expand Down
12 changes: 6 additions & 6 deletions charts/datadog/templates/_container-agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
{{ toYaml .Values.agents.containers.agent.resources | indent 4 }}
{{- end }}
ports:
{{- if eq (include "should-enable-agent-data-plane" .) "false" }}
{{- if eq (include "should-enable-data-plane" .) "false" }}
- containerPort: {{ .Values.datadog.dogstatsd.port }}
{{- if .Values.datadog.dogstatsd.useHostPort }}
hostPort: {{ .Values.datadog.dogstatsd.port }}
Expand Down Expand Up @@ -80,14 +80,14 @@
- name: DD_LOG_LEVEL
value: {{ .Values.agents.containers.agent.logLevel | default .Values.datadog.logLevel | quote }}
{{- end }}
{{- if eq (include "should-enable-agent-data-plane" .) "true" }}
- name: DD_USE_DOGSTATSD
value: "false"
{{- if eq (include "should-enable-data-plane" .) "true" }}
- name: DD_REMOTE_AGENT_REGISTRY_ENABLED
value: "true"
{{- else }}
{{- include "containers-dogstatsd-env" . | nindent 4 }}
- name: DD_DATA_PLANE_ENABLED
value: "true"
{{- include "core-agent-data-plane-env" . | nindent 4 }}
{{- end }}
{{- include "containers-dogstatsd-env" . | nindent 4 }}
{{- if eq (include "cluster-agent-enabled" .) "false" }}
{{- if .Values.datadog.leaderElection }}
- name: DD_LEADER_ELECTION
Expand Down
31 changes: 29 additions & 2 deletions charts/datadog/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -154,15 +154,42 @@ false

{{/*
Return true if Agent Data Plane needs to be deployed

This considers both whether or not the Data Plane feature is enabled and whether or not there's at least one
data pipeline enabled
*/}}
{{- define "should-enable-agent-data-plane" -}}
{{- if and .Values.datadog.agentDataPlane.enabled (not .Values.providers.gke.gdc) -}}
{{- define "should-enable-data-plane" -}}
{{- $adpVersion := .Values.datadog.dataPlane.image.tag -}}
{{- if not (semverCompare ">=0.1.29" $adpVersion) -}}
{{- fail "Agent Data Plane 0.1.29 or newer is required to enable the Data Plane feature." -}}
{{- end -}}
{{- if and .Values.datadog.dataPlane.enabled (not .Values.providers.gke.gdc) -}}
{{- if .Values.datadog.dataPlane.dogstatsd.enabled -}}
true
{{- else -}}
{{- fail "One or more data pipelines must be enabled when the Data Plane feature is enabled." -}}
{{- end -}}
{{- else -}}
false
{{- end -}}
{{- end -}}

{{/*
Return env var settings for Core Agent when Data Plane feature is enabled
*/}}
{{- define "core-agent-data-plane-env" -}}
# If we're running 7.74.x or earlier, disable DogStatsD explicitly on the Core Agent if ADP has the DSD pipeline
# enabled. If ADP isn't handling DogStatsD, then we don't need to modify the value.
{{- if not (semverCompare "^6.75.0-0 || ^7.75.0-0" (include "get-agent-version" .)) -}}
{{- if .Values.datadog.dataPlane.dogstatsd.enabled }}
- name: DD_USE_DOGSTATSD
value: "false"
{{- end }}
{{- end }}
- name: DD_DATA_PLANE_DOGSTATSD_ENABLED
value: {{ .Values.datadog.dataPlane.dogstatsd.enabled | quote }}
{{- end -}}

{{/*
Return true if k8sattributes RBAC rules should be added to the OTel Agent ClusterRole
*/}}
Expand Down
4 changes: 2 additions & 2 deletions charts/datadog/templates/daemonset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ spec:
{{- if .Values.providers.gke.autopilot }} # Workaround for GKE Autopilot bug in versions >= 1.32.2-gke.1182000 and < 1.32.2-gke.1652000.
autopilot.gke.io/no-connect: "true"
{{- end }}
{{- if eq (include "should-enable-agent-data-plane" .) "true" }}
{{- if eq (include "should-enable-data-plane" .) "true" }}
{{- $telemetryApiPort := .Values.agents.containers.agentDataPlane.telemetryApiPort }}
ad.datadoghq.com/agent-data-plane.check_names: '["openmetrics"]'
ad.datadoghq.com/agent-data-plane.init_configs: '[{}]'
Expand Down Expand Up @@ -158,7 +158,7 @@ spec:
{{- if eq (include "should-enable-otel-agent" .) "true" }}
{{- include "container-otel-agent" . | nindent 6 }}
{{- end }}
{{- if eq (include "should-enable-agent-data-plane" .) "true" }}
{{- if eq (include "should-enable-data-plane" .) "true" }}
{{- include "container-agent-data-plane" . | nindent 6 }}
{{- end }}
initContainers:
Expand Down
25 changes: 16 additions & 9 deletions charts/datadog/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1281,25 +1281,32 @@ datadog:
# - Do not install the CSI driver separately if this is enabled, or you may hit conflicts.
enabled: false

## Agent Data Plane is currently in preview. Please reach out to your Datadog representative for more information.
agentDataPlane:
# datadog.agentDataPlane.enabled -- Whether or not Agent Data Plane is enabled
dataPlane:
# datadog.dataPlane.enabled -- Whether or not the data plane is enabled
#
# Requires version 7.74 or later of the Datadog Agent.
#
# The data plane feature is currently in preview. Please reach out to your Datadog representative for more information.
enabled: false

dogstatsd:
# datadog.dataPlane.dogstatsd.enabled -- Whether or not DogStatsD is enabled in the data plane
enabled: false

image:
# datadog.agentDataPlane.image.name -- Agent Data Plane image name to use (relative to `registry`)
# datadog.dataPlane.image.name -- Data plane image name to use (relative to `registry`)
name: agent-data-plane

# datadog.agentDataPlane.image.tag -- Define the Agent Data Plane version to use
tag: 0.1.11
# datadog.dataPlane.image.tag -- Define the data plane version to use
tag: 0.1.30

# datadog.agentDataPlane.image.digest -- Define Agent Data Plane image digest to use, takes precedence over tag if specified
# datadog.dataPlane.image.digest -- Define the data plane image digest to use, takes precedence over tag if specified
digest: ""

# datadog.agentDataPlane.image.repository -- Override default registry + image.name for Agent Data Plane
# datadog.dataPlane.image.repository -- Override default registry + image.name for data plane
repository:

# datadog.agentDataPlane.image.pullPolicy -- Agent Data Plane image pull policy
# datadog.dataPlane.image.pullPolicy -- Data plane image pull policy
pullPolicy: IfNotPresent

## Datadog Operator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1369,10 +1369,22 @@ spec:
value: "true"
- name: DD_LOG_LEVEL
value: INFO
- name: DD_REMOTE_AGENT_REGISTRY_ENABLED
value: "true"
- name: DD_DATA_PLANE_ENABLED
value: "true"
- name: DD_USE_DOGSTATSD
value: "false"
- name: DD_REMOTE_AGENT_REGISTRY_ENABLED
- name: DD_DATA_PLANE_DOGSTATSD_ENABLED
value: "true"
- name: DD_DOGSTATSD_PORT
value: "8125"
- name: DD_DOGSTATSD_NON_LOCAL_TRAFFIC
value: "true"
- name: DD_DOGSTATSD_TAG_CARDINALITY
value: low
- name: DD_DOGSTATSD_SOCKET
value: /var/run/datadog/dsd.socket
- name: DD_CLUSTER_AGENT_ENABLED
value: "true"
- name: DD_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME
Expand Down Expand Up @@ -1625,8 +1637,9 @@ spec:
readOnly: true
- command:
- agent-data-plane
- --config
- /etc/datadog-agent/datadog.yaml
- run
- --config=/etc/datadog-agent/datadog.yaml
env:
- name: DD_API_KEY
valueFrom:
Expand All @@ -1653,25 +1666,21 @@ spec:
value: "false"
- name: DD_OTLP_CONFIG_LOGS_ENABLED
value: "false"
- name: DD_DOGSTATSD_PORT
value: "8125"
- name: DD_DOGSTATSD_NON_LOCAL_TRAFFIC
value: "true"
- name: DD_DOGSTATSD_TAG_CARDINALITY
value: low
- name: DD_DOGSTATSD_SOCKET
value: /var/run/datadog/dsd.socket
- name: DD_LOG_LEVEL
value: INFO
- name: DD_API_LISTEN_ADDRESS
- name: DD_DATA_PLANE_REMOTE_AGENT_ENABLED
value: "true"
- name: DD_DATA_PLANE_USE_NEW_CONFIG_STREAM_ENDPOINT
value: "true"
- name: DD_DATA_PLANE_API_LISTEN_ADDRESS
value: tcp://0.0.0.0:5100
- name: DD_SECURE_API_LISTEN_ADDRESS
- name: DD_DATA_PLANE_SECURE_API_LISTEN_ADDRESS
value: tcp://0.0.0.0:5101
- name: DD_TELEMETRY_ENABLED
- name: DD_DATA_PLANE_TELEMETRY_ENABLED
value: "true"
- name: DD_PROMETHEUS_LISTEN_ADDR
- name: DD_DATA_PLANE_TELEMETRY_LISTEN_ADDR
value: tcp://127.0.0.1:5102
image: gcr.io/datadoghq/agent-data-plane:0.1.11
image: gcr.io/datadoghq/agent-data-plane:0.1.30
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 12
Expand Down Expand Up @@ -1699,8 +1708,6 @@ spec:
successThreshold: 1
timeoutSeconds: 5
resources: {}
securityContext:
readOnlyRootFilesystem: true
volumeMounts:
- mountPath: /tmp
name: tmpdir
Expand Down
Loading
Loading