pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/DataDog/datadog-operator/pull/2572

global-94620c216484da1f.css" /> enhancement: add feature-based support for Agent Data Plane by tobz · Pull Request #2572 · DataDog/datadog-operator · GitHub
Skip to content

enhancement: add feature-based support for Agent Data Plane#2572

Open
tobz wants to merge 7 commits intomainfrom
tobz/adp-ga-support-20260106
Open

enhancement: add feature-based support for Agent Data Plane#2572
tobz wants to merge 7 commits intomainfrom
tobz/adp-ga-support-20260106

Conversation

@tobz
Copy link
Member

@tobz tobz commented Feb 4, 2026

What does this PR do?

This PR adds first-class CRD support for the Agent Data Plane (ADP) feature in the Datadog Operator, transitioning it from an experimental annotation-based feature to a proper GA configuration option.

We've added a new dataplane feature, and updated the DatadogAgent CRD to expose a new dataPlane feature section for both enabling and configuring ADP:

spec:
 features:
   dataPlane:
     enabled: true          # Enable ADP sidecar container
     dogstatsd:
       enabled: true        # Delegate DogStatsD to ADP

We still maintain support for the legacy annotation (agent.datadoghq.com/adp-enabled) with CRD taking precedence but this will be removed in the near future.

Motivation

Agent Data Plane (ADP) is a high-performance sidecar container that handles data ingestion (e.g., DogStatsD metrics) alongside the Core Agent. This enables better resource utilization and performance for high-throughput workloads.

We're adding this as a new feature because while currently ADP only supports handling DogStatsD, it will eventually handle more than just DogStatsD... so we don't want to add it as a setting of the DogStatsD feature, but as its own standalone feature.

Additional Notes

We've updated the logic to determine when ADP is enabled, both to support the new feature-based configuration as well as allow the (now deprecated) annotation-based mechanism to continue working.

Precedence Logic:

  1. spec.features.dataPlane.enabled is explicitly set: use CRD value
  2. if annotation agent.datadoghq.com/adp-enabled is set: use annotation value (deprecated)
  3. otherwise, disabled (default)

Minimum Agent Versions

  • Agent: v7.75.0 (ADP support)
  • Cluster Agent: N/A (ADP runs on node agent only)

Describe your test plan

  1. Unit Tests: New tests in feature/dataplane/feature_test.go covering:

    • ADP disabled (default)
    • ADP disabled via explicit CRD setting overriding annotation
    • ADP enabled via CRD
    • ADP with DogStatsD delegation enabled
    • Container name and environment variable verification
  2. Factory Tests: Updated feature/test/factory_test.go to verify ADP container is included when enabled

  3. End-to-end Tests: Added four new E2E tests exercising DogStatsD: ADP enabled/disabled, for both UDP and UDS. Ensures that the right environment variables are set, that the ADP container does/doesn't exist, that host port mappings move to the right container, etc.

  4. Manual Testing:

    # Deploy with ADP enabled
    kubectl apply -f - <<EOF
    apiVersion: datadoghq.com/v2alpha1
    kind: DatadogAgent
    metadata:
      name: datadog
    spec:
      global:
        credentials:
          apiSecret:
            secretName: datadog-secret
            keyName: api-key
      features:
        dataPlane:
          enabled: true
          dogstatsd:
            enabled: true
    EOF
    
    # Verify ADP container is running
    kubectl get pods -l app.kubernetes.io/name=datadog-agent-deployment -o jsonpath='{.items[0].spec.containers[*].name}'
    # Should include: agent-data-plane
    
    # Verify environment variables
    kubectl get ds datadog-agent -o jsonpath='{.spec.template.spec.containers[?(@.name=="agent")].env}' | jq '.[] | select(.name | startswith("DD_DATA_PLANE"))'

Checklist

  • PR has at least one valid label: bug, enhancement, refactoring, documentation, tooling, and/or dependencies
  • PR has a milestone or the qa/skip-qa label
  • All commits are signed (see: signing commits)

@tobz tobz requested review from a team as code owners February 4, 2026 21:26
@tobz tobz changed the title Tobz/adp ga support 20260106 enhancement: add feature-based support for Agent Data Plane Feb 4, 2026
@tobz tobz added enhancement New feature or request auto-closed Issue automatically closed due to inactivity labels Feb 4, 2026
Copy link

@git-thuerk-done git-thuerk-done left a comment

Choose a reason for hiding this comment

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

Good for docs

@tobz tobz removed the auto-closed Issue automatically closed due to inactivity label Feb 9, 2026
@levan-m levan-m added this to the v1.25.0 milestone Feb 9, 2026
@tobz tobz force-pushed the tobz/adp-ga-support-20260106 branch from 92d66a4 to b282a0e Compare February 10, 2026 10:07
@codecov-commenter
Copy link

codecov-commenter commented Feb 11, 2026

Codecov Report

❌ Patch coverage is 53.06122% with 46 lines in your changes missing coverage. Please review.
✅ Project coverage is 38.60%. Comparing base (d40ca9e) to head (38ce059).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
pkg/testutils/builder.go 0.00% 20 Missing ⚠️
...nal/controller/datadogagent/feature/utils/utils.go 0.00% 11 Missing ⚠️
...ntroller/datadogagent/feature/dataplane/feature.go 80.76% 9 Missing and 1 partial ⚠️
...controller/datadogagent/component/agent/default.go 0.00% 2 Missing ⚠️
...ntroller/datadogagent/feature/dogstatsd/feature.go 71.42% 2 Missing ⚠️
...ller/datadogagent/feature/enabledefault/feature.go 0.00% 1 Missing ⚠️

❌ Your patch status has failed because the patch coverage (53.06%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2572      +/-   ##
==========================================
- Coverage   38.68%   38.60%   -0.08%     
==========================================
  Files         307      308       +1     
  Lines       26539    26698     +159     
==========================================
+ Hits        10266    10308      +42     
- Misses      15499    15616     +117     
  Partials      774      774              
Flag Coverage Δ
unittests 38.60% <53.06%> (-0.08%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
internal/controller/datadogagent/controller.go 92.85% <ø> (ø)
...ller/datadogagent/defaults/datadogagent_default.go 87.27% <100.00%> (+0.23%) ⬆️
...rnal/controller/datadogagentinternal/controller.go 0.00% <ø> (ø)
...ller/datadogagent/feature/enabledefault/feature.go 0.00% <0.00%> (-76.09%) ⬇️
...controller/datadogagent/component/agent/default.go 44.80% <0.00%> (-0.07%) ⬇️
...ntroller/datadogagent/feature/dogstatsd/feature.go 69.48% <71.42%> (+0.60%) ⬆️
...ntroller/datadogagent/feature/dataplane/feature.go 80.76% <80.76%> (ø)
...nal/controller/datadogagent/feature/utils/utils.go 0.00% <0.00%> (ø)
pkg/testutils/builder.go 0.00% <0.00%> (ø)

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d40ca9e...38ce059. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@tobz tobz force-pushed the tobz/adp-ga-support-20260106 branch from ce5232c to c1f3fb8 Compare February 11, 2026 20:11
@tobz tobz force-pushed the tobz/adp-ga-support-20260106 branch from c1f3fb8 to 6c884ad Compare February 11, 2026 20:15
@levan-m levan-m requested review from a team as code owners March 3, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy