Skip to content

Stop force-disabling cluster-wide components on profile DDAIs - #3586

Draft
gabedos wants to merge 1 commit into
mainfrom
gabe.dossantos/profile-shared-components-signal
Draft

gabedos wants to merge 1 commit into
mainfrom
gabe.dossantos/profile-shared-components-signal

Conversation

@gabedos

@gabedos gabedos commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

What does this PR do?

Gives profile DDAIs a dedicated signal for "don't deploy cluster-wide components from this DDAI", instead of overloading override.<component>.disabled.

  • setProfileSpec no longer forces override.{clusterAgent,clusterChecksRunner,otelAgentGateway}.disabled: true on user-created profile DDAIs. Thus keeps real values.

Motivation

override.clusterAgent.disabled is a user-facing setting. On profile DDAIs it was always true, set by the operator, whether or not the user disabled the Cluster Agent. So code reading it on a DDAI can't tell "the user runs without a Cluster Agent" from "another DDAI deploys the Cluster Agent".

This change makes it so the spec contains the true state of whether the component exists (even if it's managed by some external DDAI)

This should land before #3549 which is trying to actually take decisions if the cluster agent is disabled.

QA

Manual:

  1. Deploy the operator with profiles enabled, a DDA with the Cluster Agent enabled, and one DatadogAgentProfile.
  2. kubectl get ddai <profile-ddai> -o jsonpath='{.spec.override.clusterAgent}': should not contain disabled: true.
  3. Check that a single Cluster Agent Deployment exists, owned by the default DDAI

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)

🤖 Generated with Claude Code

Profile DDAIs used override.<component>.disabled=true to avoid deploying a
second Cluster Agent, CCR, or OTel Agent Gateway. That overloads a user-facing
config field: code reading override.clusterAgent.disabled on a profile DDAI
can't tell "the user has no Cluster Agent" from "another DDAI deploys it".

Instead, the DDAI component reconciler skips cluster-wide components for
DDAIs carrying the profile label, and profile DDAIs keep the user's
component overrides as inherited from the DDA.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@gabedos gabedos added this to the v1.33.0 milestone Oct 9, 2026
@gabedos gabedos added the bug Something isn't working label Oct 9, 2026
@datadog-official

This comment has been minimized.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working team/container-platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant