Skip to content

Conversation

@tbavelier
Copy link
Member

@tbavelier tbavelier commented Oct 30, 2025

What does this PR do?

Start implementing DDOT gateway interfaces using the componentreconciler

Note the actual gateway feature, RBAC, HPA etc. are not yet implemented in this PR and will be in follow-up PRs.

Motivation

Working towards DDOT gateway support in operator

Additional Notes

No QA needed for now since this PR only adds the interfaces but no implementations.

Minimum Agent Versions

Are there minimum versions of the Datadog Agent and/or Cluster Agent required?

  • Agent: vX.Y.Z
  • Cluster Agent: vX.Y.Z

Describe your test plan

Write there any instructions and details you may have to test your PR.

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

@tbavelier tbavelier added this to the v1.21.0 milestone Oct 30, 2025
@tbavelier tbavelier added the enhancement New feature or request label Oct 30, 2025
@codecov-commenter
Copy link

codecov-commenter commented Oct 30, 2025

Codecov Report

❌ Patch coverage is 10.64815% with 193 lines in your changes missing coverage. Please review.
✅ Project coverage is 37.09%. Comparing base (490d736) to head (185911c).

Files with missing lines Patch % Lines
...dogagentinternal/component_otelcollectorgateway.go 0.00% 48 Missing ⚠️
...datadogagent/component/otelagentgateway/default.go 0.00% 45 Missing ⚠️
...ler/datadogagent/component_otelcollectorgateway.go 43.75% 26 Missing and 1 partial ⚠️
...r/datadogagent/feature/otelagentgateway/feature.go 0.00% 25 Missing ⚠️
...nal/controller/datadogagent/global/dependencies.go 0.00% 13 Missing ⚠️
...roller/datadogagent/global/otelcollectorgateway.go 0.00% 8 Missing ⚠️
pkg/testutils/builder.go 0.00% 8 Missing ⚠️
pkg/constants/utils.go 0.00% 7 Missing ⚠️
internal/controller/datadogagent/common/utils.go 0.00% 4 Missing ⚠️
.../controller/datadogagent/feature/test/testsuite.go 0.00% 4 Missing ⚠️
... and 2 more
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2276      +/-   ##
==========================================
- Coverage   37.32%   37.09%   -0.23%     
==========================================
  Files         290      296       +6     
  Lines       24720    24935     +215     
==========================================
+ Hits         9226     9249      +23     
- Misses      14781    14971     +190     
- Partials      713      715       +2     
Flag Coverage Δ
unittests 37.09% <10.64%> (-0.23%) ⬇️

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 53.57% <100.00%> (+1.71%) ⬆️
internal/controller/datadogagent/profile.go 73.61% <100.00%> (+0.18%) ⬆️
...er/datadogagent/component/otelagentgateway/rbac.go 0.00% <0.00%> (ø)
...er/datadogagent/controller_reconcile_v2_helpers.go 54.96% <0.00%> (-0.86%) ⬇️
internal/controller/datadogagent/common/utils.go 0.00% <0.00%> (ø)
.../controller/datadogagent/feature/test/testsuite.go 0.00% <0.00%> (ø)
pkg/constants/utils.go 8.20% <0.00%> (-0.46%) ⬇️
...roller/datadogagent/global/otelcollectorgateway.go 0.00% <0.00%> (ø)
pkg/testutils/builder.go 0.00% <0.00%> (ø)
...nal/controller/datadogagent/global/dependencies.go 18.87% <0.00%> (-1.04%) ⬇️
... and 4 more

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 490d736...185911c. Read the comment docs.

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

@songy23 songy23 self-requested a review October 30, 2025 14:11
Copy link
Member

@songy23 songy23 left a comment

Choose a reason for hiding this comment

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

A high-level question: where are Services defined in operator? In DDOT Gateway we need to create a k8s Service to expose the gateway pods: https://github.com/DataDog/helm-charts/blob/main/charts/datadog/templates/agent-services.yaml#L119

@tbavelier
Copy link
Member Author

A high-level question: where are Services defined in operator? In DDOT Gateway we need to create a k8s Service to expose the gateway pods: https://github.com/DataDog/helm-charts/blob/main/charts/datadog/templates/agent-services.yaml#L119

This is done within the ManageDependencies of a feature. Added in 0363326:

╰─❯ k describe svc datadog-agent-otel-collector-gateway
Name:                     datadog-agent-otel-collector-gateway
Namespace:                system
Labels:                   app.kubernetes.io/instance=datadog-agent
                          app.kubernetes.io/managed-by=datadog-operator
                          app.kubernetes.io/name=datadog-agent-deployment
                          app.kubernetes.io/part-of=system-datadog--agent
                          app.kubernetes.io/version=
                          operator.datadoghq.com/managed-by-store=true
Annotations:              <none>
Selector:                 agent.datadoghq.com/component=otel-collector-gateway,app.kubernetes.io/part-of=system-datadog--agent
Type:                     ClusterIP
IP Family Policy:         SingleStack
IP Families:              IPv4
IP:                       10.96.102.42
IPs:                      10.96.102.42
Port:                     otlpgrpcport  4317/TCP
TargetPort:               4317/TCP
Endpoints:                10.244.1.10:4317
Port:                     otlphttpport  4318/TCP
TargetPort:               4318/TCP
Endpoints:                10.244.1.10:4318
Session Affinity:         None
Internal Traffic Policy:  Local
Events:                   <none>

Copy link
Member

@songy23 songy23 left a comment

Choose a reason for hiding this comment

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

Looks good so far, just a few naming suggestions

@songy23 songy23 force-pushed the tbavelier/ddot-with-interface-component branch from 7f1efb8 to ed3e0fb Compare November 10, 2025 20:38
@tbavelier tbavelier modified the milestones: v1.21.0, v1.22.0 Nov 14, 2025
Base automatically changed from tbavelier/component-reconcile-interface-rf-clean to main December 17, 2025 19:46
@songy23 songy23 marked this pull request as ready for review December 22, 2025 21:58
@songy23 songy23 requested a review from a team as a code owner December 22, 2025 21:58
@songy23 songy23 force-pushed the tbavelier/ddot-with-interface-component branch from 2b17956 to cd9ca08 Compare December 23, 2025 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request qa/skip-qa

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants