Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into hasan.mahmood/system-…
Browse files Browse the repository at this point in the history
…probe-autopilot
  • Loading branch information
hmahmood committed Feb 24, 2025
2 parents b6875e3 + fd84419 commit ecbb147
Show file tree
Hide file tree
Showing 37 changed files with 391 additions and 268 deletions.
4 changes: 4 additions & 0 deletions charts/datadog-operator/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 2.7.0

* Update Datadog Operator version to 1.12.1.

## 2.6.0

* Update Datadog Operator version to 1.12.0.
Expand Down
4 changes: 2 additions & 2 deletions charts/datadog-operator/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v2
name: datadog-operator
version: 2.6.0
appVersion: 1.12.0
version: 2.7.0
appVersion: 1.12.1
description: Datadog Operator
keywords:
- monitoring
Expand Down
4 changes: 2 additions & 2 deletions charts/datadog-operator/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Datadog Operator

![Version: 2.6.0](https://img.shields.io/badge/Version-2.6.0-informational?style=flat-square) ![AppVersion: 1.12.0](https://img.shields.io/badge/AppVersion-1.12.0-informational?style=flat-square)
![Version: 2.7.0](https://img.shields.io/badge/Version-2.7.0-informational?style=flat-square) ![AppVersion: 1.12.1](https://img.shields.io/badge/AppVersion-1.12.1-informational?style=flat-square)

## Values

Expand Down Expand Up @@ -35,7 +35,7 @@
| image.doNotCheckTag | bool | `false` | Permit skipping operator image tag compatibility with the chart. |
| image.pullPolicy | string | `"IfNotPresent"` | Define the pullPolicy for Datadog Operator image |
| image.repository | string | `"gcr.io/datadoghq/operator"` | Repository to use for Datadog Operator image |
| image.tag | string | `"1.12.0"` | Define the Datadog Operator version to use |
| image.tag | string | `"1.12.1"` | Define the Datadog Operator version to use |
| imagePullSecrets | list | `[]` | Datadog Operator repository pullSecret (ex: specify docker registry credentials) |
| installCRDs | bool | `true` | Set to true to deploy the Datadog's CRDs |
| introspection.enabled | bool | `false` | If true, enables introspection feature (beta). Requires v1.4.0+ |
Expand Down
2 changes: 1 addition & 1 deletion charts/datadog-operator/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,6 @@ Check operator image tag version.
{{- if not .Values.image.doNotCheckTag -}}
{{- .Values.image.tag -}}
{{- else -}}
{{ "1.12.0" }}
{{ "1.12.1" }}
{{- end -}}
{{- end -}}
2 changes: 1 addition & 1 deletion charts/datadog-operator/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ image:
# image.repository -- Repository to use for Datadog Operator image
repository: gcr.io/datadoghq/operator
# image.tag -- Define the Datadog Operator version to use
tag: 1.12.0
tag: 1.12.1
# image.pullPolicy -- Define the pullPolicy for Datadog Operator image
pullPolicy: IfNotPresent
# image.doNotCheckTag -- Permit skipping operator image tag compatibility with the chart.
Expand Down
42 changes: 40 additions & 2 deletions charts/datadog/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,47 @@
# Datadog changelog

## 3.91.0
## 3.97.0

* Enable `system-probe` container on GKE Autopilot (requires GKE 1.32.1-gke.1376000 or later).

## 3.96.0

* Upgrade default Agent version to `7.63.0`.

## 3.95.0

* Fix a bug where setting `datadog.containerImageCollection.enabled` to `false` does not disable image collection.

## 3.94.0

* Support adding labels to the Agent service account via `agents.rbac.serviceAccountAdditionalLabels`.
* Support adding labels to the Cluster Agent service account via `clusterAgent.rbac.serviceAccountAdditionalLabels`.
* Support adding labels to the Cluster Checks Runner service account via `clusterChecksRunner.rbac.serviceAccountAdditionalLabels`.

## 3.93.0

* Revert "Add a mount for the Kubernetes PodResources socket."

## 3.92.0

* Add a mount for the Kubernetes PodResources socket.

## 3.91.0

* Add support for GPU monitoring

## 3.90.5

* Update `fips.image.tag` to `1.1.7` updating openSSL version to 3.0.16

## 3.90.4

* Fix RBAC rendering and map merge when `datadog.kubernetesResourcesAnnotationsAsTags` and/or `datadog.kubernetesResourcesLabelsAsTags` are used.

## 3.90.3

* Defaults `registry` to `gcr.io/datadoghq` when setting `datadog.site: us3.datadoghq.com` and deploying on GKE Autopilot (`providers.gke.autopilot: true`).

## 3.90.2

* Adds env vars `DD_AGENT_IPC_PORT` and `DD_AGENT_IPC_CONFIG_REFRESH_INTERVAL` when Otel Agent is enabled and adds flag `--sync-delay=30s` to otel agent.
Expand Down Expand Up @@ -46,7 +84,7 @@

## 3.87.0

* Launch `otel-agent` with the `--core-config` switch pointing to the main agent configuration. Note that this affects the OTel Agent beta images, early beta image releases with version tag `<7.59.0-v.1.2.0` will experience issues and should remain on older helm chart versions for their deployments. For regular users not deploying the `otel-agent` beta images, this should be a NOOP.
* Launch `otel-agent` with the `--core-config` switch pointing to the main agent configuration. Note that this affects the OTel Agent beta images, early beta image releases with version tag `<7.59.0-v.1.2.0` will experience issues and should remain on older helm chart versions for their deployments. For regular users not deploying the `otel-agent` beta images, this should be a NOOP.

## 3.86.0

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.91.0
version: 3.97.0
appVersion: "7"
description: Datadog Agent
keywords:
Expand Down
16 changes: 11 additions & 5 deletions charts/datadog/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Datadog

![Version: 3.91.0](https://img.shields.io/badge/Version-3.91.0-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)
![Version: 3.96.0](https://img.shields.io/badge/Version-3.96.0-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/).

Expand Down Expand Up @@ -525,7 +525,7 @@ helm install <RELEASE_NAME> \
| agents.image.pullPolicy | string | `"IfNotPresent"` | Datadog Agent image pull policy |
| agents.image.pullSecrets | list | `[]` | Datadog Agent repository pullSecret (ex: specify docker registry credentials) |
| agents.image.repository | string | `nil` | Override default registry + image.name for Agent |
| agents.image.tag | string | `"7.62.0"` | Define the Agent version to use |
| agents.image.tag | string | `"7.63.0"` | Define the Agent version to use |
| agents.image.tagSuffix | string | `""` | Suffix to append to Agent tag |
| agents.localService.forceLocalServiceEnabled | bool | `false` | Force the creation of the internal traffic policy service to target the agent running on the local node. By default, the internal traffic service is created only on Kubernetes 1.22+ where the feature became beta and enabled by default. 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. |
| agents.localService.overrideName | string | `""` | Name of the internal traffic service to target the agent running on the local node |
Expand All @@ -550,6 +550,7 @@ helm install <RELEASE_NAME> \
| agents.priorityPreemptionPolicyValue | string | `"PreemptLowerPriority"` | Set to "Never" to change the PriorityClass to non-preempting |
| agents.rbac.automountServiceAccountToken | bool | `true` | If true, automatically mount the ServiceAccount's API credentials if agents.rbac.create is true |
| agents.rbac.create | bool | `true` | If true, create & use RBAC resources |
| agents.rbac.serviceAccountAdditionalLabels | object | `{}` | Labels to add to the ServiceAccount if agents.rbac.create is true |
| agents.rbac.serviceAccountAnnotations | object | `{}` | Annotations to add to the ServiceAccount if agents.rbac.create is true |
| agents.rbac.serviceAccountName | string | `"default"` | Specify a preexisting ServiceAccount to use if agents.rbac.create is false |
| agents.revisionHistoryLimit | int | `10` | The number of ControllerRevision to keep in this DaemonSet. |
Expand Down Expand Up @@ -607,7 +608,7 @@ helm install <RELEASE_NAME> \
| clusterAgent.image.pullPolicy | string | `"IfNotPresent"` | Cluster Agent image pullPolicy |
| clusterAgent.image.pullSecrets | list | `[]` | Cluster Agent repository pullSecret (ex: specify docker registry credentials) |
| clusterAgent.image.repository | string | `nil` | Override default registry + image.name for Cluster Agent |
| clusterAgent.image.tag | string | `"7.62.0"` | Cluster Agent image tag to use |
| clusterAgent.image.tag | string | `"7.63.0"` | Cluster Agent image tag to use |
| clusterAgent.kubernetesApiserverCheck.disableUseComponentStatus | bool | `false` | Set this to true to disable use_component_status for the kube_apiserver integration. |
| clusterAgent.livenessProbe | object | Every 15s / 6 KO / 1 OK | Override default Cluster Agent liveness probe settings |
| clusterAgent.metricsProvider.aggregator | string | `"avg"` | Define the aggregator the cluster agent will use to process the metrics. The options are (avg, min, max, sum) |
Expand All @@ -628,6 +629,7 @@ helm install <RELEASE_NAME> \
| clusterAgent.rbac.automountServiceAccountToken | bool | `true` | If true, automatically mount the ServiceAccount's API credentials if clusterAgent.rbac.create is true |
| clusterAgent.rbac.create | bool | `true` | If true, create & use RBAC resources |
| clusterAgent.rbac.flareAdditionalPermissions | bool | `true` | If true, add Secrets and Configmaps get/list permissions to retrieve user Datadog Helm values from Cluster Agent namespace |
| clusterAgent.rbac.serviceAccountAdditionalLabels | object | `{}` | Labels to add to the ServiceAccount if clusterAgent.rbac.create is true |
| clusterAgent.rbac.serviceAccountAnnotations | object | `{}` | Annotations to add to the ServiceAccount if clusterAgent.rbac.create is true |
| clusterAgent.rbac.serviceAccountName | string | `"default"` | Specify a preexisting ServiceAccount to use if clusterAgent.rbac.create is false |
| clusterAgent.readinessProbe | object | Every 15s / 6 KO / 1 OK | Override default Cluster Agent readiness probe settings |
Expand Down Expand Up @@ -662,7 +664,7 @@ helm install <RELEASE_NAME> \
| clusterChecksRunner.image.pullPolicy | string | `"IfNotPresent"` | Datadog Agent image pull policy |
| clusterChecksRunner.image.pullSecrets | list | `[]` | Datadog Agent repository pullSecret (ex: specify docker registry credentials) |
| clusterChecksRunner.image.repository | string | `nil` | Override default registry + image.name for Cluster Check Runners |
| clusterChecksRunner.image.tag | string | `"7.62.0"` | Define the Agent version to use |
| clusterChecksRunner.image.tag | string | `"7.63.0"` | Define the Agent version to use |
| clusterChecksRunner.image.tagSuffix | string | `""` | Suffix to append to Agent tag |
| clusterChecksRunner.livenessProbe | object | Every 15s / 6 KO / 1 OK | Override default agent liveness probe settings |
| clusterChecksRunner.networkPolicy.create | bool | `false` | If true, create a NetworkPolicy for the cluster checks runners. DEPRECATED. Use datadog.networkPolicy.create instead |
Expand All @@ -673,6 +675,7 @@ helm install <RELEASE_NAME> \
| clusterChecksRunner.rbac.automountServiceAccountToken | bool | `true` | If true, automatically mount the ServiceAccount's API credentials if clusterChecksRunner.rbac.create is true |
| clusterChecksRunner.rbac.create | bool | `true` | If true, create & use RBAC resources |
| clusterChecksRunner.rbac.dedicated | bool | `false` | If true, use a dedicated RBAC resource for the cluster checks agent(s) |
| clusterChecksRunner.rbac.serviceAccountAdditionalLabels | object | `{}` | Labels to add to the ServiceAccount if clusterChecksRunner.rbac.dedicated is true |
| clusterChecksRunner.rbac.serviceAccountAnnotations | object | `{}` | Annotations to add to the ServiceAccount if clusterChecksRunner.rbac.dedicated is true |
| clusterChecksRunner.rbac.serviceAccountName | string | `"default"` | Specify a preexisting ServiceAccount to use if clusterChecksRunner.rbac.create is false |
| clusterChecksRunner.readinessProbe | object | Every 15s / 6 KO / 1 OK | Override default agent readiness probe settings |
Expand Down Expand Up @@ -749,6 +752,9 @@ helm install <RELEASE_NAME> \
| datadog.envFrom | list | `[]` | Set environment variables for all Agents directly from configMaps and/or secrets |
| datadog.excludePauseContainer | bool | `true` | Exclude pause containers from Agent Autodiscovery. |
| datadog.expvarPort | int | `6000` | Specify the port to expose pprof and expvar to not interfere with the agent metrics port from the cluster-agent, which defaults to 5000 |
| datadog.gpuMonitoring.configureCgroupPerms | bool | `false` | Configure cgroup permissions for GPU monitoring |
| datadog.gpuMonitoring.enabled | bool | `false` | Enable GPU monitoring |
| datadog.gpuMonitoring.runtimeClassName | string | `"nvidia"` | Runtime class name for the agent pods to get access to NVIDIA resources |
| datadog.helmCheck.collectEvents | bool | `false` | Set this to true to enable event collection in the Helm Check (Requires Agent 7.36.0+ and Cluster Agent 1.20.0+) This requires datadog.HelmCheck.enabled to be set to true |
| datadog.helmCheck.enabled | bool | `false` | Set this to true to enable the Helm check (Requires Agent 7.35.0+ and Cluster Agent 1.19.0+) This requires clusterAgent.enabled to be set to true |
| datadog.helmCheck.valuesAsTags | object | `{}` | Collects Helm values from a release and uses them as tags (Requires Agent and Cluster Agent 7.40.0+). This requires datadog.HelmCheck.enabled to be set to true |
Expand Down Expand Up @@ -885,7 +891,7 @@ helm install <RELEASE_NAME> \
| fips.image.name | string | `"fips-proxy"` | |
| fips.image.pullPolicy | string | `"IfNotPresent"` | Datadog the FIPS sidecar image pull policy |
| fips.image.repository | string | `nil` | Override default registry + image.name for the FIPS sidecar container. |
| fips.image.tag | string | `"1.1.6"` | Define the FIPS sidecar container version to use. |
| fips.image.tag | string | `"1.1.7"` | Define the FIPS sidecar container version to use. |
| fips.local_address | string | `"127.0.0.1"` | Set local IP address |
| fips.port | int | `9803` | Specifies which port is used by the containers to communicate to the FIPS sidecar. |
| fips.portRange | int | `15` | 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 |
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
agents:
enabled: true
rbac:
enabled: true
serviceAccountAdditionalLabels:
"app.kubernetes.io/custom-label": custom-value
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
datadog:
apiKey: "00000000000000000000000000000000"
appKey: "0000000000000000000000000000000000000000"
kubeStateMetricsEnabled: false
clusterChecks:
enabled: true

clusterAgent:
enabled: true
rbac:
create: true
serviceAccountAdditionalLabels:
"app.kubernetes.io/custom-label": custom-value

clusterChecksRunner:
enabled: true
replicas: 1
rbac:
dedicated: true
serviceAccountAdditionalLabels:
"app.kubernetes.io/custom-label": custom-value
4 changes: 1 addition & 3 deletions charts/datadog/templates/_container-agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -172,10 +172,8 @@
value: {{ .Values.datadog.expvarPort | quote }}
- name: DD_COMPLIANCE_CONFIG_ENABLED
value: {{ .Values.datadog.securityAgent.compliance.enabled | quote }}
{{- if eq (include "should-enable-container-image-collection" .) "true" }}
- name: DD_CONTAINER_IMAGE_ENABLED
value: "true"
{{- end }}
value: {{ include "should-enable-container-image-collection" . | quote }}
{{- if or (eq (include "should-enable-sbom-host-fs-collection" .) "true") (eq (include "should-enable-sbom-container-image-collection" .) "true") }}
- name: DD_SBOM_ENABLED
value: "true"
Expand Down
12 changes: 8 additions & 4 deletions charts/datadog/templates/_container-system-probe.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
{{- include "containers-common-env" . | nindent 4 }}
- name: DD_LOG_LEVEL
value: {{ .Values.agents.containers.systemProbe.logLevel | default .Values.datadog.logLevel | quote }}
{{- if .Values.datadog.serviceMonitoring.enabled }}
{{- if or .Values.datadog.serviceMonitoring.enabled .Values.datadog.gpuMonitoring.enabled }}
- name: HOST_ROOT
value: "/host/root"
{{- end }}
Expand Down Expand Up @@ -72,14 +72,14 @@
mountPath: /host/proc
mountPropagation: {{ .Values.datadog.hostVolumeMountPropagation }}
readOnly: true
{{- if or .Values.datadog.serviceMonitoring.enabled .Values.datadog.networkMonitoring.enabled .Values.datadog.discovery.enabled }}
{{- if or .Values.datadog.serviceMonitoring.enabled .Values.datadog.networkMonitoring.enabled .Values.datadog.discovery.enabled .Values.datadog.gpuMonitoring.enabled }}
- name: cgroups
mountPath: /host/sys/fs/cgroup
mountPropagation: {{ .Values.datadog.hostVolumeMountPropagation }}
readOnly: true
{{- end }}
{{- include "linux-container-host-release-volumemounts" . | nindent 4 }}
{{- if (eq (include "should-add-host-path-for-os-release-paths" .) "true") }}
{{- if (eq (include "should-add-host-path-for-os-release-paths" .) "true") }}
{{- if ne .Values.datadog.osReleasePath "/etc/redhat-release" }}
- name: etc-redhat-release
mountPath: /host/etc/redhat-release
Expand All @@ -96,12 +96,16 @@
readOnly: true
{{- end }}
{{- end }}
{{- if .Values.datadog.serviceMonitoring.enabled }}
{{- if or .Values.datadog.serviceMonitoring.enabled .Values.datadog.gpuMonitoring.enabled }}
- name: hostroot
mountPath: /host/root
mountPropagation: {{ .Values.datadog.hostVolumeMountPropagation }}
readOnly: true
{{- end }}
{{- if .Values.datadog.gpuMonitoring.enabled }}
- name: gpu-devices
mountPath: /var/run/nvidia-container-devices/all
{{- end }}
{{- if and (eq (include "runtime-compilation-enabled" .) "true") .Values.datadog.systemProbe.enableDefaultKernelHeadersPaths }}
- name: modules
mountPath: /lib/modules
Expand Down
7 changes: 6 additions & 1 deletion charts/datadog/templates/_daemonset-volumes-linux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
path: /etc/passwd
name: passwd
{{- end }}
{{- if or (and (eq (include "should-enable-system-probe" .) "true") .Values.datadog.serviceMonitoring.enabled) (and (eq (include "should-enable-security-agent" .) "true") .Values.datadog.securityAgent.compliance.enabled) }}
{{- if or (and (eq (include "should-enable-system-probe" .) "true") (or .Values.datadog.serviceMonitoring.enabled .Values.datadog.gpuMonitoring.enabled)) (and (eq (include "should-enable-security-agent" .) "true") .Values.datadog.securityAgent.compliance.enabled) }}
- hostPath:
path: /
name: hostroot
Expand Down Expand Up @@ -219,4 +219,9 @@
secretName: datadog-kubelet-cert
name: kubelet-cert-volume
{{- end }}
{{- if .Values.datadog.gpuMonitoring.enabled }}
- name: gpu-devices
hostPath:
path: /dev/null
{{- end }}
{{- end -}}
4 changes: 2 additions & 2 deletions charts/datadog/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,7 @@ eu.gcr.io/datadoghq
public.ecr.aws/datadog
{{- else if eq .datadog.site "ap1.datadoghq.com" -}}
asia.gcr.io/datadoghq
{{- else if eq .datadog.site "us3.datadoghq.com" -}}
{{- else if and (eq .datadog.site "us3.datadoghq.com") (not .providers.gke.autopilot) -}}
datadoghq.azurecr.io
{{- else -}}
gcr.io/datadoghq
Expand Down Expand Up @@ -329,7 +329,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 -}}
{{- 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 -}}
true
{{- else -}}
false
Expand Down
3 changes: 3 additions & 0 deletions charts/datadog/templates/agent-clusterchecks-rbac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ metadata:
chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
heritage: {{ .Release.Service | quote }}
release: {{ .Release.Name | quote }}
{{- if .Values.clusterChecksRunner.rbac.serviceAccountAdditionalLabels -}}
{{ tpl (toYaml .Values.clusterChecksRunner.rbac.serviceAccountAdditionalLabels) . | nindent 4}}
{{- end }}
name: {{ template "datadog.fullname" . }}-cluster-checks
namespace: {{ .Release.Namespace }}
{{- if .Values.clusterChecksRunner.rbac.serviceAccountAnnotations }}
Expand Down
Loading

0 comments on commit ecbb147

Please sign in to comment.