Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(error-tracking): add settings for backend standalone #1625

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
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.84.0

* Add `agents.coreAgent.enabled` and `datadog.apm.errorTrackingStandalone.enabled` settings to enable Error Tracking backend standalone.

## 3.83.0

* Added the configuration value `datadog.disablePasswdMount` to disable mounting the `/etc/passwd` path from the host filesystem. This option should be used when the underlying OS does not have these files (e.g., Talos OS).
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.83.0
version: 3.84.0
appVersion: "7"
description: Datadog Agent
keywords:
Expand Down
4 changes: 3 additions & 1 deletion charts/datadog/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Datadog

![Version: 3.83.0](https://img.shields.io/badge/Version-3.83.0-informational?style=flat-square) ![AppVersion: 7](https://img.shields.io/badge/AppVersion-7-informational?style=flat-square)
![Version: 3.84.0](https://img.shields.io/badge/Version-3.84.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 @@ -515,6 +515,7 @@ helm install <RELEASE_NAME> \
| agents.containers.traceAgent.ports | list | `[]` | Allows to specify extra ports (hostPorts for instance) for this container |
| agents.containers.traceAgent.resources | object | `{}` | Resource requests and limits for the trace-agent container |
| agents.containers.traceAgent.securityContext | object | `{}` | Allows you to overwrite the default container SecurityContext for the trace-agent container. |
| agents.coreAgent.enabled | bool | `true` | Enabled metric data submission (including Custom Metrics) and payloads forwarding to other agents. |
| agents.customAgentConfig | object | `{}` | Specify custom contents for the datadog agent config (datadog.yaml) |
| agents.daemonsetAnnotations | object | `{}` | Annotations to add to the DaemonSet |
| agents.dnsConfig | object | `{}` | specify dns configuration options for datadog cluster agent containers e.g ndots |
Expand Down Expand Up @@ -690,6 +691,7 @@ helm install <RELEASE_NAME> \
| 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 |
| datadog.apm.errorTrackingStandalone.enabled | bool | `false` | Enable sending only traces for Error Tracking backend standalone. |
| datadog.apm.hostSocketPath | string | `"/var/run/datadog/"` | Host path to the trace-agent socket |
| datadog.apm.instrumentation.disabledNamespaces | list | `[]` | Disable injecting the Datadog APM libraries into pods in specific namespaces (beta). |
| datadog.apm.instrumentation.enabled | bool | `false` | Enable injecting the Datadog APM libraries into all pods in the cluster (beta). |
Expand Down
4 changes: 4 additions & 0 deletions charts/datadog/templates/_container-agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,10 @@
{{- else }}
{{- include "containers-cluster-agent-env" . | nindent 4 }}
{{- end }}
- name: DD_APM_ERROR_TRACKING_STANDALONE_ENABLED
value: {{ .Values.datadog.apm.errorTrackingStandalone.enabled | quote }}
- name: DD_CORE_AGENT_ENABLED
value: {{ .Values.agents.coreAgent.enabled | quote }}
- name: DD_APM_ENABLED
value: {{ include "should-enable-trace-agent" . | quote }}
- name: DD_LOGS_ENABLED
Expand Down
10 changes: 10 additions & 0 deletions charts/datadog/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -510,6 +510,11 @@ datadog:
# datadog.apm.hostSocketPath -- Host path to the trace-agent socket
hostSocketPath: /var/run/datadog/

# Error Tracking backend standalone
errorTrackingStandalone:
# datadog.apm.errorTrackingStandalone.enabled -- Enable sending only traces for Error Tracking backend standalone.
enabled: false

# APM Single Step Instrumentation
# This feature is in beta. It requires Cluster Agent 7.49+.
instrumentation:
Expand Down Expand Up @@ -1519,6 +1524,11 @@ agents:
## get guaranteed delivery of the metrics in Datadog-per-namespace setup!
enabled: true

## Settings for the core agent
coreAgent:
Copy link
Collaborator

@clamoriniere clamoriniere Dec 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn’t seem ideal to base the activation or deactivation of a feature on a container name (coreAgent). While this approach has been used in the past, we are now aiming to define settings names based on the end-user feature rather than internal or technical details.

Additionally, the proposed setting name feels too generic. It would be preferable to use a name that is both clear and self-explanatory. For example, something along the lines of agents.payloadForwarder.enabled or, considering the functionality in the datadog-agent codebase, agents.metricsForwarder.enabled might be more appropriate.

WDYT?

# agents.coreAgent.enabled -- Enabled metric data submission (including Custom Metrics) and payloads forwarding to other agents.
enabled: true

# agents.shareProcessNamespace -- Set the process namespace sharing on the Datadog Daemonset
shareProcessNamespace: false

Expand Down
Loading