Skip to content

feat(csi): support private APM registries - #3345

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits into
mainfrom
luc/csi-private-registry-auth
Aug 19, 2026
Merged

feat(csi): support private APM registries#3345
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits into
mainfrom
luc/csi-private-registry-auth

Conversation

@iamluc

@iamluc iamluc commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Description

Wire private registry authentication for SSI library downloads through the Operator-managed CSI driver, aligned with the Helm chart (DD_APM_REGISTRY_AUTH_* via secretKeyRef on .dockerconfigjson).

  • Add spec.global.csi.apm.pullSecrets on DatadogAgent and propagate it to the managed DatadogCSIDriver
  • Add spec.apm.pullSecrets on DatadogCSIDriver, with fallback to csiDriverImage.pullSecrets (optional: true for legacy dockercfg)
  • Skip registry auth env vars when APM is disabled or on GKE Autopilot
  • Bump the default CSI driver image to 1.4.0

Also fixes the untaint e2e suite: enable untaintController.* via Helm chart values instead of DD_UNTAINT_* env vars alone. The chart always passes -untaintControllerEnabled=... as a CLI flag, which overrides env (env is applied before flag.Parse()), so the controller never started and the Agent never got the startup toleration — causing e2e_untaint to time out waiting for the Agent on the tainted node. Validated locally: TestUntaintAgentOnlyAWSKind PASS.

Related Issue

Type of Change

  • New feature
  • Bug fix

Checklist

  • Documentation updated if needed
  • Tests added or updated
  • No unintended breaking changes

How Has This Been Tested?

  • go test ./internal/controller/datadogcsidriver/...
  • go test ./internal/controller/datadogagent/ -run TestReconcileDatadogCSIDriver_
  • Local e2e: TestUntaintAgentOnlyAWSKind PASS after the Helm values fix

Additional Notes

Classic Operator path is configure-only-on-DatadogAgent and let it manage the CSI CR.

Pass dockerconfigjson credentials to the CSI driver for SSI library
downloads, aligned with the Helm chart, and bump the default image to
1.4.0. Expose the setting on DatadogAgent so managed CSI installs can
configure it without editing the DatadogCSIDriver CR.
@datadog-official

datadog-official Bot commented Aug 11, 2026

Copy link
Copy Markdown

Code Coverage

🎯 Code Coverage (details)
Patch Coverage: 95.12%
Overall Coverage: 50.20% (+0.06%)

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 7952c10 | Docs | Datadog PR Page | Give us feedback!

@iamluc iamluc added this to the v1.31.0 milestone Aug 13, 2026
iamluc added 2 commits August 13, 2026 16:01
Replace ptr.To(...) with new(...) for SecretKeyRef.Optional so
golangci-lint modernize passes on Go 1.26.
Keep only datadog-csi-driver.apm.pullSecrets, which is the real
subchart value path used by Helm installs.
@iamluc
iamluc marked this pull request as ready for review August 13, 2026 14:21
@iamluc
iamluc requested a review from a team August 13, 2026 14:21
@iamluc
iamluc requested review from a team as code owners August 13, 2026 14:21
@iamluc iamluc added the enhancement New feature or request label Aug 13, 2026
@clreaume clreaume self-assigned this Aug 13, 2026
@clreaume
clreaume removed the request for review from a team August 13, 2026 18:19
iamluc added 2 commits August 14, 2026 13:54
Env-only DD_UNTAINT_* was overridden by the chart's
-untaintControllerEnabled=false CLI flag, so the suite never
injected the startup toleration.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants