From 55e40292457ca94ee7aa7e8006a6ee248c877a56 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 16 Mar 2026 18:31:22 +0100 Subject: [PATCH 01/46] try to git devcontainer for usage in workspaces --- .devcontainer/devcontainer.json | 52 +++++++++++++++++++++++++++++++++ .gitignore | 2 -- 2 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 .devcontainer/devcontainer.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000000..30c4166e843e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,52 @@ +{ + "name": "Datadog Agent Development Container", + "image": "datadog/agent-dev-env-linux", + "runArgs": [ + "--cap-add=SYS_PTRACE", + "--security-opt", + "seccomp=unconfined", + "-w", + "/workspaces/${localWorkspaceFolderBasename}", + "--name", + "datadog-agent-devcontainer" + ], + "features": {}, + "remoteUser": "datadog", + "mounts": [ + "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind", + "source=${localEnv:HOME}/.ssh,target=/home/datadog/.ssh,type=bind" + ], + "customizations": { + "vscode": { + "settings": { + "go.toolsManagement.checkForUpdates": "local", + "go.useLanguageServer": true, + "go.gopath": "/home/datadog/go", + "go.goroot": "/usr/local/go", + "go.buildTags": "etcd,ncm,jmx,zstd,kubeapiserver,systemprobechecks,systemd,ec2,zk,datadog.no_waf,trivy,zlib,oracle,containerd,orchestrator,cel,consul,sharedlibrarycheck,trivy_no_javadb,podman,netcgo,docker,jetson,cri,nvml,fargateprocess,python,crio,no_dynamic_plugins,otlp,retrynotrace,grpcnotrace,kubelet,test", + "go.testTags": "etcd,ncm,jmx,zstd,kubeapiserver,systemprobechecks,systemd,ec2,zk,datadog.no_waf,trivy,zlib,oracle,containerd,orchestrator,cel,consul,sharedlibrarycheck,trivy_no_javadb,podman,netcgo,docker,jetson,cri,nvml,fargateprocess,python,crio,no_dynamic_plugins,otlp,retrynotrace,grpcnotrace,kubelet,test", + "go.lintTool": "golangci-lint", + "go.lintOnSave": "package", + "go.lintFlags": [ + "--build-tags", + "etcd,ncm,jmx,zstd,kubeapiserver,systemprobechecks,systemd,ec2,zk,datadog.no_waf,trivy,zlib,oracle,containerd,orchestrator,cel,consul,sharedlibrarycheck,trivy_no_javadb,podman,netcgo,docker,jetson,cri,nvml,fargateprocess,python,crio,no_dynamic_plugins,otlp,retrynotrace,grpcnotrace,kubelet,test" + ], + "[go]": { + "editor.formatOnSave": true + }, + "gopls": { + "formatting.local": "github.com/DataDog/datadog-agent" + } + }, + "extensions": [ + "golang.Go", + "ms-python.python", + "redhat.vscode-yaml" + ] + } + }, + "onCreateCommand": "git config --global --add safe.directory /workspaces/${localWorkspaceFolderBasename} && dda inv -- -e install-tools && dda inv -- -e deps", + "containerEnv": { + "GITLAB_TOKEN": "${localEnv:GITLAB_TOKEN}" + } +} diff --git a/.gitignore b/.gitignore index 409b8b2e34c2..a247046c01dd 100644 --- a/.gitignore +++ b/.gitignore @@ -201,8 +201,6 @@ tools/windows/DatadogAgentInstaller/WixSetup/cabcache/ # e2e test intake generated binary test/fakeintake/build/* -# dev container -.devcontainer/ # Allow Single Machine Performance material to ignore excludes !test/regression/** From 09aa09544d6761b04f1d12ea82dd211a4c3438c9 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 16 Mar 2026 18:46:08 +0100 Subject: [PATCH 02/46] Add workspace feature for devcontainer --- .devcontainer/devcontainer.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 30c4166e843e..066b4969bbdc 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -10,7 +10,9 @@ "--name", "datadog-agent-devcontainer" ], - "features": {}, + "features": { + "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} + }, "remoteUser": "datadog", "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind", From a6d3b74a5edc4ace3fa8aade5ad2c8583c7a81db Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 30 Mar 2026 13:11:00 +0200 Subject: [PATCH 03/46] Update config --- .devcontainer/datadog/default/.devcontainer.json | 5 +++++ .../default/prebuild-devcontainer.json} | 11 ++++++++--- 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 .devcontainer/datadog/default/.devcontainer.json rename .devcontainer/{devcontainer.json => datadog/default/prebuild-devcontainer.json} (89%) diff --git a/.devcontainer/datadog/default/.devcontainer.json b/.devcontainer/datadog/default/.devcontainer.json new file mode 100644 index 000000000000..802eb2974833 --- /dev/null +++ b/.devcontainer/datadog/default/.devcontainer.json @@ -0,0 +1,5 @@ +// This devcontainer directs workspaces to use a pre-built image. To make +// configuration changes, edit prebuild-devcontainer.json in this folder instead +{ + "image": "placeholder" +} diff --git a/.devcontainer/devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json similarity index 89% rename from .devcontainer/devcontainer.json rename to .devcontainer/datadog/default/prebuild-devcontainer.json index 066b4969bbdc..4be18c2d665b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "datadog/agent-dev-env-linux", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v105285331-600323d9", "runArgs": [ "--cap-add=SYS_PTRACE", "--security-opt", @@ -11,8 +11,12 @@ "datadog-agent-devcontainer" ], "features": { - "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} + "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, + "ghcr.io/devcontainers/features/docker-in-docker:2": { + "dockerDashComposeVersion": "2.35.1" + } }, + "forwardPorts": [22], "remoteUser": "datadog", "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind", @@ -50,5 +54,6 @@ "onCreateCommand": "git config --global --add safe.directory /workspaces/${localWorkspaceFolderBasename} && dda inv -- -e install-tools && dda inv -- -e deps", "containerEnv": { "GITLAB_TOKEN": "${localEnv:GITLAB_TOKEN}" - } + }, + "containerUser": "root" } From e8a220412163f81764960643bd764e42ad89c505 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Wed, 1 Apr 2026 09:56:10 +0200 Subject: [PATCH 04/46] Try prebuild devcontainer --- .../datadog/default/{.devcontainer.json => devcontainer.json} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .devcontainer/datadog/default/{.devcontainer.json => devcontainer.json} (53%) diff --git a/.devcontainer/datadog/default/.devcontainer.json b/.devcontainer/datadog/default/devcontainer.json similarity index 53% rename from .devcontainer/datadog/default/.devcontainer.json rename to .devcontainer/datadog/default/devcontainer.json index 802eb2974833..550cdf5cf6a5 100644 --- a/.devcontainer/datadog/default/.devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "placeholder" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:7d5f6110027b79986a30adb695e2d1af494ef88efbfe3dcb950c6e9343f80fb3" } From 69220becfca9476757b6c817ab6f367cae6ec203 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Wed, 1 Apr 2026 11:39:21 +0200 Subject: [PATCH 05/46] remove secret --- .devcontainer/datadog/default/prebuild-devcontainer.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 4be18c2d665b..3b1a443803bc 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -52,8 +52,5 @@ } }, "onCreateCommand": "git config --global --add safe.directory /workspaces/${localWorkspaceFolderBasename} && dda inv -- -e install-tools && dda inv -- -e deps", - "containerEnv": { - "GITLAB_TOKEN": "${localEnv:GITLAB_TOKEN}" - }, "containerUser": "root" } From d5fee4325dc65a6cb5f18178829fd7ed45cb3a06 Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 13:00:49 +0200 Subject: [PATCH 06/46] Update devcontainer prebuilt image reference (#48729) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 550cdf5cf6a5..eee1d70c46cf 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:7d5f6110027b79986a30adb695e2d1af494ef88efbfe3dcb950c6e9343f80fb3" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:5f063800204590cbb5f155b055033f955c07baedb374179261ac97b5fe0f9e80" } From af727e372b251d14c8cb9f77c6339034edd29903 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Wed, 1 Apr 2026 14:26:15 +0200 Subject: [PATCH 07/46] Remove onCreate --- .devcontainer/datadog/default/prebuild-devcontainer.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 3b1a443803bc..1f7591d6a7ad 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -17,7 +17,7 @@ } }, "forwardPorts": [22], - "remoteUser": "datadog", + "remoteUser": "dog", "mounts": [ "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind", "source=${localEnv:HOME}/.ssh,target=/home/datadog/.ssh,type=bind" @@ -51,6 +51,5 @@ ] } }, - "onCreateCommand": "git config --global --add safe.directory /workspaces/${localWorkspaceFolderBasename} && dda inv -- -e install-tools && dda inv -- -e deps", "containerUser": "root" } From 523a4935516ad88fd25a52f4085c763ff8d0040d Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 14:43:09 +0200 Subject: [PATCH 08/46] Update devcontainer prebuilt image reference (#48740) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index eee1d70c46cf..52256ae70422 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:5f063800204590cbb5f155b055033f955c07baedb374179261ac97b5fe0f9e80" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:61028e4021022b158da4a2c97feac04d870286ca2dd7587091d62f6c8215f728" } From e13eebb92c05992222ea24d0ee8f98dbc780382a Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2026 15:00:50 +0000 Subject: [PATCH 09/46] Update devcontainer prebuilt image reference (#48741) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 52256ae70422..ff7d398cec05 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:61028e4021022b158da4a2c97feac04d870286ca2dd7587091d62f6c8215f728" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:a03fd5ce7cf7c7f9afdfb54c4d1d7ae31b7b31ea87edc2cb573a171e19663ee8" } From b890acbea681534f891cd7da20d187e4e639dbc5 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Wed, 8 Apr 2026 18:16:34 +0200 Subject: [PATCH 10/46] Remove all runtime options devcontainer --- .../default/prebuild-devcontainer.json | 43 ------------------- 1 file changed, 43 deletions(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 1f7591d6a7ad..652d7b9d1fe2 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,15 +1,6 @@ { "name": "Datadog Agent Development Container", "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v105285331-600323d9", - "runArgs": [ - "--cap-add=SYS_PTRACE", - "--security-opt", - "seccomp=unconfined", - "-w", - "/workspaces/${localWorkspaceFolderBasename}", - "--name", - "datadog-agent-devcontainer" - ], "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, "ghcr.io/devcontainers/features/docker-in-docker:2": { @@ -17,39 +8,5 @@ } }, "forwardPorts": [22], - "remoteUser": "dog", - "mounts": [ - "source=/var/run/docker.sock,target=/var/run/docker.sock,type=bind", - "source=${localEnv:HOME}/.ssh,target=/home/datadog/.ssh,type=bind" - ], - "customizations": { - "vscode": { - "settings": { - "go.toolsManagement.checkForUpdates": "local", - "go.useLanguageServer": true, - "go.gopath": "/home/datadog/go", - "go.goroot": "/usr/local/go", - "go.buildTags": "etcd,ncm,jmx,zstd,kubeapiserver,systemprobechecks,systemd,ec2,zk,datadog.no_waf,trivy,zlib,oracle,containerd,orchestrator,cel,consul,sharedlibrarycheck,trivy_no_javadb,podman,netcgo,docker,jetson,cri,nvml,fargateprocess,python,crio,no_dynamic_plugins,otlp,retrynotrace,grpcnotrace,kubelet,test", - "go.testTags": "etcd,ncm,jmx,zstd,kubeapiserver,systemprobechecks,systemd,ec2,zk,datadog.no_waf,trivy,zlib,oracle,containerd,orchestrator,cel,consul,sharedlibrarycheck,trivy_no_javadb,podman,netcgo,docker,jetson,cri,nvml,fargateprocess,python,crio,no_dynamic_plugins,otlp,retrynotrace,grpcnotrace,kubelet,test", - "go.lintTool": "golangci-lint", - "go.lintOnSave": "package", - "go.lintFlags": [ - "--build-tags", - "etcd,ncm,jmx,zstd,kubeapiserver,systemprobechecks,systemd,ec2,zk,datadog.no_waf,trivy,zlib,oracle,containerd,orchestrator,cel,consul,sharedlibrarycheck,trivy_no_javadb,podman,netcgo,docker,jetson,cri,nvml,fargateprocess,python,crio,no_dynamic_plugins,otlp,retrynotrace,grpcnotrace,kubelet,test" - ], - "[go]": { - "editor.formatOnSave": true - }, - "gopls": { - "formatting.local": "github.com/DataDog/datadog-agent" - } - }, - "extensions": [ - "golang.Go", - "ms-python.python", - "redhat.vscode-yaml" - ] - } - }, "containerUser": "root" } From 8dc668287435dfeeff7a67796c0c106b2d404c7c Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 19:00:31 +0000 Subject: [PATCH 11/46] Update devcontainer prebuilt image reference (#49049) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index ff7d398cec05..2af3edb51341 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:a03fd5ce7cf7c7f9afdfb54c4d1d7ae31b7b31ea87edc2cb573a171e19663ee8" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:191fb343c90c17c4c3fc9655ef6bfbeecbddbac11eba4dc58ae805c6a0986bc0" } From 49332b2bd9d05f8ad6572c181c688904bc4ca79d Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Thu, 9 Apr 2026 09:31:19 +0200 Subject: [PATCH 12/46] Update prebuild ref --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index ff7d398cec05..365c71d20d4e 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:a03fd5ce7cf7c7f9afdfb54c4d1d7ae31b7b31ea87edc2cb573a171e19663ee8" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:ffe506162138fcd0817f77ebf4d77a1e0da7f0e066454f9a95d79f1786beb99d" } From 43cdbd0c39e2c30ca860807648edf21da190a07f Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Thu, 9 Apr 2026 13:46:56 +0200 Subject: [PATCH 13/46] Update --- .devcontainer/datadog/default/prebuild-devcontainer.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 652d7b9d1fe2..382c6f85b1a4 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,11 +1,8 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v105285331-600323d9", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v106825651-487409bc", "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, - "ghcr.io/devcontainers/features/docker-in-docker:2": { - "dockerDashComposeVersion": "2.35.1" - } }, "forwardPorts": [22], "containerUser": "root" From 54421e0adf1e126d3be057d246bc831d70d9471c Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Thu, 9 Apr 2026 15:31:00 +0200 Subject: [PATCH 14/46] Fix syntax --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 382c6f85b1a4..014ee4006ce9 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -2,7 +2,7 @@ "name": "Datadog Agent Development Container", "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v106825651-487409bc", "features": { - "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, + "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} }, "forwardPorts": [22], "containerUser": "root" From 3cd2d6cec77a26d72c8a0416e2d88e1fc9d57e16 Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 16:00:39 +0200 Subject: [PATCH 15/46] Update devcontainer prebuilt image reference (#49121) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 365c71d20d4e..c714381106f5 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:ffe506162138fcd0817f77ebf4d77a1e0da7f0e066454f9a95d79f1786beb99d" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:c09a7ff4bf9a804fc0b5e3cc93f1ed1866775c922150f613e3f93e48410cc174" } From 718ac8e9cedeb796c3584155eaef2913cc181dec Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Thu, 9 Apr 2026 19:59:48 +0200 Subject: [PATCH 16/46] Update --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 014ee4006ce9..cadb1cfbdabe 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v106825651-487409bc", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v106920551-99469e88", "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} }, From 3d683b84849e4c01b43a182a1bd5025e8f076689 Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Thu, 9 Apr 2026 20:00:33 +0000 Subject: [PATCH 17/46] Update devcontainer prebuilt image reference (#49146) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index c714381106f5..433034a1e6c2 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:c09a7ff4bf9a804fc0b5e3cc93f1ed1866775c922150f613e3f93e48410cc174" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:4f62dbce88e64da6eaa45701a3188cc97856c10707a12f86d39ca56f0f53a8e4" } From 2fb272a05f641cd2fe6d1a9f4f755dce443a74f3 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 10 Apr 2026 09:50:03 +0200 Subject: [PATCH 18/46] Update --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 433034a1e6c2..49e2fcc737ff 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:4f62dbce88e64da6eaa45701a3188cc97856c10707a12f86d39ca56f0f53a8e4" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:1ea839a504ecfaafd01e4a1aa35751be103d28e470af8f53a71055de8ef45455" } From c91a840bc457e85a7220bbba75e0b53f5c2c2e0f Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 10 Apr 2026 16:39:59 +0200 Subject: [PATCH 19/46] Update --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index cadb1cfbdabe..a71828f700fe 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v106920551-99469e88", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v107050512-dc3d24aa", "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} }, From 48c9464f019649f99c0323d5d2aaaeb87f99910a Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Fri, 10 Apr 2026 17:00:25 +0000 Subject: [PATCH 20/46] Update devcontainer prebuilt image reference (#49188) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 49e2fcc737ff..53cd22379bc9 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:1ea839a504ecfaafd01e4a1aa35751be103d28e470af8f53a71055de8ef45455" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:d61504517cec9489cf43ed4eb03727c3f4019678b901660ee1b62067705dc140" } From a032f3953894a7eeacc480a3fb98a8e64ca9b284 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 13 Apr 2026 15:24:32 +0200 Subject: [PATCH 21/46] Update devenv --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index a71828f700fe..ebdc8f80a84b 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v107050512-dc3d24aa", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v107350218-c105a3e8", "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} }, From 9d831de94683b8517ba971e8d7d32d9e8697a901 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 13 Apr 2026 16:10:57 +0200 Subject: [PATCH 22/46] Update --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 53cd22379bc9..4dfec0f52e5a 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:d61504517cec9489cf43ed4eb03727c3f4019678b901660ee1b62067705dc140" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:ad7d02ac267f802658526d12fbe2f167814abf546c03661cb37170757aed8650" } From 4ba624f563e24bb92e4a2b774059b96803a48199 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 13 Apr 2026 18:57:11 +0200 Subject: [PATCH 23/46] Another try --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index ebdc8f80a84b..91e7cd5ed2a9 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v107350218-c105a3e8", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v107421505-8006add4", "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} }, From c5a32d6920bce2cd68b447c7d61490d999bb0e65 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 13 Apr 2026 19:31:54 +0200 Subject: [PATCH 24/46] update --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 4dfec0f52e5a..404c6273dd45 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:ad7d02ac267f802658526d12fbe2f167814abf546c03661cb37170757aed8650" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:4845baa102fe50eb503602acd053eb3540ee661a5aea29bb4b22947a7f99b1ac" } From 93648bc837150f65d4504da52c53d83801557593 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Thu, 16 Apr 2026 18:20:08 +0200 Subject: [PATCH 25/46] Use not so modified buildimage --- .../features/datadog-agent/devcontainer-feature.json | 6 ++++++ .../datadog/default/features/datadog-agent/install.sh | 2 ++ .devcontainer/datadog/default/prebuild-devcontainer.json | 9 +++++++-- 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 .devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json create mode 100644 .devcontainer/datadog/default/features/datadog-agent/install.sh diff --git a/.devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json b/.devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json new file mode 100644 index 000000000000..ea813c441af7 --- /dev/null +++ b/.devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json @@ -0,0 +1,6 @@ +{ + "id": "datadog-agent", + "version": "0.0.1", + "name": "Datadog Agent Development Environment", + "description": "Configures the Datadog Agent development environment for the bits user, cleaning the base image for it to work in workspaces." +} diff --git a/.devcontainer/datadog/default/features/datadog-agent/install.sh b/.devcontainer/datadog/default/features/datadog-agent/install.sh new file mode 100644 index 000000000000..7e9fc4bb1b42 --- /dev/null +++ b/.devcontainer/datadog/default/features/datadog-agent/install.sh @@ -0,0 +1,2 @@ +#!/bin/bash +echo "Hello" diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 91e7cd5ed2a9..315f111bbda5 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,8 +1,13 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v107421505-8006add4", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v108048267-2f8eada6", + "overrideFeatureInstallOrder": [ + "./features/datadog-agent", + "registry.ddbuild.io/workspaces/features/base" + ], "features": { - "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {} + "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, + "./features/datadog-agent": {} }, "forwardPorts": [22], "containerUser": "root" From 3e39dbfe9db264ba7c66b7bed5022a4776b803ec Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 17 Apr 2026 14:55:50 +0200 Subject: [PATCH 26/46] New one --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 315f111bbda5..c2aa04d6cb8e 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux_test_only:v108048267-2f8eada6", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux-workspace_test_only:v108208663-2a1b51e8", "overrideFeatureInstallOrder": [ "./features/datadog-agent", "registry.ddbuild.io/workspaces/features/base" From 3d497a94241ad1f58791a9ab4d658782ab8fe0dc Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 17 Apr 2026 18:08:41 +0200 Subject: [PATCH 27/46] New --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index c2aa04d6cb8e..896ecfee3e3c 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux-workspace_test_only:v108208663-2a1b51e8", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux-workspace_test_only:v108272783-f44771d3", "overrideFeatureInstallOrder": [ "./features/datadog-agent", "registry.ddbuild.io/workspaces/features/base" From 15cc0967a71cd7c980704321edc7fbebbcb2e759 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 20 Apr 2026 09:59:41 +0200 Subject: [PATCH 28/46] Another one --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 404c6273dd45..2e029d078e61 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:4845baa102fe50eb503602acd053eb3540ee661a5aea29bb4b22947a7f99b1ac" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:fa158ac217ced061da4a76f2c91681e4984f24d14d3f01eed7863fd5a2d90874" } From 88863144d3824c992f9bf5aee3502d3dca4ded6a Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 20 Apr 2026 13:19:17 +0200 Subject: [PATCH 29/46] Post create command to fix paths, and move claude binary --- .../datadog-agent/devcontainer-feature.json | 6 +++++- .../default/features/datadog-agent/install.sh | 13 ++++++++++++- .../features/datadog-agent/lifecycle/postCreate.sh | 2 ++ .../datadog/default/prebuild-devcontainer.json | 7 ++----- 4 files changed, 21 insertions(+), 7 deletions(-) create mode 100644 .devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh diff --git a/.devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json b/.devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json index ea813c441af7..a22fe052e59a 100644 --- a/.devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json +++ b/.devcontainer/datadog/default/features/datadog-agent/devcontainer-feature.json @@ -2,5 +2,9 @@ "id": "datadog-agent", "version": "0.0.1", "name": "Datadog Agent Development Environment", - "description": "Configures the Datadog Agent development environment for the bits user, cleaning the base image for it to work in workspaces." + "description": "Configures the Datadog Agent development environment for the bits user, cleaning the base image for it to work in workspaces.", + "installsAfter": ["registry.ddbuild.io/workspaces/features/base"], + "postCreateCommand": { + "datadog-agent": "/opt/doghome/devcontainer/features/datadog-agent/lifecycle/postCreate.sh" + } } diff --git a/.devcontainer/datadog/default/features/datadog-agent/install.sh b/.devcontainer/datadog/default/features/datadog-agent/install.sh index 7e9fc4bb1b42..d5fab72ed796 100644 --- a/.devcontainer/datadog/default/features/datadog-agent/install.sh +++ b/.devcontainer/datadog/default/features/datadog-agent/install.sh @@ -1,2 +1,13 @@ #!/bin/bash -echo "Hello" + + +# Get claude from the buildimages /root/.local/bin +cp /root/.local/bin/claude /home/bits/.local/bin/claude + +# Configure PATH for interactive shells. +# File name convention *-workspace-env.sh is important: +# /etc/zsh/zshenv sources these files. +cat > /etc/profile.d/10-ddagent-workspace-env.sh << 'EOF' +export PATH="/usr/local/go/bin:$PATH" +export PATH="$HOME/go/bin:$PATH" +EOF diff --git a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh new file mode 100644 index 000000000000..05a7907cf5a4 --- /dev/null +++ b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh @@ -0,0 +1,2 @@ +#!/bin/bash + diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 896ecfee3e3c..eafde283f5c2 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,14 +1,11 @@ { "name": "Datadog Agent Development Container", "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux-workspace_test_only:v108272783-f44771d3", - "overrideFeatureInstallOrder": [ - "./features/datadog-agent", - "registry.ddbuild.io/workspaces/features/base" - ], "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, "./features/datadog-agent": {} }, "forwardPorts": [22], - "containerUser": "root" + "containerUser": "root", + "remoteUser": "bits" } From 883ca0e7805d923a026c3464c6a0b3ac683154eb Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Mon, 20 Apr 2026 14:28:45 +0200 Subject: [PATCH 30/46] Update devcontainer prebuilt image reference (#49593) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 2e029d078e61..48851d1fbd86 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:fa158ac217ced061da4a76f2c91681e4984f24d14d3f01eed7863fd5a2d90874" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:a7b144aaf713f2a594d22348f8aebc94801c09c51284fc277d45a34f2f1f8b0f" } From 03d594b280e3026499664fe1a6fd4436ec946d99 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Mon, 20 Apr 2026 15:50:47 +0200 Subject: [PATCH 31/46] Fix docker group issue and install-tools --- .../datadog/default/features/datadog-agent/install.sh | 3 +++ .../default/features/datadog-agent/lifecycle/postCreate.sh | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/.devcontainer/datadog/default/features/datadog-agent/install.sh b/.devcontainer/datadog/default/features/datadog-agent/install.sh index d5fab72ed796..d86c56bd210b 100644 --- a/.devcontainer/datadog/default/features/datadog-agent/install.sh +++ b/.devcontainer/datadog/default/features/datadog-agent/install.sh @@ -4,6 +4,9 @@ # Get claude from the buildimages /root/.local/bin cp /root/.local/bin/claude /home/bits/.local/bin/claude +# Add bits user to the docker group. This should probably be handled by the base feature. But not working for now. +usermod -aG docker bits + # Configure PATH for interactive shells. # File name convention *-workspace-env.sh is important: # /etc/zsh/zshenv sources these files. diff --git a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh index 05a7907cf5a4..66a753baa030 100644 --- a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh +++ b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh @@ -1,2 +1,7 @@ #!/bin/bash + + +# Run install tools +cd ~/dd/datadog-agent +dda inv install-tools 2>&1 | tee "/home/bits/.install-tools.log" From cbecca16720d4f069bc7843a29be5b9346a19974 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Tue, 21 Apr 2026 14:30:15 +0200 Subject: [PATCH 32/46] Update again with latest one --- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index eafde283f5c2..be40c88d0210 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux-workspace_test_only:v108272783-f44771d3", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux-workspace_test_only:v108718985-e22fe00d", "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, "./features/datadog-agent": {} From 2c176c89be86142afdbc0b02161080c628b62d04 Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Tue, 21 Apr 2026 13:03:29 +0000 Subject: [PATCH 33/46] Update devcontainer prebuilt image reference (#49653) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 48851d1fbd86..1479faa14b89 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:a7b144aaf713f2a594d22348f8aebc94801c09c51284fc277d45a34f2f1f8b0f" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:8f764f1dd4db8afadb9f1912501ceb88a1195a76bed389904d1aa7ab4da2fdd4" } From db229f018fa02f2e5f7d08aaf6a66751c38868b0 Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Tue, 21 Apr 2026 17:00:29 +0000 Subject: [PATCH 34/46] Update devcontainer prebuilt image reference (#49665) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 1479faa14b89..b1c09bfe68ff 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:8f764f1dd4db8afadb9f1912501ceb88a1195a76bed389904d1aa7ab4da2fdd4" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:98d7104b37311e013232b392e9070a7d8eeab7172a0cf3c5691077ee1512ffbb" } From 84e2c1026304ab9c8df31b7c30391a2d281f1d03 Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Wed, 22 Apr 2026 16:53:52 +0200 Subject: [PATCH 35/46] Update devcontainer prebuilt image reference (#49717) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index b1c09bfe68ff..b6c8e011f63c 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:98d7104b37311e013232b392e9070a7d8eeab7172a0cf3c5691077ee1512ffbb" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:d902b549c3e2a7eb6314df41b9b1ba57225ee0265f730dd29c5f59d15ece8b1b" } From cca075aa5bf04f8e57c8fe13a4108091534cecc1 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Wed, 22 Apr 2026 16:58:35 +0200 Subject: [PATCH 36/46] Update post create --- .../default/features/datadog-agent/lifecycle/postCreate.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh index 66a753baa030..3c29ebd5b902 100644 --- a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh +++ b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh @@ -1,7 +1,8 @@ #!/bin/bash - # Run install tools cd ~/dd/datadog-agent -dda inv install-tools 2>&1 | tee "/home/bits/.install-tools.log" + +su bits --login 'dda inv install-tools 2>&1 | tee "/home/bits/.install-tools.log"' + From b6d4e7e350cc794085409fdda359632dd56de74d Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Wed, 22 Apr 2026 17:45:41 +0200 Subject: [PATCH 37/46] Update permissions --- .../default/features/datadog-agent/lifecycle/postCreate.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 .devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh diff --git a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh old mode 100644 new mode 100755 From 9a296879d196cff6e41b3138d052f9b4f6a7a104 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Wed, 22 Apr 2026 18:06:55 +0200 Subject: [PATCH 38/46] Update install.sh to copy postCreate --- .../datadog/default/features/datadog-agent/install.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/features/datadog-agent/install.sh b/.devcontainer/datadog/default/features/datadog-agent/install.sh index d86c56bd210b..1d7931e1a763 100644 --- a/.devcontainer/datadog/default/features/datadog-agent/install.sh +++ b/.devcontainer/datadog/default/features/datadog-agent/install.sh @@ -1,5 +1,6 @@ #!/bin/bash - +set -euo pipefail +featureDir=$(cd "$(dirname "$0")"; pwd) # Get claude from the buildimages /root/.local/bin cp /root/.local/bin/claude /home/bits/.local/bin/claude @@ -7,6 +8,10 @@ cp /root/.local/bin/claude /home/bits/.local/bin/claude # Add bits user to the docker group. This should probably be handled by the base feature. But not working for now. usermod -aG docker bits +# Copy lifecycle scripts into the image +install -d /opt/doghome/devcontainer/features/datadog-agent/lifecycle +install -m 755 "$featureDir/lifecycle/postCreate.sh" /opt/doghome/devcontainer/features/datadog-agent/lifecycle/postCreate.sh + # Configure PATH for interactive shells. # File name convention *-workspace-env.sh is important: # /etc/zsh/zshenv sources these files. From a837a1045ecd801e5315021c62585e8550d1f18c Mon Sep 17 00:00:00 2001 From: "gh-worker-campaigns-3e9aa4[bot]" <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> Date: Thu, 23 Apr 2026 09:13:48 +0200 Subject: [PATCH 39/46] Update devcontainer prebuilt image reference (#49726) Prebuilt devcontainer image reference updated to reflect latest config. This automation in driven by the [workspaces-image-builder service](https://sdp.ddbuild.io/#/services/details?name=workspaces-imagebuilder) and the [github-devcontainer-prebuild service](https://sdp.ddbuild.io/#/services/details?name=github-devcontainer-prebuild). For workspaces on-call: If there are any unexpected behaviors with this automation, see the [troubleshooting runbook](https://datadoghq.atlassian.net/wiki/spaces/DEVX/pages/4880237711/Troubleshooting+Devcontainer+Pre-Builds). Co-authored-by: gh-worker-campaigns-3e9aa4[bot] <244854796+gh-worker-campaigns-3e9aa4[bot]@users.noreply.github.com> --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index b6c8e011f63c..4a4e95d73cc3 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:d902b549c3e2a7eb6314df41b9b1ba57225ee0265f730dd29c5f59d15ece8b1b" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:a8e73ae8df7b07dab4514fe132ba4c63a5d730bb851951b04ad1cbabc0d57789" } From 5f97d00f4e298a4e778909f7beb15114f0449495 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Thu, 23 Apr 2026 16:28:41 +0200 Subject: [PATCH 40/46] Remove su and update image --- .../default/features/datadog-agent/lifecycle/postCreate.sh | 3 +-- .devcontainer/datadog/default/prebuild-devcontainer.json | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh index 3c29ebd5b902..9c524b16219a 100755 --- a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh +++ b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh @@ -4,5 +4,4 @@ # Run install tools cd ~/dd/datadog-agent -su bits --login 'dda inv install-tools 2>&1 | tee "/home/bits/.install-tools.log"' - +dda inv install-tools 2>&1 | tee "/home/bits/.install-tools.log" diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index be40c88d0210..70c8efce75c2 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -1,6 +1,6 @@ { "name": "Datadog Agent Development Container", - "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-linux-workspace_test_only:v108718985-e22fe00d", + "image": "registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-workspace:v109041185-573ca5d7", "features": { "registry.ddbuild.io/workspaces/features/base:0.4.100410934": {}, "./features/datadog-agent": {} From 7bd86189421bd0d64990a631c032a489629ae2a8 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Thu, 23 Apr 2026 17:52:14 +0200 Subject: [PATCH 41/46] Update waitFor --- .devcontainer/datadog/default/prebuild-devcontainer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/prebuild-devcontainer.json b/.devcontainer/datadog/default/prebuild-devcontainer.json index 70c8efce75c2..ca9f26f22457 100644 --- a/.devcontainer/datadog/default/prebuild-devcontainer.json +++ b/.devcontainer/datadog/default/prebuild-devcontainer.json @@ -7,5 +7,6 @@ }, "forwardPorts": [22], "containerUser": "root", - "remoteUser": "bits" + "remoteUser": "bits", + "waitFor": "postStartCommand" } From 39a7def0de99894e4cfdc90b397f438984976437 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 24 Apr 2026 09:32:59 +0200 Subject: [PATCH 42/46] Update --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index 4a4e95d73cc3..b91dadf4bf85 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:a8e73ae8df7b07dab4514fe132ba4c63a5d730bb851951b04ad1cbabc0d57789" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:9305efe3e0085d2917f5192687a629660997a0d22e10bc0249c77b729803e32e" } From 2c77e8ce0d8547511983fa789c7f24cf3a830083 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 24 Apr 2026 10:25:20 +0200 Subject: [PATCH 43/46] Update postCreate env variables --- .../default/features/datadog-agent/lifecycle/postCreate.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh index 9c524b16219a..532a2db9727b 100755 --- a/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh +++ b/.devcontainer/datadog/default/features/datadog-agent/lifecycle/postCreate.sh @@ -4,4 +4,10 @@ # Run install tools cd ~/dd/datadog-agent +# Tweaking environment variables, will be removed once the Docker image is updated. +# Make sure we can dynamically install dda dependencies +export DDA_NO_DYNAMIC_DEPS=0 +# Unset GOPATH otherwise it is set to /go in the build image base +unset GOPATH + dda inv install-tools 2>&1 | tee "/home/bits/.install-tools.log" From b985141b37cbca24cff9028be25868d06745fa92 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 24 Apr 2026 11:26:34 +0200 Subject: [PATCH 44/46] update --- .devcontainer/datadog/default/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/datadog/default/devcontainer.json b/.devcontainer/datadog/default/devcontainer.json index b91dadf4bf85..e0da34fed0d4 100644 --- a/.devcontainer/datadog/default/devcontainer.json +++ b/.devcontainer/datadog/default/devcontainer.json @@ -1,5 +1,5 @@ // This devcontainer directs workspaces to use a pre-built image. To make // configuration changes, edit prebuild-devcontainer.json in this folder instead { - "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:9305efe3e0085d2917f5192687a629660997a0d22e10bc0249c77b729803e32e" + "image": "registry.ddbuild.io/workspaces/prebuilt/datadog-agent@sha256:d18c23b7116fc84c9c7b04906c34df25b32dfd02f79df1e510e52dd65b19476e" } From c6d4bf6d6759c3fc3f45867140b42fd859ba07a2 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 24 Apr 2026 11:46:16 +0200 Subject: [PATCH 45/46] Fix gitignore --- .gitignore | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitignore b/.gitignore index b432c9bae756..5d82447c7f02 100644 --- a/.gitignore +++ b/.gitignore @@ -247,3 +247,7 @@ AUTO_JIRA.md # Zed config .zed + +# Devcontainer +.devcontainer/ +!.devcontainer/datadog/default From 1f72ca43d8c3ae5a002751e33f42618983047816 Mon Sep 17 00:00:00 2001 From: Kevin Fairise Date: Fri, 24 Apr 2026 14:06:46 +0200 Subject: [PATCH 46/46] Add renovate + check to make sure the image is prebuild --- .../.pre/common/prebuild-workspace-image.yml | 13 ++++ renovate.json | 10 +++ tools/prebuild-devcontainer-check.sh | 65 +++++++++++++++++++ 3 files changed, 88 insertions(+) create mode 100644 .gitlab/.pre/common/prebuild-workspace-image.yml create mode 100644 tools/prebuild-devcontainer-check.sh diff --git a/.gitlab/.pre/common/prebuild-workspace-image.yml b/.gitlab/.pre/common/prebuild-workspace-image.yml new file mode 100644 index 000000000000..8c194babea95 --- /dev/null +++ b/.gitlab/.pre/common/prebuild-workspace-image.yml @@ -0,0 +1,13 @@ +prebuild-workspace-image-check: + image: registry.ddbuild.io/ci/datadog-agent-buildimages/linux$CI_IMAGE_LINUX_SUFFIX:$CI_IMAGE_LINUX + needs: [] + stage: setup + tags: ["arch:amd64", "specific:true"] + rules: + - !reference [.except_main_release_or_mq] + - changes: + paths: + - .devcontainer/datadog/default/**/* + compare_to: $COMPARE_TO_BRANCH + script: + - bash tools/prebuild-devcontainer-check.sh diff --git a/renovate.json b/renovate.json index a4433381559d..d3cc950c7590 100644 --- a/renovate.json +++ b/renovate.json @@ -158,6 +158,16 @@ "versioningTemplate": "loose", "datasourceTemplate": "custom.linux-images" }, + { + "customType": "regex", + "managerFilePatterns": [".devcontainer/datadog/default/prebuild-devcontainer.json"], + "matchStrings": [ + "\"image\":\\s*\"registry.ddbuild.io/ci/datadog-agent-buildimages/dev-env-workspace:(?v[^\"]+)\"" + ], + "depNameTemplate": "linux-images", + "versioningTemplate": "loose", + "datasourceTemplate": "custom.linux-images" + }, { "customType": "regex", "managerFilePatterns": [".gitlab-ci.yml"], diff --git a/tools/prebuild-devcontainer-check.sh b/tools/prebuild-devcontainer-check.sh new file mode 100644 index 000000000000..e5921ae855ae --- /dev/null +++ b/tools/prebuild-devcontainer-check.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# This script is designed to be standalone, for use in any repo, and as part of a pre-commit hook, +# so it must not have any external dependencies beyond `git` + +# logs-backend will make SOURCE_REF/TARGET_REF available as part of the CI; DDCI will make DDCI_* +# variables available. They have opposite meanings (see https://github.com/DataDog/dd-source/pull/194529#issuecomment-2775985239). +source_ref="${DDCI_PULL_REQUEST_TARGET_SHA:-${SOURCE_REF:-}}" +if [[ -z "$source_ref" ]]; then + source_ref="$(git symbolic-ref -q refs/remotes/origin/HEAD)" + source_ref="${source_ref##refs/remotes/}" +fi +target_ref="${DDCI_PULL_REQUEST_SOURCE_SHA:-${TARGET_REF:-HEAD}}" + +# Get any dirs containing changed prebuild-devcontainer.json files, and make sure that those dirs +# are _also_ present in the list of dirs containing changed devcontainer.json files. + +devcontainer_prebuild_changed_dirs=() +while IFS='' read -r line; do + devcontainer_prebuild_changed_dirs+=("$(dirname "$line")") +done < <(git diff --name-only "$source_ref...$target_ref" -- '**/prebuild-devcontainer.json') + +devcontainer_changed_dirs=() +while IFS='' read -r line; do + devcontainer_changed_dirs+=("$(dirname "$line")") +done < <(git diff --name-only "$source_ref...$target_ref" -- '**/devcontainer.json') + +bad_dirs=() +exitcode=0 +for devcontainer_prebuild_dir in "${devcontainer_prebuild_changed_dirs[@]}"; do + + matched=0 + for devcontainer_dir in "${devcontainer_changed_dirs[@]}"; do + if [[ "$devcontainer_prebuild_dir" == "$devcontainer_dir" ]]; then + matched=1 + break + fi + done + + if (( !matched )); then + bad_dirs+=("$devcontainer_prebuild_dir") + fi + +done + +if (( ${#bad_dirs[@]} > 0 )); then + printf $'\033[91m\033[1m'"ERROR:"$'\033[0m'" " + cat <