From 4f86f4147596ba60899e841baeba7495ac3227a8 Mon Sep 17 00:00:00 2001 From: Stuart Geipel Date: Thu, 6 Mar 2025 13:19:33 -0500 Subject: [PATCH] [NPM-3754] Add config to enable traceroute in sysprobe --- charts/datadog/CHANGELOG.md | 4 ++++ charts/datadog/README.md | 3 ++- charts/datadog/templates/NOTES.txt | 2 +- charts/datadog/templates/_helpers.tpl | 2 +- charts/datadog/templates/system-probe-configmap.yaml | 4 ++++ charts/datadog/values.yaml | 4 ++++ 6 files changed, 16 insertions(+), 3 deletions(-) diff --git a/charts/datadog/CHANGELOG.md b/charts/datadog/CHANGELOG.md index 7297c16d5..763b7e2e5 100644 --- a/charts/datadog/CHANGELOG.md +++ b/charts/datadog/CHANGELOG.md @@ -1,5 +1,9 @@ # Datadog changelog +## 3.103.2 + +* Add `datadog.traceroute.enabled`, which turns on the `traceroute` system-probe module for Network Path. + ## 3.103.1 * Update `fips.image.tag` to `1.1.8` fixing CVEs diff --git a/charts/datadog/README.md b/charts/datadog/README.md index fc122c92b..156680a2b 100644 --- a/charts/datadog/README.md +++ b/charts/datadog/README.md @@ -1,6 +1,6 @@ # Datadog -![Version: 3.103.1](https://img.shields.io/badge/Version-3.103.1-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) +![Version: 3.103.2](https://img.shields.io/badge/Version-3.103.1-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) [Datadog](https://www.datadoghq.com/) is a hosted infrastructure monitoring platform. This chart adds the Datadog Agent to all nodes in your cluster via a DaemonSet. It also optionally depends on the [kube-state-metrics chart](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-state-metrics). For more information about monitoring Kubernetes with Datadog, please refer to the [Datadog documentation website](https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/). @@ -887,6 +887,7 @@ helm install \ | datadog.systemProbe.seccomp | string | `"localhost/system-probe"` | Apply an ad-hoc seccomp profile to the system-probe agent to restrict its privileges | | datadog.systemProbe.seccompRoot | string | `"/var/lib/kubelet/seccomp"` | Specify the seccomp profile root directory | | datadog.tags | list | `[]` | List of static tags to attach to every metric, event and service check collected by this Agent. | +| datadog.traceroute.enabled | bool | `false` | Enable traceroutes in system-probe for Network Path | | datadog.useHostPID | bool | `true` | Run the agent in the host's PID namespace, required for origin detection / unified service tagging | | existingClusterAgent.clusterchecksEnabled | bool | `true` | set this to false if you don’t want the agents to run the cluster checks of the joined external cluster agent | | existingClusterAgent.join | bool | `false` | set this to true if you want the agents deployed by this chart to connect to a Cluster Agent deployed independently | diff --git a/charts/datadog/templates/NOTES.txt b/charts/datadog/templates/NOTES.txt index 084949e10..e07de0fa5 100644 --- a/charts/datadog/templates/NOTES.txt +++ b/charts/datadog/templates/NOTES.txt @@ -352,7 +352,7 @@ On GKE Autopilot, only one "datadog" Helm chart release is allowed by Kubernetes ############################################################################################## #### WARNING: System Probe on GKE Autopilot requires GKE v1.32.1-gke.1729000 or later #### ############################################################################################## -{{- fail "System Probe on GKE Autopilot environments requires GKE v1.32.1-gke.1729000 or later. The option 'datadog.securityAgent.runtime.enabled', 'datadog.securityAgent.runtime.fimEnabled', 'datadog.networkMonitoring.enabled', 'datadog.systemProbe.enableTCPQueueLength', 'datadog.systemProbe.enableOOMKill', 'datadog.serviceMonitoring.enabled' and 'datadog.discovery.enabled' must be set 'false'" }} +{{- fail "System Probe on GKE Autopilot environments requires GKE v1.32.1-gke.1729000 or later. The option 'datadog.securityAgent.runtime.enabled', 'datadog.securityAgent.runtime.fimEnabled', 'datadog.networkMonitoring.enabled', 'datadog.systemProbe.enableTCPQueueLength', 'datadog.systemProbe.enableOOMKill', 'datadog.serviceMonitoring.enabled', 'datadog.traceroute.enabled', and 'datadog.discovery.enabled' must be set 'false'" }} {{- end }} diff --git a/charts/datadog/templates/_helpers.tpl b/charts/datadog/templates/_helpers.tpl index db31eb837..678dfef1e 100644 --- a/charts/datadog/templates/_helpers.tpl +++ b/charts/datadog/templates/_helpers.tpl @@ -367,7 +367,7 @@ Return a remote image path based on `.Values` (passed as root) and `.` (any `.im Return true if a system-probe feature is enabled. */}} {{- define "system-probe-feature" -}} -{{- if or .Values.datadog.securityAgent.runtime.enabled .Values.datadog.securityAgent.runtime.fimEnabled .Values.datadog.networkMonitoring.enabled .Values.datadog.systemProbe.enableTCPQueueLength .Values.datadog.systemProbe.enableOOMKill .Values.datadog.serviceMonitoring.enabled .Values.datadog.discovery.enabled .Values.datadog.gpuMonitoring.enabled -}} +{{- if or .Values.datadog.securityAgent.runtime.enabled .Values.datadog.securityAgent.runtime.fimEnabled .Values.datadog.networkMonitoring.enabled .Values.datadog.systemProbe.enableTCPQueueLength .Values.datadog.systemProbe.enableOOMKill .Values.datadog.serviceMonitoring.enabled .Values.datadog.traceroute.enabled .Values.datadog.discovery.enabled .Values.datadog.gpuMonitoring.enabled -}} true {{- else -}} false diff --git a/charts/datadog/templates/system-probe-configmap.yaml b/charts/datadog/templates/system-probe-configmap.yaml index 88471d801..dd3716c30 100644 --- a/charts/datadog/templates/system-probe-configmap.yaml +++ b/charts/datadog/templates/system-probe-configmap.yaml @@ -66,6 +66,10 @@ data: native: enabled: {{ $.Values.datadog.serviceMonitoring.tls.native.enabled }} {{- end }} + {{- if not (eq .Values.datadog.traceroute.enabled nil) }} + traceroute: + enabled: {{ $.Values.datadog.traceroute.enabled }} + {{- end }} {{- if not (eq .Values.datadog.discovery.enabled nil) }} discovery: enabled: {{ $.Values.datadog.discovery.enabled }} diff --git a/charts/datadog/values.yaml b/charts/datadog/values.yaml index ef45c1c53..85ec12909 100644 --- a/charts/datadog/values.yaml +++ b/charts/datadog/values.yaml @@ -855,6 +855,10 @@ datadog: # 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. enabled: + traceroute: + # datadog.traceroute.enabled -- (bool) Enable traceroutes in system-probe for Network Path + enabled: false + discovery: # datadog.discovery.enabled -- (bool) Enable Service Discovery enabled: # false