Skip to content

Commit d28902b

Browse files
committed
[AGTMETRICS-393] Update Agent Data Plane support to reflect new "Data Plane" terminology.
1 parent 285e308 commit d28902b

File tree

10 files changed

+2295
-53
lines changed

10 files changed

+2295
-53
lines changed

charts/datadog/README.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -721,12 +721,6 @@ helm install <RELEASE_NAME> \
721721
| commonLabels | object | `{}` | Labels to apply to all resources |
722722
| datadog-crds.crds.datadogMetrics | bool | `true` | Set to true to deploy the DatadogMetrics CRD |
723723
| datadog-crds.crds.datadogPodAutoscalers | bool | `true` | Set to true to deploy the DatadogPodAutoscalers CRD |
724-
| datadog.agentDataPlane.enabled | bool | `false` | Whether or not Agent Data Plane is enabled |
725-
| datadog.agentDataPlane.image.digest | string | `""` | Define Agent Data Plane image digest to use, takes precedence over tag if specified |
726-
| datadog.agentDataPlane.image.name | string | `"agent-data-plane"` | Agent Data Plane image name to use (relative to `registry`) |
727-
| datadog.agentDataPlane.image.pullPolicy | string | `"IfNotPresent"` | Agent Data Plane image pull policy |
728-
| datadog.agentDataPlane.image.repository | string | `nil` | Override default registry + image.name for Agent Data Plane |
729-
| datadog.agentDataPlane.image.tag | string | `"0.1.11"` | Define the Agent Data Plane version to use |
730724
| datadog.apiKey | string | `nil` | Your Datadog API key |
731725
| 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. |
732726
| datadog.apm.enabled | bool | `false` | Enable this to enable APM and tracing, on port 8126 DEPRECATED. Use datadog.apm.portEnabled instead |
@@ -779,6 +773,13 @@ helm install <RELEASE_NAME> \
779773
| datadog.containerRuntimeSupport.enabled | bool | `true` | Set this to false to disable agent access to container runtime. |
780774
| datadog.criSocketPath | string | `nil` | Path to the container runtime socket (if different from Docker) |
781775
| 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. |
776+
| datadog.dataPlane.dogstatsd.enabled | bool | `false` | Whether or not DogStatsD is enabled in the data plane |
777+
| datadog.dataPlane.enabled | bool | `false` | Whether or not Agent 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. |
778+
| datadog.dataPlane.image.digest | string | `""` | Define Agent Data Plane image digest to use, takes precedence over tag if specified |
779+
| datadog.dataPlane.image.name | string | `"agent-data-plane"` | Agent Data Plane image name to use (relative to `registry`) |
780+
| datadog.dataPlane.image.pullPolicy | string | `"IfNotPresent"` | Agent Data Plane image pull policy |
781+
| datadog.dataPlane.image.repository | string | `nil` | Override default registry + image.name for Agent Data Plane |
782+
| datadog.dataPlane.image.tag | string | `"0.1.30"` | Define the Agent Data Plane version to use |
782783
| 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 |
783784
| datadog.disableDefaultOsReleasePaths | bool | `false` | Set this to true to disable mounting datadog.osReleasePath in all containers |
784785
| datadog.disablePasswdMount | bool | `false` | Set this to true to disable mounting /etc/passwd in all containers |

charts/datadog/templates/_container-agent-data-plane.yaml

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
{{- define "container-agent-data-plane" -}}
22
- name: agent-data-plane
3-
image: "{{ include "image-path" (dict "root" .Values "image" .Values.datadog.agentDataPlane.image) }}"
4-
imagePullPolicy: {{ .Values.datadog.agentDataPlane.image.pullPolicy }}
5-
command: ["agent-data-plane", "run", "--config={{ template "datadog.confPath" . }}/datadog.yaml"]
6-
{{ include "generate-security-context" (dict "securityContext" .Values.agents.containers.agentDataPlane.securityContext "targetSystem" .Values.targetSystem "seccomp" "" "kubeversion" .Capabilities.KubeVersion.Version) | indent 2 }}
3+
image: "{{ include "image-path" (dict "root" .Values "image" .Values.datadog.dataPlane.image) }}"
4+
imagePullPolicy: {{ .Values.datadog.dataPlane.image.pullPolicy }}
5+
command: ["agent-data-plane", "--config", "{{ template "datadog.confPath" . }}/datadog.yaml", "run"]
76
resources:
87
{{- if and (empty .Values.agents.containers.agentDataPlane.resources) .Values.providers.gke.autopilot -}}
98
{{ include "default-container-resources" . | indent 4 }}
109
{{- else }}
1110
{{ toYaml .Values.agents.containers.agentDataPlane.resources | indent 4 }}
1211
{{- end }}
12+
{{- if .Values.datadog.dataPlane.dogstatsd.enabled }}
1313
ports:
1414
- containerPort: {{ .Values.datadog.dogstatsd.port }}
1515
{{- if .Values.datadog.dogstatsd.useHostPort }}
1616
hostPort: {{ .Values.datadog.dogstatsd.port }}
1717
{{- end }}
1818
name: dogstatsdport
1919
protocol: UDP
20-
20+
{{- end }}
2121
{{- if .Values.agents.containers.agentDataPlane.ports }}
2222
{{ toYaml .Values.agents.containers.agentDataPlane.ports | indent 2 }}
2323
{{- end }}
@@ -32,20 +32,23 @@
3232
{{- end }}
3333
env:
3434
{{- include "containers-common-env" . | nindent 4 }}
35-
{{- include "containers-dogstatsd-env" . | nindent 4 }}
3635
{{- if .Values.datadog.logLevel }}
3736
- name: DD_LOG_LEVEL
3837
value: {{ .Values.agents.containers.agentDataPlane.logLevel | default .Values.datadog.logLevel | quote }}
3938
{{- end }}
40-
- name: DD_API_LISTEN_ADDRESS
39+
- name: DD_DATA_PLANE_REMOTE_AGENT_ENABLED
40+
value: "true"
41+
- name: DD_DATA_PLANE_USE_NEW_CONFIG_STREAM_ENDPOINT
42+
value: "true"
43+
- name: DD_DATA_PLANE_API_LISTEN_ADDRESS
4144
{{- $unprivilegedApiPort := .Values.agents.containers.agentDataPlane.unprivilegedApiPort }}
4245
value: "tcp://0.0.0.0:{{ $unprivilegedApiPort }}"
43-
- name: DD_SECURE_API_LISTEN_ADDRESS
46+
- name: DD_DATA_PLANE_SECURE_API_LISTEN_ADDRESS
4447
{{- $privilegedApiPort := .Values.agents.containers.agentDataPlane.privilegedApiPort }}
4548
value: "tcp://0.0.0.0:{{ $privilegedApiPort }}"
46-
- name: DD_TELEMETRY_ENABLED
49+
- name: DD_DATA_PLANE_TELEMETRY_ENABLED
4750
value: "true"
48-
- name: DD_PROMETHEUS_LISTEN_ADDR
51+
- name: DD_DATA_PLANE_TELEMETRY_LISTEN_ADDR
4952
{{- $telemetryApiPort := .Values.agents.containers.agentDataPlane.telemetryApiPort }}
5053
value: "tcp://127.0.0.1:{{ $telemetryApiPort }}"
5154
{{- include "additional-env-entries" .Values.agents.containers.agentDataPlane.env | indent 4 }}

charts/datadog/templates/_container-agent.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
{{ toYaml .Values.agents.containers.agent.resources | indent 4 }}
1616
{{- end }}
1717
ports:
18-
{{- if eq (include "should-enable-agent-data-plane" .) "false" }}
18+
{{- if eq (include "should-enable-data-plane" .) "false" }}
1919
- containerPort: {{ .Values.datadog.dogstatsd.port }}
2020
{{- if .Values.datadog.dogstatsd.useHostPort }}
2121
hostPort: {{ .Values.datadog.dogstatsd.port }}
@@ -80,14 +80,14 @@
8080
- name: DD_LOG_LEVEL
8181
value: {{ .Values.agents.containers.agent.logLevel | default .Values.datadog.logLevel | quote }}
8282
{{- end }}
83-
{{- if eq (include "should-enable-agent-data-plane" .) "true" }}
84-
- name: DD_USE_DOGSTATSD
85-
value: "false"
83+
{{- if eq (include "should-enable-data-plane" .) "true" }}
8684
- name: DD_REMOTE_AGENT_REGISTRY_ENABLED
8785
value: "true"
88-
{{- else }}
89-
{{- include "containers-dogstatsd-env" . | nindent 4 }}
86+
- name: DD_DATA_PLANE_ENABLED
87+
value: "true"
88+
{{- include "core-agent-data-plane-env" . | nindent 4 }}
9089
{{- end }}
90+
{{- include "containers-dogstatsd-env" . | nindent 4 }}
9191
{{- if eq (include "cluster-agent-enabled" .) "false" }}
9292
{{- if .Values.datadog.leaderElection }}
9393
- name: DD_LEADER_ELECTION

charts/datadog/templates/_helpers.tpl

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,15 +154,42 @@ false
154154

155155
{{/*
156156
Return true if Agent Data Plane needs to be deployed
157+
158+
This considers both whether or not the Data Plane feature is enabled and whether or not there's at least one
159+
data pipeline enabled
157160
*/}}
158-
{{- define "should-enable-agent-data-plane" -}}
159-
{{- if and .Values.datadog.agentDataPlane.enabled (not .Values.providers.gke.gdc) -}}
161+
{{- define "should-enable-data-plane" -}}
162+
{{- $adpVersion := .Values.datadog.dataPlane.image.tag -}}
163+
{{- if not (semverCompare ">=0.1.29" $adpVersion) -}}
164+
{{- fail "Agent Data Plane 0.1.29 or newer is required to enable the Data Plane feature." -}}
165+
{{- end -}}
166+
{{- if and .Values.datadog.dataPlane.enabled (not .Values.providers.gke.gdc) -}}
167+
{{- if .Values.datadog.dataPlane.dogstatsd.enabled -}}
160168
true
161169
{{- else -}}
170+
{{- fail "One or more data pipelines must be enabled when the Data Plane feature is enabled." -}}
171+
{{- end -}}
172+
{{- else -}}
162173
false
163174
{{- end -}}
164175
{{- end -}}
165176
177+
{{/*
178+
Return env var settings for Core Agent when Data Plane feature is enabled
179+
*/}}
180+
{{- define "core-agent-data-plane-env" -}}
181+
# If we're running 7.74.x or earlier, disable DogStatsD explicitly on the Core Agent if ADP has the DSD pipeline
182+
# enabled. If ADP isn't handling DogStatsD, then we don't need to modify the value.
183+
{{- if not (semverCompare "^6.75.0-0 || ^7.75.0-0" (include "get-agent-version" .)) -}}
184+
{{- if .Values.datadog.dataPlane.dogstatsd.enabled }}
185+
- name: DD_USE_DOGSTATSD
186+
value: "false"
187+
{{- end }}
188+
{{- end }}
189+
- name: DD_DATA_PLANE_DOGSTATSD_ENABLED
190+
value: {{ .Values.datadog.dataPlane.dogstatsd.enabled | quote }}
191+
{{- end -}}
192+
166193
{{/*
167194
Return true if k8sattributes RBAC rules should be added to the OTel Agent ClusterRole
168195
*/}}

charts/datadog/templates/daemonset.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ spec:
7373
{{- if .Values.providers.gke.autopilot }} # Workaround for GKE Autopilot bug in versions >= 1.32.2-gke.1182000 and < 1.32.2-gke.1652000.
7474
autopilot.gke.io/no-connect: "true"
7575
{{- end }}
76-
{{- if eq (include "should-enable-agent-data-plane" .) "true" }}
76+
{{- if eq (include "should-enable-data-plane" .) "true" }}
7777
{{- $telemetryApiPort := .Values.agents.containers.agentDataPlane.telemetryApiPort }}
7878
ad.datadoghq.com/agent-data-plane.check_names: '["openmetrics"]'
7979
ad.datadoghq.com/agent-data-plane.init_configs: '[{}]'
@@ -158,7 +158,7 @@ spec:
158158
{{- if eq (include "should-enable-otel-agent" .) "true" }}
159159
{{- include "container-otel-agent" . | nindent 6 }}
160160
{{- end }}
161-
{{- if eq (include "should-enable-agent-data-plane" .) "true" }}
161+
{{- if eq (include "should-enable-data-plane" .) "true" }}
162162
{{- include "container-agent-data-plane" . | nindent 6 }}
163163
{{- end }}
164164
initContainers:

charts/datadog/values.yaml

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1277,25 +1277,32 @@ datadog:
12771277
# - Do not install the CSI driver separately if this is enabled, or you may hit conflicts.
12781278
enabled: false
12791279

1280-
## Agent Data Plane is currently in preview. Please reach out to your Datadog representative for more information.
1281-
agentDataPlane:
1282-
# datadog.agentDataPlane.enabled -- Whether or not Agent Data Plane is enabled
1280+
dataPlane:
1281+
# datadog.dataPlane.enabled -- Whether or not Agent Data Plane is enabled
1282+
#
1283+
# Requires version 7.74 or later of the Datadog Agent.
1284+
#
1285+
# The Data Plane feature is currently in preview. Please reach out to your Datadog representative for more information.
12831286
enabled: false
12841287

1288+
dogstatsd:
1289+
# datadog.dataPlane.dogstatsd.enabled -- Whether or not DogStatsD is enabled in the data plane
1290+
enabled: false
1291+
12851292
image:
1286-
# datadog.agentDataPlane.image.name -- Agent Data Plane image name to use (relative to `registry`)
1293+
# datadog.dataPlane.image.name -- Agent Data Plane image name to use (relative to `registry`)
12871294
name: agent-data-plane
12881295

1289-
# datadog.agentDataPlane.image.tag -- Define the Agent Data Plane version to use
1290-
tag: 0.1.11
1296+
# datadog.dataPlane.image.tag -- Define the Agent Data Plane version to use
1297+
tag: 0.1.30
12911298

1292-
# datadog.agentDataPlane.image.digest -- Define Agent Data Plane image digest to use, takes precedence over tag if specified
1299+
# datadog.dataPlane.image.digest -- Define Agent Data Plane image digest to use, takes precedence over tag if specified
12931300
digest: ""
12941301

1295-
# datadog.agentDataPlane.image.repository -- Override default registry + image.name for Agent Data Plane
1302+
# datadog.dataPlane.image.repository -- Override default registry + image.name for Agent Data Plane
12961303
repository:
12971304

1298-
# datadog.agentDataPlane.image.pullPolicy -- Agent Data Plane image pull policy
1305+
# datadog.dataPlane.image.pullPolicy -- Agent Data Plane image pull policy
12991306
pullPolicy: IfNotPresent
13001307

13011308
## Datadog Operator

test/datadog/baseline/manifests/adp_enabled.yaml renamed to test/datadog/baseline/manifests/adp-enabled-dsd-enabled-7.74.yaml

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1369,10 +1369,22 @@ spec:
13691369
value: "true"
13701370
- name: DD_LOG_LEVEL
13711371
value: INFO
1372+
- name: DD_REMOTE_AGENT_REGISTRY_ENABLED
1373+
value: "true"
1374+
- name: DD_DATA_PLANE_ENABLED
1375+
value: "true"
13721376
- name: DD_USE_DOGSTATSD
13731377
value: "false"
1374-
- name: DD_REMOTE_AGENT_REGISTRY_ENABLED
1378+
- name: DD_DATA_PLANE_DOGSTATSD_ENABLED
1379+
value: "true"
1380+
- name: DD_DOGSTATSD_PORT
1381+
value: "8125"
1382+
- name: DD_DOGSTATSD_NON_LOCAL_TRAFFIC
13751383
value: "true"
1384+
- name: DD_DOGSTATSD_TAG_CARDINALITY
1385+
value: low
1386+
- name: DD_DOGSTATSD_SOCKET
1387+
value: /var/run/datadog/dsd.socket
13761388
- name: DD_CLUSTER_AGENT_ENABLED
13771389
value: "true"
13781390
- name: DD_CLUSTER_AGENT_KUBERNETES_SERVICE_NAME
@@ -1625,8 +1637,9 @@ spec:
16251637
readOnly: true
16261638
- command:
16271639
- agent-data-plane
1640+
- --config
1641+
- /etc/datadog-agent/datadog.yaml
16281642
- run
1629-
- --config=/etc/datadog-agent/datadog.yaml
16301643
env:
16311644
- name: DD_API_KEY
16321645
valueFrom:
@@ -1653,25 +1666,21 @@ spec:
16531666
value: "false"
16541667
- name: DD_OTLP_CONFIG_LOGS_ENABLED
16551668
value: "false"
1656-
- name: DD_DOGSTATSD_PORT
1657-
value: "8125"
1658-
- name: DD_DOGSTATSD_NON_LOCAL_TRAFFIC
1659-
value: "true"
1660-
- name: DD_DOGSTATSD_TAG_CARDINALITY
1661-
value: low
1662-
- name: DD_DOGSTATSD_SOCKET
1663-
value: /var/run/datadog/dsd.socket
16641669
- name: DD_LOG_LEVEL
16651670
value: INFO
1666-
- name: DD_API_LISTEN_ADDRESS
1671+
- name: DD_DATA_PLANE_REMOTE_AGENT_ENABLED
1672+
value: "true"
1673+
- name: DD_DATA_PLANE_USE_NEW_CONFIG_STREAM_ENDPOINT
1674+
value: "true"
1675+
- name: DD_DATA_PLANE_API_LISTEN_ADDRESS
16671676
value: tcp://0.0.0.0:5100
1668-
- name: DD_SECURE_API_LISTEN_ADDRESS
1677+
- name: DD_DATA_PLANE_SECURE_API_LISTEN_ADDRESS
16691678
value: tcp://0.0.0.0:5101
1670-
- name: DD_TELEMETRY_ENABLED
1679+
- name: DD_DATA_PLANE_TELEMETRY_ENABLED
16711680
value: "true"
1672-
- name: DD_PROMETHEUS_LISTEN_ADDR
1681+
- name: DD_DATA_PLANE_TELEMETRY_LISTEN_ADDR
16731682
value: tcp://127.0.0.1:5102
1674-
image: gcr.io/datadoghq/agent-data-plane:0.1.11
1683+
image: gcr.io/datadoghq/agent-data-plane:0.1.30
16751684
imagePullPolicy: IfNotPresent
16761685
livenessProbe:
16771686
failureThreshold: 12
@@ -1699,8 +1708,6 @@ spec:
16991708
successThreshold: 1
17001709
timeoutSeconds: 5
17011710
resources: {}
1702-
securityContext:
1703-
readOnlyRootFilesystem: true
17041711
volumeMounts:
17051712
- mountPath: /tmp
17061713
name: tmpdir

0 commit comments

Comments
 (0)