From ec02444e7a99f7e6b8e4e792e584d3ad5bab4ac0 Mon Sep 17 00:00:00 2001 From: Jake Scaltreto Date: Sun, 2 Feb 2025 09:42:46 -0500 Subject: [PATCH] fix(datadog): RBAC for resources labels/annotations as tags --- charts/datadog/CHANGELOG.md | 4 ++++ charts/datadog/Chart.yaml | 2 +- charts/datadog/README.md | 2 +- charts/datadog/templates/cluster-agent-rbac.yaml | 13 ++++++------- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/charts/datadog/CHANGELOG.md b/charts/datadog/CHANGELOG.md index d75cfe9fe..f8f5e44aa 100644 --- a/charts/datadog/CHANGELOG.md +++ b/charts/datadog/CHANGELOG.md @@ -1,5 +1,9 @@ # Datadog changelog +## 3.90.1 + +* Fix RBAC rendering and map merge when `datadog.kubernetesResourcesAnnotationsAsTags` and/or `datadog.kubernetesResourcesLabelsAsTags` are used. + ## 3.90.0 * Set default `Agent` and `Cluster-Agent` version to `7.62.0`. diff --git a/charts/datadog/Chart.yaml b/charts/datadog/Chart.yaml index b635bf643..1a8613e44 100644 --- a/charts/datadog/Chart.yaml +++ b/charts/datadog/Chart.yaml @@ -1,7 +1,7 @@ --- apiVersion: v1 name: datadog -version: 3.90.0 +version: 3.90.1 appVersion: "7" description: Datadog Agent keywords: diff --git a/charts/datadog/README.md b/charts/datadog/README.md index d57854a2f..1f3c7e954 100644 --- a/charts/datadog/README.md +++ b/charts/datadog/README.md @@ -1,6 +1,6 @@ # Datadog -![Version: 3.90.0](https://img.shields.io/badge/Version-3.90.0-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square) +![Version: 3.90.1](https://img.shields.io/badge/Version-3.90.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/). diff --git a/charts/datadog/templates/cluster-agent-rbac.yaml b/charts/datadog/templates/cluster-agent-rbac.yaml index 8bf355ebb..9f0cdd917 100644 --- a/charts/datadog/templates/cluster-agent-rbac.yaml +++ b/charts/datadog/templates/cluster-agent-rbac.yaml @@ -515,14 +515,13 @@ metadata: namespace: {{ .Release.Namespace }} {{- $groupedResources := dict }} -{{- $mergedResources := merge (default dict .Values.datadog.kubernetesResourcesAnnotationsAsTags) (default dict .Values.datadog.kubernetesResourcesLabelsAsTags)}} +{{- $mergedResources := mergeOverwrite dict (default dict .Values.datadog.kubernetesResourcesAnnotationsAsTags) (default dict .Values.datadog.kubernetesResourcesLabelsAsTags)}} {{- range $resource, $labels := $mergedResources }} - {{- $parts := split "." $resource }} + {{- $parts := splitList "." $resource }} {{- $apiGroup := "" }} - {{- $resourceName := $resource }} - {{- if eq (len $parts) 2 }} - {{- $apiGroup = index $parts "_1" }} - {{- $resourceName = index $parts "_0" }} + {{- $resourceName := mustFirst $parts }} + {{- if gt (len $parts) 1 }} + {{- $apiGroup = join "." (mustRest $parts) }} {{- end }} {{- $existing := index $groupedResources $apiGroup | default (list) }} {{- $groupedResources = set $groupedResources $apiGroup (append $existing $resourceName) }} @@ -559,4 +558,4 @@ subjects: - kind: ServiceAccount name: {{ template "datadog.fullname" . }}-cluster-agent namespace: {{ .Release.Namespace }} -{{- end -}} \ No newline at end of file +{{- end -}}