enhancement: add feature-based support for Agent Data Plane#2572
enhancement: add feature-based support for Agent Data Plane#2572
Conversation
92d66a4 to
b282a0e
Compare
Codecov Report❌ Patch coverage is ❌ 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@@ 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
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 2 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
ce5232c to
c1f3fb8
Compare
c1f3fb8 to
6c884ad
Compare
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
dataplanefeature, and updated theDatadogAgentCRD to expose a newdataPlanefeature section for both enabling and configuring 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:
spec.features.dataPlane.enabledis explicitly set: use CRD valueagent.datadoghq.com/adp-enabledis set: use annotation value (deprecated)Minimum Agent Versions
Describe your test plan
Unit Tests: New tests in
feature/dataplane/feature_test.gocovering:Factory Tests: Updated
feature/test/factory_test.goto verify ADP container is included when enabledEnd-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.
Manual Testing:
Checklist
bug,enhancement,refactoring,documentation,tooling, and/ordependenciesqa/skip-qalabel