Skip to content

[CONTINT-5217][CONTINT-5218][CONTINT-5219][CONTINT-5220] Upgrade Docker SDK from docker/docker v28 to moby/moby v29#48777

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 11 commits intomainfrom
lenaic/CONTINT-5217-CONTINT-5218-CONTINT-5219-CONTINT-5220-upgrade-docker-sdk-v29
Apr 10, 2026
Merged

[CONTINT-5217][CONTINT-5218][CONTINT-5219][CONTINT-5220] Upgrade Docker SDK from docker/docker v28 to moby/moby v29#48777
gh-worker-dd-mergequeue-cf854d[bot] merged 11 commits intomainfrom
lenaic/CONTINT-5217-CONTINT-5218-CONTINT-5219-CONTINT-5220-upgrade-docker-sdk-v29

Conversation

@L3n41c
Copy link
Copy Markdown
Member

@L3n41c L3n41c commented Apr 1, 2026

What does this PR do?

Migrates the Docker SDK dependency from github.com/docker/docker v28.5.2+incompatible to github.com/moby/moby v29 sub-modules (moby/moby/api v1.54.1, moby/moby/client v0.4.0) to fix two security vulnerabilities:

Docker Engine v29 restructured its Go modules into separate sub-modules with a new Options/Result API pattern. This PR updates all 55 affected files across the codebase:

  • All github.com/docker/docker/* imports replaced with github.com/moby/moby/* equivalents
  • DockerUtil wrapper adapted to v29 Options/Result method signatures
  • Filters migrated from api/types/filters.Args to client.Filters
  • Removed types handled: ContainerJSONBase (flattened), image.Summary.VirtualSize, image.InspectResponse.DockerVersion/ContainerConfig
  • Type changes adapted: IPAddress (stringnetip.Addr), Port (nat.Portnetwork.Port), ContainerState (string → typed)
  • libnetwork/resolvconf replaced with inline implementation (removed from moby/moby in v29)
  • ContainerExec*Exec* method renames applied in e2e framework
  • DataDog/trivy fork updated to PR #32 which reduces docker/docker usage
  • replace directive added to pin the remaining indirect docker/docker dependency (from otel-collector-contrib) to the 28.x branch head which includes backported security fixes

Motivation

Fix CVE-2026-34040 and CVE-2026-33997 affecting both the agent and cluster-agent binaries.

Jira: CONTINT-5217, CONTINT-5218, CONTINT-5219, CONTINT-5220, VULN-59766, VULN-59767, VULN-59774, VULN-59775

Describe how you validated your changes

  • dda inv agent.build --build-exclude=systemd — PASS
  • dda inv cluster-agent.build — PASS
  • dda inv test --targets=./pkg/util/docker/... — ALL PASSED
  • dda inv test --targets=./pkg/collector/corechecks/containers/docker/... — 15/15 PASSED
  • dda inv test --targets=./pkg/util/containers/metrics/docker/... — ALL PASSED
  • dda inv test --targets=./comp/core/workloadmeta/collectors/internal/docker/... — 13/13 PASSED

Additional Notes

Indirect docker/docker dependency: github.com/docker/docker remains as an indirect dependency pulled in transitively by opentelemetry-collector-contrib/dockerobserver and other third-party modules. A replace directive pins it to the 28.x branch head (31a1689cb0a1) which includes the same security fixes backported from v29.3.1 (not yet released as a tagged v28.x version). No datadog-agent code directly imports from docker/docker anymore.

docker.image.virtual_size metric: This metric now reports image.Size instead of the removed image.VirtualSize field. These values have been identical since Docker API v1.44 (VirtualSize was already deprecated).

@L3n41c L3n41c added this to the 7.79.0 milestone Apr 1, 2026
@L3n41c L3n41c added changelog/no-changelog No changelog entry needed dependencies PRs that bump a dependency dependencies-go PRs that bump a go dependency qa/done QA done before merge and regressions are covered by tests team/container-integrations backport/7.78.x Automatically create a backport PR to the 7.78.x branch once the PR is merged labels Apr 1, 2026
@agent-platform-auto-pr
Copy link
Copy Markdown
Contributor

agent-platform-auto-pr bot commented Apr 1, 2026

Go Package Import Differences

Baseline: 61fdef4
Comparison: c1e5bcd

binaryosarchchange
agentlinuxamd64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/docker/pkg/system
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
agentlinuxarm64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/docker/pkg/system
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
agentwindowsamd64
+20, -23
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
agentdarwinamd64
+25, -10
+github.com/containerd/errdefs
+github.com/containerd/errdefs/pkg/errhttp
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/versions
-github.com/docker/go-connections/nat
+github.com/distribution/reference
+github.com/docker/go-connections/sockets
+github.com/docker/go-connections/tlsconfig
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
agentdarwinarm64
+25, -10
+github.com/containerd/errdefs
+github.com/containerd/errdefs/pkg/errhttp
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/versions
-github.com/docker/go-connections/nat
+github.com/distribution/reference
+github.com/docker/go-connections/sockets
+github.com/docker/go-connections/tlsconfig
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
cluster-agentlinuxamd64
+20, -23
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
cluster-agentlinuxarm64
+20, -23
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
dogstatsdlinuxamd64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
dogstatsdlinuxarm64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
process-agentlinuxamd64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
process-agentlinuxarm64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
process-agentwindowsamd64
+20, -23
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
security-agentlinuxamd64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
security-agentlinuxarm64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
security-agentwindowsamd64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
sbomgenlinuxamd64
+20, -25
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/docker/pkg/system
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
sbomgenlinuxarm64
+20, -25
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/docker/pkg/system
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
system-probelinuxamd64
+20, -23
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
system-probelinuxarm64
+20, -23
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
system-probedarwinamd64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors
system-probedarwinarm64
+20, -24
-github.com/docker/docker/api
-github.com/docker/docker/api/types
-github.com/docker/docker/api/types/blkiodev
-github.com/docker/docker/api/types/build
-github.com/docker/docker/api/types/checkpoint
-github.com/docker/docker/api/types/common
-github.com/docker/docker/api/types/container
-github.com/docker/docker/api/types/events
-github.com/docker/docker/api/types/filters
-github.com/docker/docker/api/types/image
-github.com/docker/docker/api/types/mount
-github.com/docker/docker/api/types/network
-github.com/docker/docker/api/types/registry
-github.com/docker/docker/api/types/storage
-github.com/docker/docker/api/types/strslice
-github.com/docker/docker/api/types/swarm
-github.com/docker/docker/api/types/swarm/runtime
-github.com/docker/docker/api/types/system
-github.com/docker/docker/api/types/time
-github.com/docker/docker/api/types/versions
-github.com/docker/docker/api/types/volume
-github.com/docker/docker/client
-github.com/docker/go-connections/nat
+github.com/moby/moby/api/types
+github.com/moby/moby/api/types/blkiodev
+github.com/moby/moby/api/types/build
+github.com/moby/moby/api/types/checkpoint
+github.com/moby/moby/api/types/common
+github.com/moby/moby/api/types/container
+github.com/moby/moby/api/types/events
+github.com/moby/moby/api/types/image
+github.com/moby/moby/api/types/jsonstream
+github.com/moby/moby/api/types/mount
+github.com/moby/moby/api/types/network
+github.com/moby/moby/api/types/plugin
+github.com/moby/moby/api/types/registry
+github.com/moby/moby/api/types/storage
+github.com/moby/moby/api/types/swarm
+github.com/moby/moby/api/types/system
+github.com/moby/moby/api/types/volume
+github.com/moby/moby/client
+github.com/moby/moby/client/internal
+github.com/moby/moby/client/pkg/versions
-github.com/pkg/errors

@agent-platform-auto-pr
Copy link
Copy Markdown
Contributor

agent-platform-auto-pr bot commented Apr 1, 2026

Files inventory check summary

File checks results against ancestor 61fdef49:

Results for datadog-agent_7.79.0~devel.git.464.c1e5bcd.pipeline.106591804-1_amd64.deb:

No change detected

@agent-platform-auto-pr
Copy link
Copy Markdown
Contributor

agent-platform-auto-pr bot commented Apr 1, 2026

Static quality checks

✅ Please find below the results from static quality gates
Comparison made with ancestor 61fdef4
📊 Static Quality Gates Dashboard
🔗 SQG Job

Successful checks

Info

Quality gate Change Size (prev → curr → max)
agent_deb_amd64 +279.76 KiB (0.04% increase) 753.066 → 753.339 → 753.380
agent_deb_amd64_fips +275.88 KiB (0.04% increase) 710.005 → 710.275 → 713.900
agent_heroku_amd64 +2.9 KiB (0.00% increase) 313.383 → 313.386 → 320.580
agent_msi +295.96 KiB (0.05% increase) 604.945 → 605.234 → 651.440
agent_rpm_amd64 +279.76 KiB (0.04% increase) 753.050 → 753.323 → 753.350
agent_rpm_amd64_fips +275.88 KiB (0.04% increase) 709.989 → 710.259 → 713.880
agent_rpm_arm64 +270.05 KiB (0.04% increase) 731.462 → 731.726 → 735.290
agent_rpm_arm64_fips +274.15 KiB (0.04% increase) 691.426 → 691.694 → 696.840
agent_suse_amd64 +279.76 KiB (0.04% increase) 753.050 → 753.323 → 753.350
agent_suse_amd64_fips +275.88 KiB (0.04% increase) 709.989 → 710.259 → 713.880
agent_suse_arm64 +270.05 KiB (0.04% increase) 731.462 → 731.726 → 735.290
agent_suse_arm64_fips +274.15 KiB (0.04% increase) 691.426 → 691.694 → 696.840
docker_agent_amd64 +279.76 KiB (0.03% increase) 813.370 → 813.643 → 815.700
docker_agent_arm64 +270.05 KiB (0.03% increase) 816.552 → 816.816 → 821.970
docker_agent_jmx_amd64 +279.76 KiB (0.03% increase) 1004.285 → 1004.558 → 1006.580
docker_agent_jmx_arm64 +270.05 KiB (0.03% increase) 996.246 → 996.510 → 1001.570
docker_cluster_agent_amd64 +84.07 KiB (0.04% increase) 204.068 → 204.150 → 206.270
docker_cluster_agent_arm64 +128.06 KiB (0.06% increase) 218.484 → 218.609 → 220.000
docker_dogstatsd_amd64 +51.41 KiB (0.13% increase) 39.238 → 39.289 → 39.380
docker_dogstatsd_arm64 +63.37 KiB (0.17% increase) 37.445 → 37.507 → 37.940
dogstatsd_deb_amd64 +51.38 KiB (0.17% increase) 29.886 → 29.936 → 30.610
dogstatsd_deb_arm64 +51.38 KiB (0.18% increase) 28.034 → 28.085 → 29.110
dogstatsd_rpm_amd64 +51.38 KiB (0.17% increase) 29.886 → 29.936 → 30.610
dogstatsd_suse_amd64 +51.38 KiB (0.17% increase) 29.886 → 29.936 → 30.610
7 successful checks with minimal change (< 2 KiB)
Quality gate Current Size
docker_cws_instrumentation_amd64 7.142 MiB
docker_cws_instrumentation_arm64 6.689 MiB
iot_agent_deb_amd64 43.264 MiB
iot_agent_deb_arm64 40.310 MiB
iot_agent_deb_armhf 41.058 MiB
iot_agent_rpm_amd64 43.264 MiB
iot_agent_suse_amd64 43.264 MiB
On-wire sizes (compressed)
Quality gate Change Size (prev → curr → max)
agent_deb_amd64 +117.17 KiB (0.07% increase) 174.759 → 174.874 → 178.360
agent_deb_amd64_fips +70.22 KiB (0.04% increase) 165.361 → 165.430 → 172.790
agent_heroku_amd64 neutral 75.023 MiB → 79.970
agent_msi +52.0 KiB (0.04% increase) 138.422 → 138.473 → 146.220
agent_rpm_amd64 -67.43 KiB (0.04% reduction) 177.666 → 177.600 → 181.830
agent_rpm_amd64_fips +115.56 KiB (0.07% increase) 167.653 → 167.766 → 173.370
agent_rpm_arm64 +85.41 KiB (0.05% increase) 159.533 → 159.617 → 163.060
agent_rpm_arm64_fips +70.84 KiB (0.05% increase) 151.409 → 151.478 → 156.170
agent_suse_amd64 -67.43 KiB (0.04% reduction) 177.666 → 177.600 → 181.830
agent_suse_amd64_fips +115.56 KiB (0.07% increase) 167.653 → 167.766 → 173.370
agent_suse_arm64 +85.41 KiB (0.05% increase) 159.533 → 159.617 → 163.060
agent_suse_arm64_fips +70.84 KiB (0.05% increase) 151.409 → 151.478 → 156.170
docker_agent_amd64 +97.72 KiB (0.04% increase) 268.191 → 268.286 → 272.480
docker_agent_arm64 +87.86 KiB (0.03% increase) 255.378 → 255.463 → 261.060
docker_agent_jmx_amd64 +101.44 KiB (0.03% increase) 336.838 → 336.937 → 341.100
docker_agent_jmx_arm64 +91.86 KiB (0.03% increase) 320.008 → 320.097 → 325.620
docker_cluster_agent_amd64 +20.11 KiB (0.03% increase) 71.402 → 71.421 → 72.920
docker_cluster_agent_arm64 +14.32 KiB (0.02% increase) 67.034 → 67.048 → 68.220
docker_cws_instrumentation_amd64 neutral 2.999 MiB → 3.330
docker_cws_instrumentation_arm64 neutral 2.729 MiB → 3.090
docker_dogstatsd_amd64 +20.25 KiB (0.13% increase) 15.174 → 15.194 → 15.820
docker_dogstatsd_arm64 +12.66 KiB (0.09% increase) 14.492 → 14.505 → 14.830
dogstatsd_deb_amd64 +12.82 KiB (0.16% increase) 7.893 → 7.906 → 8.790
dogstatsd_deb_arm64 +12.0 KiB (0.17% increase) 6.778 → 6.789 → 7.710
dogstatsd_rpm_amd64 +12.15 KiB (0.15% increase) 7.905 → 7.917 → 8.800
dogstatsd_suse_amd64 +12.15 KiB (0.15% increase) 7.905 → 7.917 → 8.800
iot_agent_deb_amd64 +2.88 KiB (0.02% increase) 11.395 → 11.398 → 13.040
iot_agent_deb_arm64 neutral 9.718 MiB → 11.450
iot_agent_deb_armhf neutral 9.937 MiB → 11.620
iot_agent_rpm_amd64 neutral 11.414 MiB → 13.060
iot_agent_suse_amd64 neutral 11.414 MiB → 13.060

@cit-pr-commenter-54b7da
Copy link
Copy Markdown

cit-pr-commenter-54b7da bot commented Apr 1, 2026

Regression Detector

Regression Detector Results

Metrics dashboard
Target profiles
Run ID: 003fb44a-f35f-4db8-8759-c1f958e13768

Baseline: fd8f08b
Comparison: ba4380b
Diff

Optimization Goals: ✅ No significant changes detected

Experiments ignored for regressions

Regressions in experiments with settings containing erratic: true are ignored.

perf experiment goal Δ mean % Δ mean % CI trials links
docker_containers_cpu % cpu utilization +3.16 [+0.10, +6.21] 1 Logs

Fine details of change detection per experiment

perf experiment goal Δ mean % Δ mean % CI trials links
docker_containers_cpu % cpu utilization +3.16 [+0.10, +6.21] 1 Logs
quality_gate_logs % cpu utilization +2.71 [+1.03, +4.40] 1 Logs bounds checks dashboard
file_tree memory utilization +0.93 [+0.87, +0.99] 1 Logs
quality_gate_idle memory utilization +0.85 [+0.80, +0.91] 1 Logs bounds checks dashboard
uds_dogstatsd_20mb_12k_contexts_20_senders memory utilization +0.76 [+0.69, +0.82] 1 Logs
otlp_ingest_metrics memory utilization +0.55 [+0.39, +0.71] 1 Logs
ddot_logs memory utilization +0.40 [+0.34, +0.47] 1 Logs
ddot_metrics_sum_cumulative memory utilization +0.34 [+0.20, +0.49] 1 Logs
docker_containers_memory memory utilization +0.24 [+0.16, +0.32] 1 Logs
quality_gate_idle_all_features memory utilization +0.17 [+0.14, +0.21] 1 Logs bounds checks dashboard
tcp_syslog_to_blackhole ingress throughput +0.15 [-0.03, +0.33] 1 Logs
otlp_ingest_logs memory utilization +0.05 [-0.05, +0.15] 1 Logs
ddot_metrics memory utilization +0.04 [-0.15, +0.23] 1 Logs
file_to_blackhole_1000ms_latency egress throughput +0.02 [-0.42, +0.46] 1 Logs
file_to_blackhole_0ms_latency egress throughput +0.02 [-0.55, +0.59] 1 Logs
file_to_blackhole_500ms_latency egress throughput +0.02 [-0.38, +0.42] 1 Logs
file_to_blackhole_100ms_latency egress throughput +0.01 [-0.10, +0.12] 1 Logs
uds_dogstatsd_to_api_v3 ingress throughput +0.01 [-0.19, +0.21] 1 Logs
tcp_dd_logs_filter_exclude ingress throughput +0.01 [-0.11, +0.12] 1 Logs
uds_dogstatsd_to_api ingress throughput +0.00 [-0.21, +0.22] 1 Logs
ddot_metrics_sum_delta memory utilization -0.07 [-0.25, +0.10] 1 Logs
ddot_metrics_sum_cumulativetodelta_exporter memory utilization -0.10 [-0.32, +0.13] 1 Logs
quality_gate_metrics_logs memory utilization -0.29 [-0.53, -0.06] 1 Logs bounds checks dashboard

Bounds Checks: ✅ Passed

perf experiment bounds_check_name replicates_passed observed_value links
docker_containers_cpu simple_check_run 10/10 674 ≥ 26
docker_containers_memory memory_usage 10/10 275.44MiB ≤ 370MiB
docker_containers_memory simple_check_run 10/10 697 ≥ 26
file_to_blackhole_0ms_latency memory_usage 10/10 0.19GiB ≤ 1.20GiB
file_to_blackhole_0ms_latency missed_bytes 10/10 0B = 0B
file_to_blackhole_1000ms_latency memory_usage 10/10 0.23GiB ≤ 1.20GiB
file_to_blackhole_1000ms_latency missed_bytes 10/10 0B = 0B
file_to_blackhole_100ms_latency memory_usage 10/10 0.20GiB ≤ 1.20GiB
file_to_blackhole_100ms_latency missed_bytes 10/10 0B = 0B
file_to_blackhole_500ms_latency memory_usage 10/10 0.22GiB ≤ 1.20GiB
file_to_blackhole_500ms_latency missed_bytes 10/10 0B = 0B
quality_gate_idle intake_connections 10/10 3 = 3 bounds checks dashboard
quality_gate_idle memory_usage 10/10 177.54MiB ≤ 181MiB bounds checks dashboard
quality_gate_idle_all_features intake_connections 10/10 3 = 3 bounds checks dashboard
quality_gate_idle_all_features memory_usage 10/10 498.90MiB ≤ 550MiB bounds checks dashboard
quality_gate_logs intake_connections 10/10 3 ≤ 6 bounds checks dashboard
quality_gate_logs memory_usage 10/10 206.16MiB ≤ 220MiB bounds checks dashboard
quality_gate_logs missed_bytes 10/10 0B = 0B bounds checks dashboard
quality_gate_metrics_logs cpu_usage 10/10 353.23 ≤ 2000 bounds checks dashboard
quality_gate_metrics_logs intake_connections 10/10 4 ≤ 6 bounds checks dashboard
quality_gate_metrics_logs memory_usage 10/10 423.94MiB ≤ 475MiB bounds checks dashboard
quality_gate_metrics_logs missed_bytes 10/10 0B = 0B bounds checks dashboard

Explanation

Confidence level: 90.00%
Effect size tolerance: |Δ mean %| ≥ 5.00%

Performance changes are noted in the perf column of each table:

  • ✅ = significantly better comparison variant performance
  • ❌ = significantly worse comparison variant performance
  • ➖ = no significant change in performance

A regression test is an A/B test of target performance in a repeatable rig, where "performance" is measured as "comparison variant minus baseline variant" for an optimization goal (e.g., ingress throughput). Due to intrinsic variability in measuring that goal, we can only estimate its mean value for each experiment; we report uncertainty in that value as a 90.00% confidence interval denoted "Δ mean % CI".

For each experiment, we decide whether a change in performance is a "regression" -- a change worth investigating further -- if all of the following criteria are true:

  1. Its estimated |Δ mean %| ≥ 5.00%, indicating the change is big enough to merit a closer look.

  2. Its 90.00% confidence interval "Δ mean % CI" does not contain zero, indicating that if our statistical model is accurate, there is at least a 90.00% chance there is a difference in performance between baseline and comparison variants.

  3. Its configuration does not mark it "erratic".

CI Pass/Fail Decision

Passed. All Quality Gates passed.

  • quality_gate_metrics_logs, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_metrics_logs, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_metrics_logs, bounds check missed_bytes: 10/10 replicas passed. Gate passed.
  • quality_gate_metrics_logs, bounds check cpu_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_idle_all_features, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_idle_all_features, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_idle, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_idle, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_logs, bounds check intake_connections: 10/10 replicas passed. Gate passed.
  • quality_gate_logs, bounds check memory_usage: 10/10 replicas passed. Gate passed.
  • quality_gate_logs, bounds check missed_bytes: 10/10 replicas passed. Gate passed.

@github-actions github-actions bot added the long review PR is complex, plan time to review it label Apr 2, 2026
@L3n41c L3n41c changed the title [CONTINT-5217][CONTINT-5218][CONTINT-5219][CONTINT-5220] Upgrade Docker SDK from docker/docker v28 to moby/moby v29 [CONTINT-5217][CONTINT-5218][CONTINT-5219][CONTINT-5220] Upgrade Docker SDK from docker/docker v28 to moby/moby v29 Apr 2, 2026
@L3n41c
Copy link
Copy Markdown
Member Author

L3n41c commented Apr 2, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 51fa32cde4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread deps/go.MODULE.bazel
…er SDK from docker/docker v28 to moby/moby v29

Migrate from github.com/docker/docker v28.5.2+incompatible to
github.com/moby/moby/api v1.54.1 and github.com/moby/moby/client v0.4.0
to fix CVE-2026-34040 (High, CVSS 7.8) and CVE-2026-33997 (Medium, CVSS 8.1).

This is a major SDK migration: Docker Engine v29 restructured its Go modules
into separate sub-modules (moby/moby/api for types, moby/moby/client for the
client) with a new Options/Result pattern for all API methods. Key changes:

- Update all 55 files importing from github.com/docker/docker
- Adapt to v29 Options/Result method signatures in DockerUtil wrapper
- Migrate filters from api/types/filters to client.Filters
- Handle removed types: ContainerJSONBase (flattened into InspectResponse),
  image.Summary.VirtualSize, image.InspectResponse.DockerVersion/ContainerConfig
- Handle type changes: IPAddress (string -> netip.Addr),
  Port (nat.Port -> network.Port), ContainerState (string -> typed)
- Replace libnetwork/resolvconf with inline implementation (removed in v29)
- Update ContainerExec* -> Exec* method names in e2e framework

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@L3n41c L3n41c force-pushed the lenaic/CONTINT-5217-CONTINT-5218-CONTINT-5219-CONTINT-5220-upgrade-docker-sdk-v29 branch from 51fa32c to 27747ca Compare April 7, 2026 19:09
@L3n41c
Copy link
Copy Markdown
Member Author

L3n41c commented Apr 8, 2026

Here is how I validated that this PR actually fixes the CVEs it was intended to address:

  1. Validate that the CVEs are properly reported by the scanner on the main agent:
$ docker run aquasec/trivy:0.69.3 image --scanners vuln datadog/agent:7.78.0-rc.7

[…]

opt/datadog-agent/bin/agent/agent (gobinary)
============================================
Total: 9 (UNKNOWN: 6, LOW: 0, MEDIUM: 2, HIGH: 1, CRITICAL: 0)

┌──────────────────────────┬────────────────┬──────────┬──────────┬──────────────────────┬────────────────┬─────────────────────────────────────────────────────────────┐
│         Library          │ Vulnerability  │ Severity │  Status  │  Installed Version   │ Fixed Version  │                            Title                            │
├──────────────────────────┼────────────────┼──────────┼──────────┼──────────────────────┼────────────────┼─────────────────────────────────────────────────────────────┤
│ github.com/docker/docker │ CVE-2026-34040 │ HIGH     │ fixed    │ v28.5.2+incompatible │ 29.3.1         │ Moby: Moby: Authorization bypass vulnerability              │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-34040                  │
│                          ├────────────────┼──────────┤          │                      │                ├─────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-33997 │ MEDIUM   │          │                      │                │ moby: docker: github.com/moby/moby: Moby: Privilege         │
│                          │                │          │          │                      │                │ validation bypass during plugin installation                │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-33997                  │
├──────────────────────────┼────────────────┤          ├──────────┼──────────────────────┼────────────────┼─────────────────────────────────────────────────────────────┤
│ go.etcd.io/bbolt         │ CVE-2026-33817 │          │ affected │ v1.4.3               │                │ go.etcd.io/bbolt: go.etcd.io/bbolt: Denial of Service via   │
│                          │                │          │          │                      │                │ index out-of-range error                                    │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-33817                  │
├──────────────────────────┼────────────────┼──────────┼──────────┼──────────────────────┼────────────────┼─────────────────────────────────────────────────────────────┤
│ stdlib                   │ CVE-2026-32280 │ UNKNOWN  │ fixed    │ v1.25.8              │ 1.25.9, 1.26.2 │ Unexpected work during chain building in crypto/x509        │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-32280                  │
│                          ├────────────────┤          │          │                      │                ├─────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-32281 │          │          │                      │                │ Inefficient policy validation in crypto/x509                │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-32281                  │
│                          ├────────────────┤          │          │                      │                ├─────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-32282 │          │          │                      │                │ TOCTOU permits root escape on Linux via Root.Chmod in os in │
│                          │                │          │          │                      │                │ internal/syscall/unix...                                    │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-32282                  │
│                          ├────────────────┤          │          │                      │                ├─────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-32283 │          │          │                      │                │ Unauthenticated TLS 1.3 KeyUpdate record can cause          │
│                          │                │          │          │                      │                │ persistent connection retention and DoS...                  │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-32283                  │
│                          ├────────────────┤          │          │                      │                ├─────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-32288 │          │          │                      │                │ Unbounded allocation for old GNU sparse in archive/tar      │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-32288                  │
│                          ├────────────────┤          │          │                      │                ├─────────────────────────────────────────────────────────────┤
│                          │ CVE-2026-32289 │          │          │                      │                │ JsBraceDepth Context Tracking Bugs (XSS) in html/template   │
│                          │                │          │          │                      │                │ https://avd.aquasec.com/nvd/cve-2026-32289                  │
└──────────────────────────┴────────────────┴──────────┴──────────┴──────────────────────┴────────────────┴─────────────────────────────────────────────────────────────┘
  1. Validate that the CVEs are not reported anymore on the agent built from this PR:
$ docker run aquasec/trivy:0.69.3 image --scanners vuln datadog/agent-dev:lenaic-contint-5217-contint-5218-contint-5219-contint-5220-upgr-c1e5bcdd-full

[…]

opt/datadog-agent/bin/agent/agent (gobinary)
============================================
Total: 7 (UNKNOWN: 6, LOW: 0, MEDIUM: 1, HIGH: 0, CRITICAL: 0)

┌──────────────────┬────────────────┬──────────┬──────────┬───────────────────┬────────────────┬─────────────────────────────────────────────────────────────┐
│     Library      │ Vulnerability  │ Severity │  Status  │ Installed Version │ Fixed Version  │                            Title                            │
├──────────────────┼────────────────┼──────────┼──────────┼───────────────────┼────────────────┼─────────────────────────────────────────────────────────────┤
│ go.etcd.io/bbolt │ CVE-2026-33817 │ MEDIUM   │ affected │ v1.4.3            │                │ go.etcd.io/bbolt: go.etcd.io/bbolt: Denial of Service via   │
│                  │                │          │          │                   │                │ index out-of-range error                                    │
│                  │                │          │          │                   │                │ https://avd.aquasec.com/nvd/cve-2026-33817                  │
├──────────────────┼────────────────┼──────────┼──────────┼───────────────────┼────────────────┼─────────────────────────────────────────────────────────────┤
│ stdlib           │ CVE-2026-32280 │ UNKNOWN  │ fixed    │ v1.25.8           │ 1.25.9, 1.26.2 │ Unexpected work during chain building in crypto/x509        │
│                  │                │          │          │                   │                │ https://avd.aquasec.com/nvd/cve-2026-32280                  │
│                  ├────────────────┤          │          │                   │                ├─────────────────────────────────────────────────────────────┤
│                  │ CVE-2026-32281 │          │          │                   │                │ Inefficient policy validation in crypto/x509                │
│                  │                │          │          │                   │                │ https://avd.aquasec.com/nvd/cve-2026-32281                  │
│                  ├────────────────┤          │          │                   │                ├─────────────────────────────────────────────────────────────┤
│                  │ CVE-2026-32282 │          │          │                   │                │ TOCTOU permits root escape on Linux via Root.Chmod in os in │
│                  │                │          │          │                   │                │ internal/syscall/unix...                                    │
│                  │                │          │          │                   │                │ https://avd.aquasec.com/nvd/cve-2026-32282                  │
│                  ├────────────────┤          │          │                   │                ├─────────────────────────────────────────────────────────────┤
│                  │ CVE-2026-32283 │          │          │                   │                │ Unauthenticated TLS 1.3 KeyUpdate record can cause          │
│                  │                │          │          │                   │                │ persistent connection retention and DoS...                  │
│                  │                │          │          │                   │                │ https://avd.aquasec.com/nvd/cve-2026-32283                  │
│                  ├────────────────┤          │          │                   │                ├─────────────────────────────────────────────────────────────┤
│                  │ CVE-2026-32288 │          │          │                   │                │ Unbounded allocation for old GNU sparse in archive/tar      │
│                  │                │          │          │                   │                │ https://avd.aquasec.com/nvd/cve-2026-32288                  │
│                  ├────────────────┤          │          │                   │                ├─────────────────────────────────────────────────────────────┤
│                  │ CVE-2026-32289 │          │          │                   │                │ JsBraceDepth Context Tracking Bugs (XSS) in html/template   │
│                  │                │          │          │                   │                │ https://avd.aquasec.com/nvd/cve-2026-32289                  │
└──────────────────┴────────────────┴──────────┴──────────┴───────────────────┴────────────────┴─────────────────────────────────────────────────────────────┘

@L3n41c L3n41c marked this pull request as ready for review April 8, 2026 10:17
@L3n41c L3n41c requested review from a team as code owners April 8, 2026 10:17
@L3n41c L3n41c requested a review from s-alad April 8, 2026 10:17
Copy link
Copy Markdown
Contributor

@YoannGh YoannGh left a comment

Choose a reason for hiding this comment

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

Thanks for taking care of this!

@L3n41c
Copy link
Copy Markdown
Member Author

L3n41c commented Apr 10, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link
Copy Markdown

gh-worker-devflow-routing-ef8351 bot commented Apr 10, 2026

View all feedbacks in Devflow UI.

2026-04-10 12:45:26 UTC ℹ️ Start processing command /merge


2026-04-10 12:45:32 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in main is approximately 6h (p90).


2026-04-10 16:42:38 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot merged commit ba4380b into main Apr 10, 2026
654 checks passed
@gh-worker-dd-mergequeue-cf854d gh-worker-dd-mergequeue-cf854d bot deleted the lenaic/CONTINT-5217-CONTINT-5218-CONTINT-5219-CONTINT-5220-upgrade-docker-sdk-v29 branch April 10, 2026 16:42
dd-octo-sts-4aefcb bot pushed a commit that referenced this pull request Apr 10, 2026
…grade Docker SDK from `docker/docker` v28 to `moby/moby` v29 (#48777)

### What does this PR do?

Migrates the Docker SDK dependency from `github.com/docker/docker` v28.5.2+incompatible to `github.com/moby/moby` v29 sub-modules (`moby/moby/api` v1.54.1, `moby/moby/client` v0.4.0) to fix two security vulnerabilities:

- **CVE-2026-34040** (High, CVSS 7.8)
- **CVE-2026-33997** (Medium, CVSS 8.1)

Docker Engine v29 restructured its Go modules into separate sub-modules with a new Options/Result API pattern. This PR updates all 55 affected files across the codebase:

- All `github.com/docker/docker/*` imports replaced with `github.com/moby/moby/*` equivalents
- `DockerUtil` wrapper adapted to v29 Options/Result method signatures
- Filters migrated from `api/types/filters.Args` to `client.Filters`
- Removed types handled: `ContainerJSONBase` (flattened), `image.Summary.VirtualSize`, `image.InspectResponse.DockerVersion`/`ContainerConfig`
- Type changes adapted: `IPAddress` (`string` → `netip.Addr`), `Port` (`nat.Port` → `network.Port`), `ContainerState` (`string` → typed)
- `libnetwork/resolvconf` replaced with inline implementation (removed from moby/moby in v29)
- `ContainerExec*` → `Exec*` method renames applied in e2e framework
- DataDog/trivy fork updated to [PR #32](DataDog/trivy#32) which reduces docker/docker usage
- `replace` directive added to pin the remaining **indirect** `docker/docker` dependency (from otel-collector-contrib) to the `28.x` branch head which includes backported security fixes

### Motivation

Fix CVE-2026-34040 and CVE-2026-33997 affecting both the agent and cluster-agent binaries.

Jira: [CONTINT-5217](https://datadoghq.atlassian.net/browse/CONTINT-5217), [CONTINT-5218](https://datadoghq.atlassian.net/browse/CONTINT-5218), [CONTINT-5219](https://datadoghq.atlassian.net/browse/CONTINT-5219), [CONTINT-5220](https://datadoghq.atlassian.net/browse/CONTINT-5220), [VULN-59766](https://datadoghq.atlassian.net/browse/VULN-59766), [VULN-59767](https://datadoghq.atlassian.net/browse/VULN-59767), [VULN-59774](https://datadoghq.atlassian.net/browse/VULN-59774), [VULN-59775](https://datadoghq.atlassian.net/browse/VULN-59775)

### Describe how you validated your changes

- `dda inv agent.build --build-exclude=systemd` — PASS
- `dda inv cluster-agent.build` — PASS
- `dda inv test --targets=./pkg/util/docker/...` — ALL PASSED
- `dda inv test --targets=./pkg/collector/corechecks/containers/docker/...` — 15/15 PASSED
- `dda inv test --targets=./pkg/util/containers/metrics/docker/...` — ALL PASSED
- `dda inv test --targets=./comp/core/workloadmeta/collectors/internal/docker/...` — 13/13 PASSED

### Additional Notes

**Indirect `docker/docker` dependency:** `github.com/docker/docker` remains as an indirect dependency pulled in transitively by `opentelemetry-collector-contrib/dockerobserver` and other third-party modules. A `replace` directive pins it to the `28.x` branch head (`31a1689cb0a1`) which includes the same security fixes backported from v29.3.1 (not yet released as a tagged v28.x version). No datadog-agent code directly imports from `docker/docker` anymore.

**`docker.image.virtual_size` metric:** This metric now reports `image.Size` instead of the removed `image.VirtualSize` field. These values have been identical since Docker API v1.44 (`VirtualSize` was already deprecated).

[CONTINT-5217]: https://datadoghq.atlassian.net/browse/CONTINT-5217?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ

Co-authored-by: lenaic.huard <lenaic.huard@datadoghq.com>
@aiuto
Copy link
Copy Markdown
Contributor

aiuto commented Apr 11, 2026

We're having some pipeline failures, often around container building.
Here's one. https://gitlab.ddbuild.io/DataDog/datadog-agent/-/jobs/1587384010/raw
Claude analysis of recent PRs:

Pipeline failure analysis

This PR appears to be the cause of pipeline failures starting around 2026-04-10.

What fails: The OTel agent build pipeline fails at dda inv collector.generate, specifically during ocb's "Getting go modules" phase, with exit code 255.

Root cause: The replace directive added to the root go.mod:

replace github.com/docker/docker => github.com/docker/docker v28.5.3-0.20260325154711-31a1689cb0a1+incompatible

In Go workspace mode, replace directives from individual go.mod files apply across the whole workspace. When ocb runs go get from comp/otelcol/collector-contrib/impl/ (which is listed in go.work), Go activates workspace mode and needs to verify/download v28.5.3-0.20260325154711-31a1689cb0a1+incompatible.

This PR updated the root go.sum with the new pseudo-version checksum, but did not update go.work.sum:

  • go.work.sum — no docker/docker entries at all
  • comp/otelcol/collector-contrib/impl/go.sum — still has only v28.5.2+incompatible

In workspace mode, go.work.sum is the authoritative store for workspace-wide cross-module checksums. Since it's missing the entry, go get fails to verify v28.5.3-0.20260325154711-31a1689cb0a1+incompatible (and the internal GOPROXY may not have this untagged pseudo-version cached either).

Recommended fix: From the repo root, run:

go work sync

This will update go.work.sum with the checksum for the pseudo-version. If the internal GOPROXY doesn't have it, the proxy may need to be seeded, or the replace directive could be updated once v28.5.3 is properly tagged.

@aiuto
Copy link
Copy Markdown
Contributor

aiuto commented Apr 11, 2026

TBH. I think the claude analysis is wrong here. I'm still leaving the comment because we are getting random docker container build failures, and this seems like a likely culprit.

chouetz pushed a commit that referenced this pull request Apr 13, 2026
…49233)

### What does this PR do?

Adds `KUBERNETES_MEMORY_REQUEST` and `KUBERNETES_MEMORY_LIMIT` (32Gi) to
the `docker_image_build_otel` CI job, which was the only OTel
integration test job without Kubernetes memory limits.

### Motivation

The `docker_image_build_otel` job has a **~12% flaky failure rate** on
`main`, caused by OOM kills during `go mod download` of 40+ OTel modules
inside a Docker-in-Docker build (see [Slack
thread](https://dd.slack.com/archives/CR5TV8QBY/p1775901945411339)).

**Root cause analysis** ([posted in
thread](https://dd.slack.com/archives/CR5TV8QBY/p1775979407970919?thread_ts=1775901945.411339&cid=CR5TV8QBY)):

- Datadog CI data shows **64 failures / 469 successes over 7 days**
(~12%), with failures pre-dating the initially suspected PR #48777 (one
failure on Apr 9, a day before the PR merged)
- **60%** of failures are Kubernetes pod scheduling failures
(insufficient memory, unmatched node affinity)
- **25%** are silent process kills (exit code 255) during `go mod
download` — classic OOM pattern
- The two sibling OTel jobs already have memory limits:
  - `integration_tests_otel`: 16Gi
  - `datadog_otel_components_ocb_build`: 32Gi + 16 CPU
- `docker_image_build_otel` had **none**, relying on runner defaults

Setting REQUEST = LIMIT = 32Gi gives the pod a Guaranteed QoS class in
Kubernetes, matching the OCB build job which performs the same workload
(OCB generation + Go compilation).

### Describe how you validated your changes

- The YAML structure matches the existing pattern used by all other jobs
in this file
- The 32Gi value matches `datadog_otel_components_ocb_build` which does
the same work
- Validation will come from observing the failure rate drop after merge

### Additional Notes

The `.ddot_byoc_oci_build_test` template and
`ddot_byoc_binary_build_test_ubuntu2004` job in the same file also lack
memory limits and perform similar Docker builds. They may benefit from
the same treatment as a follow-up.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport/7.78.x Automatically create a backport PR to the 7.78.x branch once the PR is merged changelog/no-changelog No changelog entry needed component/system-probe dependencies PRs that bump a dependency dependencies-go PRs that bump a go dependency internal Identify a non-fork PR long review PR is complex, plan time to review it qa/done QA done before merge and regressions are covered by tests team/agent-build team/agent-configuration team/agent-cspm team/agent-devx team/agent-log-pipelines team/agent-security team/container-integrations team/container-platform The Container Platform Team team/ecs-experiences Issues and PRs owned by the ECS Experiences team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants