From 25dcc32c9ceceb33cbbafbc2c23d9944fd766b9a Mon Sep 17 00:00:00 2001 From: Arjun Guha Date: Tue, 27 Oct 2026 16:21:57 -0400 Subject: [PATCH 1/2] Enable DSM tests for PHP Add a /dsm endpoint to the plain PHP weblog (php-fpm and apache-mod): Kafka through php-rdkafka, RabbitMQ direct, topic and fanout exchanges through php-amqplib, and /dsm/inject and /dsm/extract. Install the clients in the base images, enable DSM there, and enable the tests from 1.27.0. Co-Authored-By: Claude Opus 5.5 --- manifests/php.yml | 42 ++- utils/build/docker/base-images.lock.json | 50 ++-- .../docker/php/apache-mod.base.Dockerfile | 1 + utils/build/docker/php/apache-mod/build.sh | 9 +- utils/build/docker/php/common/php.ini | 3 + .../docker/php/common/rewrite-rules.conf | 1 + .../build/docker/php/php-fpm.base.Dockerfile | 1 + utils/build/docker/php/php-fpm/build.sh | 2 +- .../php/weblogs/plain/composer.gte8.2.json | 1 + .../docker/php/weblogs/plain/composer.json | 1 + utils/build/docker/php/weblogs/plain/dsm.php | 242 ++++++++++++++++++ 11 files changed, 317 insertions(+), 36 deletions(-) create mode 100644 utils/build/docker/php/weblogs/plain/dsm.php diff --git a/manifests/php.yml b/manifests/php.yml index 14bbc2f2b11..e7e0ad68fda 100644 --- a/manifests/php.yml +++ b/manifests/php.yml @@ -1354,20 +1354,44 @@ manifest: tests/integrations/test_dbm.py::Test_Dbm_Comment_Python_Psycopg: irrelevant (These are python only tests.) tests/integrations/test_dbm.py::Test_Dbm_Comment_Python_Pymysql: irrelevant (These are python only tests.) tests/integrations/test_dbm.py::Test_Dbm_DynamicService_Postgres: v1.21.0 - tests/integrations/test_dsm.py::Test_DsmContext_Extraction_Base64: missing_feature - tests/integrations/test_dsm.py::Test_DsmContext_Injection_Base64: missing_feature + tests/integrations/test_dsm.py::Test_DsmContext_Extraction_Base64: + - weblog_declaration: + "*": v1.27.0 + laravel11x: missing_feature (Endpoint not implemented) + symfony7x: missing_feature (Endpoint not implemented) + tests/integrations/test_dsm.py::Test_DsmContext_Injection_Base64: + - weblog_declaration: + "*": v1.27.0 + laravel11x: missing_feature (Endpoint not implemented) + symfony7x: missing_feature (Endpoint not implemented) tests/integrations/test_dsm.py::Test_DsmHttp: missing_feature - tests/integrations/test_dsm.py::Test_DsmKafka: missing_feature - tests/integrations/test_dsm.py::Test_DsmKafka::test_dsm_kafka_without_cluster_id: irrelevant + tests/integrations/test_dsm.py::Test_DsmKafka: + - weblog_declaration: + "*": v1.27.0 + laravel11x: missing_feature (Endpoint not implemented) + symfony7x: missing_feature (Endpoint not implemented) + tests/integrations/test_dsm.py::Test_DsmKafka::test_dsm_kafka: missing_feature (php-rdkafka does not expose the Kafka cluster id) tests/integrations/test_dsm.py::Test_DsmKinesis: missing_feature - tests/integrations/test_dsm.py::Test_DsmRabbitmq: missing_feature + tests/integrations/test_dsm.py::Test_DsmRabbitmq: + - weblog_declaration: + "*": v1.27.0 + laravel11x: missing_feature (Endpoint not implemented) + symfony7x: missing_feature (Endpoint not implemented) tests/integrations/test_dsm.py::Test_DsmRabbitmq::test_dsm_rabbitmq_dotnet_legacy: irrelevant (legacy dotnet behavior) - tests/integrations/test_dsm.py::Test_DsmRabbitmq_FanoutExchange: missing_feature - tests/integrations/test_dsm.py::Test_DsmRabbitmq_TopicExchange: missing_feature + tests/integrations/test_dsm.py::Test_DsmRabbitmq_FanoutExchange: + - weblog_declaration: + "*": v1.27.0 + laravel11x: missing_feature (Endpoint not implemented) + symfony7x: missing_feature (Endpoint not implemented) + tests/integrations/test_dsm.py::Test_DsmRabbitmq_TopicExchange: + - weblog_declaration: + "*": v1.27.0 + laravel11x: missing_feature (Endpoint not implemented) + symfony7x: missing_feature (Endpoint not implemented) tests/integrations/test_dsm.py::Test_DsmSNS: missing_feature tests/integrations/test_dsm.py::Test_DsmSQS: missing_feature - tests/integrations/test_dsm.py::Test_Dsm_Manual_Checkpoint_Inter_Process: missing_feature - tests/integrations/test_dsm.py::Test_Dsm_Manual_Checkpoint_Intra_Process: missing_feature + tests/integrations/test_dsm.py::Test_Dsm_Manual_Checkpoint_Inter_Process: missing_feature (no public manual checkpoint API) + tests/integrations/test_dsm.py::Test_Dsm_Manual_Checkpoint_Intra_Process: missing_feature (no public manual checkpoint API) tests/integrations/test_inferred_proxy.py::Test_AWS_API_Gateway_Inferred_Span_Creation: - weblog_declaration: "*": v1.8.0 diff --git a/utils/build/docker/base-images.lock.json b/utils/build/docker/base-images.lock.json index 578a921c155..b36a7347a40 100644 --- a/utils/build/docker/base-images.lock.json +++ b/utils/build/docker/base-images.lock.json @@ -8,31 +8,31 @@ "system_tests_base_nodejs_fastify": "datadog/system-tests:fastify.base-d8786a519f91", "system_tests_base_nodejs_lambda_nodejs_lambda_runtime": "datadog/system-tests:nodejs-lambda-runtime.base-93b9660a8ce9", "system_tests_base_nodejs_nextjs": "datadog/system-tests:nextjs.base-5c42165eff3e", - "system_tests_base_php_apache_mod_7_0": "datadog/system-tests:apache-mod-7.0.base-817e138f4813", - "system_tests_base_php_apache_mod_7_0_zts": "datadog/system-tests:apache-mod-7.0-zts.base-9f0b91573353", - "system_tests_base_php_apache_mod_7_1": "datadog/system-tests:apache-mod-7.1.base-ca6dc88f44c0", - "system_tests_base_php_apache_mod_7_1_zts": "datadog/system-tests:apache-mod-7.1-zts.base-671acda16008", - "system_tests_base_php_apache_mod_7_2": "datadog/system-tests:apache-mod-7.2.base-e5ad77c9e8ba", - "system_tests_base_php_apache_mod_7_2_zts": "datadog/system-tests:apache-mod-7.2-zts.base-899891410f95", - "system_tests_base_php_apache_mod_7_3": "datadog/system-tests:apache-mod-7.3.base-1f1cad57ac02", - "system_tests_base_php_apache_mod_7_3_zts": "datadog/system-tests:apache-mod-7.3-zts.base-1ee4336f01ad", - "system_tests_base_php_apache_mod_7_4": "datadog/system-tests:apache-mod-7.4.base-16e66f43d8f4", - "system_tests_base_php_apache_mod_7_4_zts": "datadog/system-tests:apache-mod-7.4-zts.base-f45e366809fd", - "system_tests_base_php_apache_mod_8_0": "datadog/system-tests:apache-mod-8.0.base-d325a0686aa1", - "system_tests_base_php_apache_mod_8_0_zts": "datadog/system-tests:apache-mod-8.0-zts.base-cf4b1537a58c", - "system_tests_base_php_apache_mod_8_1": "datadog/system-tests:apache-mod-8.1.base-4b2b2ba1c70b", - "system_tests_base_php_apache_mod_8_1_zts": "datadog/system-tests:apache-mod-8.1-zts.base-407ad5c9b435", - "system_tests_base_php_apache_mod_8_2": "datadog/system-tests:apache-mod-8.2.base-5771d89e2b55", - "system_tests_base_php_apache_mod_8_2_zts": "datadog/system-tests:apache-mod-8.2-zts.base-1d89dacb5f9c", - "system_tests_base_php_php_fpm_7_0": "datadog/system-tests:php-fpm-7.0.base-2362129a4bd7", - "system_tests_base_php_php_fpm_7_1": "datadog/system-tests:php-fpm-7.1.base-65aec431b15d", - "system_tests_base_php_php_fpm_7_2": "datadog/system-tests:php-fpm-7.2.base-4db3b3c5e45a", - "system_tests_base_php_php_fpm_7_3": "datadog/system-tests:php-fpm-7.3.base-a585ba1c5c6b", - "system_tests_base_php_php_fpm_7_4": "datadog/system-tests:php-fpm-7.4.base-a6d28dd9d3e7", - "system_tests_base_php_php_fpm_8_0": "datadog/system-tests:php-fpm-8.0.base-1c3690557100", - "system_tests_base_php_php_fpm_8_1": "datadog/system-tests:php-fpm-8.1.base-952e5a1d024f", - "system_tests_base_php_php_fpm_8_2": "datadog/system-tests:php-fpm-8.2.base-fa4b3373d360", - "system_tests_base_php_php_fpm_8_5": "datadog/system-tests:php-fpm-8.5.base-584c4309d774", + "system_tests_base_php_apache_mod_7_0": "datadog/system-tests:apache-mod-7.0.base-9b12084cd6c1", + "system_tests_base_php_apache_mod_7_0_zts": "datadog/system-tests:apache-mod-7.0-zts.base-555b908e8be9", + "system_tests_base_php_apache_mod_7_1": "datadog/system-tests:apache-mod-7.1.base-0b6e401f3a20", + "system_tests_base_php_apache_mod_7_1_zts": "datadog/system-tests:apache-mod-7.1-zts.base-47bf6702e2d2", + "system_tests_base_php_apache_mod_7_2": "datadog/system-tests:apache-mod-7.2.base-8a8ec6a515dd", + "system_tests_base_php_apache_mod_7_2_zts": "datadog/system-tests:apache-mod-7.2-zts.base-489cfd42099e", + "system_tests_base_php_apache_mod_7_3": "datadog/system-tests:apache-mod-7.3.base-2b2cd50afaad", + "system_tests_base_php_apache_mod_7_3_zts": "datadog/system-tests:apache-mod-7.3-zts.base-b6ad55866a87", + "system_tests_base_php_apache_mod_7_4": "datadog/system-tests:apache-mod-7.4.base-2e068f483427", + "system_tests_base_php_apache_mod_7_4_zts": "datadog/system-tests:apache-mod-7.4-zts.base-d1724b2827c7", + "system_tests_base_php_apache_mod_8_0": "datadog/system-tests:apache-mod-8.0.base-ae24adf813cb", + "system_tests_base_php_apache_mod_8_0_zts": "datadog/system-tests:apache-mod-8.0-zts.base-d54145a3a674", + "system_tests_base_php_apache_mod_8_1": "datadog/system-tests:apache-mod-8.1.base-2f67f9a4bb2d", + "system_tests_base_php_apache_mod_8_1_zts": "datadog/system-tests:apache-mod-8.1-zts.base-5bbf10a1f51c", + "system_tests_base_php_apache_mod_8_2": "datadog/system-tests:apache-mod-8.2.base-bb093c3d4e77", + "system_tests_base_php_apache_mod_8_2_zts": "datadog/system-tests:apache-mod-8.2-zts.base-4849042133be", + "system_tests_base_php_php_fpm_7_0": "datadog/system-tests:php-fpm-7.0.base-3c20ca530c57", + "system_tests_base_php_php_fpm_7_1": "datadog/system-tests:php-fpm-7.1.base-8e567d0569fe", + "system_tests_base_php_php_fpm_7_2": "datadog/system-tests:php-fpm-7.2.base-0c3828aa4f67", + "system_tests_base_php_php_fpm_7_3": "datadog/system-tests:php-fpm-7.3.base-5224779ccbce", + "system_tests_base_php_php_fpm_7_4": "datadog/system-tests:php-fpm-7.4.base-727e9714bd56", + "system_tests_base_php_php_fpm_8_0": "datadog/system-tests:php-fpm-8.0.base-cf670d126f8c", + "system_tests_base_php_php_fpm_8_1": "datadog/system-tests:php-fpm-8.1.base-67568fd6914e", + "system_tests_base_php_php_fpm_8_2": "datadog/system-tests:php-fpm-8.2.base-b3dffe3e239b", + "system_tests_base_php_php_fpm_8_5": "datadog/system-tests:php-fpm-8.5.base-29dd40fd650d", "system_tests_base_python_aiohttp": "datadog/system-tests:aiohttp.base-8697afadfeae", "system_tests_base_python_django_poc": "datadog/system-tests:django-poc.base-1d15b551f35b", "system_tests_base_python_django_py3_13": "datadog/system-tests:django-py3.13.base-8fa5fb488bac", diff --git a/utils/build/docker/php/apache-mod.base.Dockerfile b/utils/build/docker/php/apache-mod.base.Dockerfile index 1bd287e4636..5bf66b8d76b 100644 --- a/utils/build/docker/php/apache-mod.base.Dockerfile +++ b/utils/build/docker/php/apache-mod.base.Dockerfile @@ -7,6 +7,7 @@ ENV DD_TRACE_ENABLED=1 ENV DD_TRACE_GENERATE_ROOT_SPAN=1 ENV DD_TRACE_AGENT_FLUSH_AFTER_N_REQUESTS=0 ENV DD_TRACE_HEADER_TAGS=user-agent +ENV DD_DATA_STREAMS_ENABLED=true EXPOSE 7777/tcp diff --git a/utils/build/docker/php/apache-mod/build.sh b/utils/build/docker/php/apache-mod/build.sh index 429c7bd215e..1ebee8681c4 100755 --- a/utils/build/docker/php/apache-mod/build.sh +++ b/utils/build/docker/php/apache-mod/build.sh @@ -20,10 +20,17 @@ cp -rf /tmp/php/common/php.ini /etc/php/ printf '#!/bin/sh\n\nexit 101\n' > /usr/sbin/policy-rc.d && \ chmod +x /usr/sbin/policy-rc.d && \ apt-get update && apt-get install -y \ - apache2 jq \ + apache2 jq librdkafka-dev \ && rm -rf /var/lib/apt/lists/* && \ rm -rf /usr/sbin/policy-rc.d +# php-rdkafka, the Kafka client of the DSM endpoints. This PHP is built from source, so no +# distribution package of the extension matches it. +RDKAFKA_VERSION=6.0.5 +curl -Lf "https://github.com/arnaud-lb/php-rdkafka/archive/refs/tags/${RDKAFKA_VERSION}.tar.gz" | tar -xz -C /tmp +(cd "/tmp/php-rdkafka-${RDKAFKA_VERSION}" && phpize && ./configure && make -j"$(nproc)" && make install) +rm -rf "/tmp/php-rdkafka-${RDKAFKA_VERSION}" + a2enmod rewrite ARCH=$(arch) diff --git a/utils/build/docker/php/common/php.ini b/utils/build/docker/php/common/php.ini index 194307aeddb..0f6647525d9 100644 --- a/utils/build/docker/php/common/php.ini +++ b/utils/build/docker/php/common/php.ini @@ -19,6 +19,9 @@ extension=iconv.so extension=zlib.so extension=session.so extension=ctype.so +; For the DSM endpoints: php-amqplib needs sockets, and rdkafka is the Kafka client +extension=sockets.so +extension=rdkafka.so error_log=/var/log/system-tests/php_error.log error_reporting=2147483647 display_errors=0 diff --git a/utils/build/docker/php/common/rewrite-rules.conf b/utils/build/docker/php/common/rewrite-rules.conf index f718e47a2fb..1f344a6fc7b 100644 --- a/utils/build/docker/php/common/rewrite-rules.conf +++ b/utils/build/docker/php/common/rewrite-rules.conf @@ -20,6 +20,7 @@ RewriteRule "^/user_login_success_event_v2$" "/user_login_success_event_v2/" RewriteRule "^/user_login_failure_event$" "/user_login_failure_event/" RewriteRule "^/user_login_success_event$" "/user_login_success_event/" RewriteRule "^/dbm$" "/dbm/" +RewriteRule "^/dsm$" "/dsm/" RewriteRule "^/stub_dbm" "/stub_dbm.php" [QSA,L] RewriteRule "^/inferred-proxy/span-creation$" "/inferred_span/" [QSA] RewriteRule "^/login$" "/login/" diff --git a/utils/build/docker/php/php-fpm.base.Dockerfile b/utils/build/docker/php/php-fpm.base.Dockerfile index 7162b8abe85..598d9350e48 100644 --- a/utils/build/docker/php/php-fpm.base.Dockerfile +++ b/utils/build/docker/php/php-fpm.base.Dockerfile @@ -18,3 +18,4 @@ ENV DD_TRACE_ENABLED=1 ENV DD_TRACE_GENERATE_ROOT_SPAN=1 ENV DD_TRACE_AGENT_FLUSH_AFTER_N_REQUESTS=0 ENV DD_TRACE_HEADER_TAGS=user-agent +ENV DD_DATA_STREAMS_ENABLED=true diff --git a/utils/build/docker/php/php-fpm/build.sh b/utils/build/docker/php/php-fpm/build.sh index 8a00683520c..f6ed8ac0433 100644 --- a/utils/build/docker/php/php-fpm/build.sh +++ b/utils/build/docker/php/php-fpm/build.sh @@ -31,7 +31,7 @@ nala update printf '#!/bin/sh\n\nexit 101\n' > /usr/sbin/policy-rc.d chmod +x /usr/sbin/policy-rc.d -nala install -y --no-install-recommends tzdata publicsuffix curl apache2 libapache2-mod-fcgid jq ca-certificates git unzip php$PHP_VERSION-fpm php$PHP_VERSION-curl apache2 php$PHP_VERSION-mysql php$PHP_VERSION-pgsql php$PHP_VERSION-xml php$PHP_VERSION-mongodb php$PHP_VERSION-mbstring +nala install -y --no-install-recommends tzdata publicsuffix curl apache2 libapache2-mod-fcgid jq ca-certificates git unzip php$PHP_VERSION-fpm php$PHP_VERSION-curl apache2 php$PHP_VERSION-mysql php$PHP_VERSION-pgsql php$PHP_VERSION-xml php$PHP_VERSION-mongodb php$PHP_VERSION-mbstring php$PHP_VERSION-rdkafka rm -rf /usr/sbin/policy-rc.d rm -rf /var/lib/apt/lists/* diff --git a/utils/build/docker/php/weblogs/plain/composer.gte8.2.json b/utils/build/docker/php/weblogs/plain/composer.gte8.2.json index 9bfb246a634..8e569337092 100644 --- a/utils/build/docker/php/weblogs/plain/composer.gte8.2.json +++ b/utils/build/docker/php/weblogs/plain/composer.gte8.2.json @@ -4,6 +4,7 @@ "require": { "weblog/acme": "*", "monolog/monolog": "*", + "php-amqplib/php-amqplib": "*", "openai-php/client": "*", "guzzlehttp/guzzle": "*", "stripe/stripe-php": "^10.0" diff --git a/utils/build/docker/php/weblogs/plain/composer.json b/utils/build/docker/php/weblogs/plain/composer.json index 131169ebf37..56416f744f4 100644 --- a/utils/build/docker/php/weblogs/plain/composer.json +++ b/utils/build/docker/php/weblogs/plain/composer.json @@ -4,6 +4,7 @@ "require": { "weblog/acme": "*", "monolog/monolog": "*", + "php-amqplib/php-amqplib": "*", "stripe/stripe-php": "^10.0" }, "repositories": [ diff --git a/utils/build/docker/php/weblogs/plain/dsm.php b/utils/build/docker/php/weblogs/plain/dsm.php new file mode 100644 index 00000000000..ce3d6453528 --- /dev/null +++ b/utils/build/docker/php/weblogs/plain/dsm.php @@ -0,0 +1,242 @@ +set('bootstrap.servers', DSM_KAFKA_SERVER); + $producer = new RdKafka\Producer($conf); + $producer->newTopic($topic)->produce(RD_KAFKA_PARTITION_UA, 0, $message); + $err = $producer->flush(10000); + if ($err !== RD_KAFKA_RESP_ERR_NO_ERROR) { + throw new RuntimeException('Kafka produce failed: ' . rd_kafka_err2str($err)); + } +} + +/** + * Consume from partition 0 of the topic from the group's committed offset until the message comes + * back, committing as it goes so that the next request starts after it. + * + * The partition is assigned rather than subscribed to: Test_DsmKafka waits only the weblog's + * default request timeout, too short for a group rebalance to be sure to finish. The consumer + * still belongs to the group, so its checkpoints carry the group tag. + */ +function dsm_kafka_consume($topic, $group, $message, $timeout) +{ + $conf = new RdKafka\Conf(); + $conf->set('bootstrap.servers', DSM_KAFKA_SERVER); + $conf->set('group.id', $group); + $conf->set('auto.offset.reset', 'earliest'); + $conf->set('enable.auto.commit', 'false'); + $consumer = new RdKafka\KafkaConsumer($conf); + $consumer->assign([new RdKafka\TopicPartition($topic, 0, RD_KAFKA_OFFSET_STORED)]); + + try { + $deadline = microtime(true) + $timeout; + while (microtime(true) < $deadline) { + $received = $consumer->consume(1000); + if ($received->err === RD_KAFKA_RESP_ERR_NO_ERROR) { + $consumer->commit($received); + if ($received->payload === $message) { + return true; + } + } elseif ($received->err !== RD_KAFKA_RESP_ERR__TIMED_OUT + && $received->err !== RD_KAFKA_RESP_ERR__PARTITION_EOF) { + throw new RuntimeException('Kafka consume failed: ' . $received->errstr()); + } + } + return false; + } finally { + $consumer->close(); + } +} + +function dsm_kafka($queue, $group, $timeout) +{ + $message = 'Hello from PHP DSM test ' . uniqid(); + dsm_kafka_produce($queue, $message); + if (!dsm_kafka_consume($queue, $group, $message, $timeout)) { + throw new RuntimeException("Kafka message not consumed from $queue within {$timeout}s"); + } +} + +/** + * Declare the exchange and its queues, publish a message for each routing key, then consume until + * every queue has delivered one. + * + * @param array $bindings queue => binding key + */ +function dsm_rabbitmq($exchange, $type, array $bindings, array $routingKeys, $timeout) +{ + $connection = new AMQPStreamConnection(DSM_RABBITMQ_HOST, DSM_RABBITMQ_PORT, 'guest', 'guest'); + try { + $channel = $connection->channel(); + // Durable, as in the other tracers' weblogs, so that queues they left in a reused broker + // can be declared again. + $channel->exchange_declare($exchange, $type, false, true, false); + foreach ($bindings as $queue => $bindingKey) { + $channel->queue_declare($queue, false, true, false, false); + $channel->queue_bind($queue, $exchange, $bindingKey); + } + + foreach ($routingKeys as $routingKey) { + $channel->basic_publish(new AMQPMessage('Hello from PHP DSM test'), $exchange, $routingKey); + } + + $pending = array_fill_keys(array_keys($bindings), true); + foreach (array_keys($bindings) as $queue) { + $channel->basic_consume($queue, '', false, true, false, false, function () use ($queue, &$pending) { + unset($pending[$queue]); + }); + } + $deadline = microtime(true) + $timeout; + while ($pending && ($remaining = $deadline - microtime(true)) > 0) { + try { + $channel->wait(null, false, $remaining); + } catch (AMQPTimeoutException $e) { + break; + } + } + $channel->close(); + } finally { + $connection->close(); + } + + if ($pending) { + throw new RuntimeException('RabbitMQ messages not consumed from ' . implode(', ', array_keys($pending)) + . " within {$timeout}s"); + } +} + +function dsm() +{ + $integration = isset($_GET['integration']) ? $_GET['integration'] : ''; + $timeout = isset($_GET['timeout']) ? (float)$_GET['timeout'] : 20; + + switch ($integration) { + case 'kafka': + dsm_kafka($_GET['queue'], $_GET['group'], $timeout); + break; + case 'rabbitmq': + dsm_rabbitmq( + $_GET['exchange'], + 'direct', + [$_GET['queue'] => $_GET['routing_key']], + [$_GET['routing_key']], + $timeout + ); + break; + case 'rabbitmq_topic_exchange': + dsm_rabbitmq( + 'systemTestTopicExchange', + 'topic', + [ + 'systemTestRabbitmqTopicQueue1' => 'test.topic.*.cake', + 'systemTestRabbitmqTopicQueue2' => 'test.topic.vanilla.*', + 'systemTestRabbitmqTopicQueue3' => 'test.topic.chocolate.*', + ], + ['test.topic.chocolate.cake', 'test.topic.chocolate.icecream', 'test.topic.vanilla.icecream'], + $timeout + ); + break; + case 'rabbitmq_fanout_exchange': + dsm_rabbitmq( + 'systemTestFanoutExchange', + 'fanout', + [ + 'systemTestRabbitmqFanoutQueue1' => '', + 'systemTestRabbitmqFanoutQueue2' => '', + 'systemTestRabbitmqFanoutQueue3' => '', + ], + [''], + $timeout + ); + break; + default: + http_response_code(400); + echo "Integration is not supported: $integration"; + return; + } + + echo 'ok'; +} + +function dsm_require_checkpoints() +{ + if (!function_exists('DDTrace\Internal\dsm_set_checkpoint')) { + throw new RuntimeException('This tracer has no Data Streams Monitoring checkpoints'); + } +} + +function dsm_inject() +{ + dsm_require_checkpoints(); + $context = \DDTrace\Internal\dsm_set_checkpoint([ + 'direction:out', + 'topic:' . $_GET['topic'], + 'type:' . $_GET['integration'], + ]); + + $carrier = []; + if ($context !== null) { + $carrier['dd-pathway-ctx-base64'] = $context; + } + header('Content-Type: application/json'); + echo json_encode($carrier); +} + +function dsm_extract() +{ + dsm_require_checkpoints(); + $carrier = json_decode($_GET['ctx'], true); + \DDTrace\Internal\dsm_set_checkpoint( + ['direction:in', 'topic:' . $_GET['topic'], 'type:' . $_GET['integration']], + isset($carrier['dd-pathway-ctx-base64']) ? $carrier['dd-pathway-ctx-base64'] : null + ); + echo 'ok'; +} + +$path = isset($_SERVER['PATH_INFO']) ? rtrim($_SERVER['PATH_INFO'], '/') : ''; +try { + switch ($path) { + case '': + dsm(); + break; + case '/inject': + dsm_inject(); + break; + case '/extract': + dsm_extract(); + break; + default: + http_response_code(404); + echo "Not found: /dsm$path"; + } +} catch (Throwable $e) { + error_log("DSM endpoint /dsm$path failed: $e"); + http_response_code(500); + echo $e->getMessage(); +} From aeb08123ef3786b7200b237a24623273f2ee4d1d Mon Sep 17 00:00:00 2001 From: Arjun Guha Date: Tue, 27 Oct 2026 16:39:08 -0400 Subject: [PATCH 2/2] Update mirror images for the new PHP base images Co-Authored-By: Claude Opus 5.5 --- mirror_images.lock.yaml | 200 ++++++++++++++++++++-------------------- mirror_images.yaml | 50 +++++----- 2 files changed, 125 insertions(+), 125 deletions(-) diff --git a/mirror_images.lock.yaml b/mirror_images.lock.yaml index 8562942aaf5..c314c3a7ce8 100644 --- a/mirror_images.lock.yaml +++ b/mirror_images.lock.yaml @@ -38,70 +38,70 @@ images: digest: sha256:bddfb45339ab796c2cbf7df6d679a85a128acb007b246b42f47ea59aa2b5f8e7 target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:aiohttp.base-8697afadfeae tag: aiohttp.base-8697afadfeae - datadog/system-tests:apache-mod-7.0-zts.base-9f0b91573353: - digest: sha256:004cd90a6bd8c44fad2ea716431b336c8af3d7cee97e19d8e78c58beb9a62679 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.0-zts.base-9f0b91573353 - tag: apache-mod-7.0-zts.base-9f0b91573353 - datadog/system-tests:apache-mod-7.0.base-817e138f4813: - digest: sha256:367b47b18f334f0066287d05f448f5809e7e2d52f6c57643511fea67630c9d49 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.0.base-817e138f4813 - tag: apache-mod-7.0.base-817e138f4813 - datadog/system-tests:apache-mod-7.1-zts.base-671acda16008: - digest: sha256:a896f3e86678672d404fc2a8c81c8291fc1356767c1594c8744e0c022807c52e - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.1-zts.base-671acda16008 - tag: apache-mod-7.1-zts.base-671acda16008 - datadog/system-tests:apache-mod-7.1.base-ca6dc88f44c0: - digest: sha256:951385187754dbd06a4b9c610ac8d66a44446d8a75c198049cf19479901f6d98 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.1.base-ca6dc88f44c0 - tag: apache-mod-7.1.base-ca6dc88f44c0 - datadog/system-tests:apache-mod-7.2-zts.base-899891410f95: - digest: sha256:b87dee18cc4c8a198e42591d5f121a12acb76e629d398a37a22aaf400936d2ae - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.2-zts.base-899891410f95 - tag: apache-mod-7.2-zts.base-899891410f95 - datadog/system-tests:apache-mod-7.2.base-e5ad77c9e8ba: - digest: sha256:28aa1b93288278575457224918c178d3890e2df257be2ac518fc92f6fa561cc5 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.2.base-e5ad77c9e8ba - tag: apache-mod-7.2.base-e5ad77c9e8ba - datadog/system-tests:apache-mod-7.3-zts.base-1ee4336f01ad: - digest: sha256:dcf00d48c0a422eb081558028224c3ed5b72129658af59801830af16733dad93 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.3-zts.base-1ee4336f01ad - tag: apache-mod-7.3-zts.base-1ee4336f01ad - datadog/system-tests:apache-mod-7.3.base-1f1cad57ac02: - digest: sha256:907c4344bbc0548ef745a0151da84ab496d15063155a212381c3261c11363376 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.3.base-1f1cad57ac02 - tag: apache-mod-7.3.base-1f1cad57ac02 - datadog/system-tests:apache-mod-7.4-zts.base-f45e366809fd: - digest: sha256:730ba57e20097fa5283dca28095fd9634f309bb389c9b9f0e985b0920533ffeb - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.4-zts.base-f45e366809fd - tag: apache-mod-7.4-zts.base-f45e366809fd - datadog/system-tests:apache-mod-7.4.base-16e66f43d8f4: - digest: sha256:d0e69970bae8309d6adb0bd80691cb7fcbab1b582aa1c99d273a57bdcb690f65 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.4.base-16e66f43d8f4 - tag: apache-mod-7.4.base-16e66f43d8f4 - datadog/system-tests:apache-mod-8.0-zts.base-cf4b1537a58c: - digest: sha256:55a04cf89c80db425766f6e1335b6bae2f266b6f4171f913e1bd20daa0700687 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.0-zts.base-cf4b1537a58c - tag: apache-mod-8.0-zts.base-cf4b1537a58c - datadog/system-tests:apache-mod-8.0.base-d325a0686aa1: - digest: sha256:84dd497271b3c2c161ace7f671a6596b078a5c8f5627fbbd3cc85759a8d1464f - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.0.base-d325a0686aa1 - tag: apache-mod-8.0.base-d325a0686aa1 - datadog/system-tests:apache-mod-8.1-zts.base-407ad5c9b435: - digest: sha256:2844bef183f79f2a6fd8478ac144d0694f62d16bb08937c7f0a37372b161f59e - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.1-zts.base-407ad5c9b435 - tag: apache-mod-8.1-zts.base-407ad5c9b435 - datadog/system-tests:apache-mod-8.1.base-4b2b2ba1c70b: - digest: sha256:83595d9bc075b1597afca2a9b399633dce81217b9bce5ad6d08017ae81839144 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.1.base-4b2b2ba1c70b - tag: apache-mod-8.1.base-4b2b2ba1c70b - datadog/system-tests:apache-mod-8.2-zts.base-1d89dacb5f9c: - digest: sha256:f68abc9906a2f727fa72afa655cfc2b3567f3f5fa180b4245419e0b70336e929 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.2-zts.base-1d89dacb5f9c - tag: apache-mod-8.2-zts.base-1d89dacb5f9c - datadog/system-tests:apache-mod-8.2.base-5771d89e2b55: - digest: sha256:192e69b55762cced546d59062bb142bf95508e2d15c55600806471e320c6cb40 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.2.base-5771d89e2b55 - tag: apache-mod-8.2.base-5771d89e2b55 + datadog/system-tests:apache-mod-7.0-zts.base-555b908e8be9: + digest: sha256:9faaf740e42f2ccd5eb93497b8a775b03200194b43541ee89c472041676fa8a6 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.0-zts.base-555b908e8be9 + tag: apache-mod-7.0-zts.base-555b908e8be9 + datadog/system-tests:apache-mod-7.0.base-9b12084cd6c1: + digest: sha256:e6cb5f233fe47799071d5bdd11cacdadf44bbe8d087a7293f25d2f93332fabad + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.0.base-9b12084cd6c1 + tag: apache-mod-7.0.base-9b12084cd6c1 + datadog/system-tests:apache-mod-7.1-zts.base-47bf6702e2d2: + digest: sha256:f9c3d5886f152ee58e1b4e6a40f692a8e43e08ebc95fc331cfeaf183f36329ce + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.1-zts.base-47bf6702e2d2 + tag: apache-mod-7.1-zts.base-47bf6702e2d2 + datadog/system-tests:apache-mod-7.1.base-0b6e401f3a20: + digest: sha256:43c084376fe9f056f2939712f14af570f2956eda5c244904f1c6249fa95e912f + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.1.base-0b6e401f3a20 + tag: apache-mod-7.1.base-0b6e401f3a20 + datadog/system-tests:apache-mod-7.2-zts.base-489cfd42099e: + digest: sha256:e0f0a4877ab60de6bb2a18c7e55a42b509c08f8cf285b1b83f0a482cad5c5313 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.2-zts.base-489cfd42099e + tag: apache-mod-7.2-zts.base-489cfd42099e + datadog/system-tests:apache-mod-7.2.base-8a8ec6a515dd: + digest: sha256:7e6da0c1adede8e51e9a2ec7faf3b5ac5a439b513729c2c367c17677ec0a20e2 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.2.base-8a8ec6a515dd + tag: apache-mod-7.2.base-8a8ec6a515dd + datadog/system-tests:apache-mod-7.3-zts.base-b6ad55866a87: + digest: sha256:c957a5cbf12601a57c63781eeb27f33685d971e3758c79b7cca523ad5fe054c2 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.3-zts.base-b6ad55866a87 + tag: apache-mod-7.3-zts.base-b6ad55866a87 + datadog/system-tests:apache-mod-7.3.base-2b2cd50afaad: + digest: sha256:cab92d7cbeba002c9f060cc4615029e6cdaf4a7d6850bef18db1e17f84bf5551 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.3.base-2b2cd50afaad + tag: apache-mod-7.3.base-2b2cd50afaad + datadog/system-tests:apache-mod-7.4-zts.base-d1724b2827c7: + digest: sha256:c72585fb5b5429edd0220aa1a2ee8c70567d8e8b0fb5942b88cf01f1fc7fc213 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.4-zts.base-d1724b2827c7 + tag: apache-mod-7.4-zts.base-d1724b2827c7 + datadog/system-tests:apache-mod-7.4.base-2e068f483427: + digest: sha256:032a465681d890d7eb2df7805d55148d386107ec63b8674d5324ed50b6f9e804 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-7.4.base-2e068f483427 + tag: apache-mod-7.4.base-2e068f483427 + datadog/system-tests:apache-mod-8.0-zts.base-d54145a3a674: + digest: sha256:43e4349bef07d34d49f9c93ad1ef03d369c0d435bb7d4331549c025337f457ac + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.0-zts.base-d54145a3a674 + tag: apache-mod-8.0-zts.base-d54145a3a674 + datadog/system-tests:apache-mod-8.0.base-ae24adf813cb: + digest: sha256:bd83e88cea956e01cea79d92eede3457b8c398c96ff555f62cfe045c96cf7898 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.0.base-ae24adf813cb + tag: apache-mod-8.0.base-ae24adf813cb + datadog/system-tests:apache-mod-8.1-zts.base-5bbf10a1f51c: + digest: sha256:92ede2d2831aaad41bb96b4833dfed9526b607145d1eaec2d76944497eb45dd1 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.1-zts.base-5bbf10a1f51c + tag: apache-mod-8.1-zts.base-5bbf10a1f51c + datadog/system-tests:apache-mod-8.1.base-2f67f9a4bb2d: + digest: sha256:02f6374639ecd72b8f7628be227e47aeafac981d55045e02b3bbe1738df51712 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.1.base-2f67f9a4bb2d + tag: apache-mod-8.1.base-2f67f9a4bb2d + datadog/system-tests:apache-mod-8.2-zts.base-4849042133be: + digest: sha256:c4e3c08e0fd8efe73a36bfd74d5b22eb8013daf4d9c3664d2f5e42e1d055e4cc + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.2-zts.base-4849042133be + tag: apache-mod-8.2-zts.base-4849042133be + datadog/system-tests:apache-mod-8.2.base-bb093c3d4e77: + digest: sha256:afe6700b587862bb4e21a6bff7ecad0686feeeadda0c2671c1d59173e580fbd7 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:apache-mod-8.2.base-bb093c3d4e77 + tag: apache-mod-8.2.base-bb093c3d4e77 datadog/system-tests:django-poc.base-1d15b551f35b: digest: sha256:d8b6e61bd612769bbecdbb3c4b6f45c73aa2c62b87f85de93f5e5c56d35791f0 target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:django-poc.base-1d15b551f35b @@ -166,42 +166,42 @@ images: digest: sha256:f9ff2f770ebdfce6110d730f089a4dd025d17220bc0c5626d858252003f22f86 target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:openai-py.base-31091e40843e tag: openai-py.base-31091e40843e - datadog/system-tests:php-fpm-7.0.base-2362129a4bd7: - digest: sha256:30a19b327c5fe67c03fe19c2865ac1ce261ad196c44e45872f67b67844f08f11 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.0.base-2362129a4bd7 - tag: php-fpm-7.0.base-2362129a4bd7 - datadog/system-tests:php-fpm-7.1.base-65aec431b15d: - digest: sha256:1483cfdd8284a07763a5069ebd78265d682967ece34497c9577a3d675079c384 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.1.base-65aec431b15d - tag: php-fpm-7.1.base-65aec431b15d - datadog/system-tests:php-fpm-7.2.base-4db3b3c5e45a: - digest: sha256:dd826c3e8916af70c3b2fa0e3504a71ffbd8b8cd36fb89d3e79ec21433b7ac5e - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.2.base-4db3b3c5e45a - tag: php-fpm-7.2.base-4db3b3c5e45a - datadog/system-tests:php-fpm-7.3.base-a585ba1c5c6b: - digest: sha256:7487bf21d8ed6f49774faacecd8d55c8d7d18b7c178c8cec3563805f080c6c22 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.3.base-a585ba1c5c6b - tag: php-fpm-7.3.base-a585ba1c5c6b - datadog/system-tests:php-fpm-7.4.base-a6d28dd9d3e7: - digest: sha256:900887bb6ac0e26087f30e92baf4b6b833bfccf38fb6efb0425dd2d079c12a11 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.4.base-a6d28dd9d3e7 - tag: php-fpm-7.4.base-a6d28dd9d3e7 - datadog/system-tests:php-fpm-8.0.base-1c3690557100: - digest: sha256:776e76f9f8b1296a4223026ab489affec3dc44a635d2529d2dd9eeca047931c5 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.0.base-1c3690557100 - tag: php-fpm-8.0.base-1c3690557100 - datadog/system-tests:php-fpm-8.1.base-952e5a1d024f: - digest: sha256:5cf87e7a79a2f905d13955277c99f7ae526958da1164b180a0d5560a2c2ecd94 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.1.base-952e5a1d024f - tag: php-fpm-8.1.base-952e5a1d024f - datadog/system-tests:php-fpm-8.2.base-fa4b3373d360: - digest: sha256:0a20a09d354bab4cd77eb5def56473e03253f85d13a8df1eee7f0d0086fbd9e7 - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.2.base-fa4b3373d360 - tag: php-fpm-8.2.base-fa4b3373d360 - datadog/system-tests:php-fpm-8.5.base-584c4309d774: - digest: sha256:4a2d48fbc3e0a08b0d418bf6e1561b0a5c13617fa700eecad12970671b5ef67e - target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.5.base-584c4309d774 - tag: php-fpm-8.5.base-584c4309d774 + datadog/system-tests:php-fpm-7.0.base-3c20ca530c57: + digest: sha256:8d4d4b2e1148b2454f0111c594f824b61a2b6bad90d117d9b7adde990e21cfdb + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.0.base-3c20ca530c57 + tag: php-fpm-7.0.base-3c20ca530c57 + datadog/system-tests:php-fpm-7.1.base-8e567d0569fe: + digest: sha256:98f966f451cec73d672bf4c379c09f1d6566902632862ad18595445a0b35a2d6 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.1.base-8e567d0569fe + tag: php-fpm-7.1.base-8e567d0569fe + datadog/system-tests:php-fpm-7.2.base-0c3828aa4f67: + digest: sha256:4fa642315f27bfc5e1657dcc22a33e6eef66979e25ca491a3995c8ba8761c45b + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.2.base-0c3828aa4f67 + tag: php-fpm-7.2.base-0c3828aa4f67 + datadog/system-tests:php-fpm-7.3.base-5224779ccbce: + digest: sha256:ff0aadba0fd1ddec56545855540b6012980c11662397111b63e4829d30ef6a9c + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.3.base-5224779ccbce + tag: php-fpm-7.3.base-5224779ccbce + datadog/system-tests:php-fpm-7.4.base-727e9714bd56: + digest: sha256:70339dcbdbd93f953e89e4893292fc7aa871d21618dda553beb2c9a5865e718d + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-7.4.base-727e9714bd56 + tag: php-fpm-7.4.base-727e9714bd56 + datadog/system-tests:php-fpm-8.0.base-cf670d126f8c: + digest: sha256:ce7f9cd35e9aede718cc9fa1dd1b1fa27e268e14b773aa88dd35b11a18240674 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.0.base-cf670d126f8c + tag: php-fpm-8.0.base-cf670d126f8c + datadog/system-tests:php-fpm-8.1.base-67568fd6914e: + digest: sha256:f7784087ead141d11f91a43b36de56554ae38f27e34224ffe27fa900a15dc7b8 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.1.base-67568fd6914e + tag: php-fpm-8.1.base-67568fd6914e + datadog/system-tests:php-fpm-8.2.base-b3dffe3e239b: + digest: sha256:18b6b789bc0e78ff1cf0cf2345e1e9e576900b1d33acfc926ea298d9224d8ab6 + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.2.base-b3dffe3e239b + tag: php-fpm-8.2.base-b3dffe3e239b + datadog/system-tests:php-fpm-8.5.base-29dd40fd650d: + digest: sha256:902bc72b3eefc33752d41e6843f9a6bf7735e992797ffae7eb52c4bc83ca6eef + target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:php-fpm-8.5.base-29dd40fd650d + tag: php-fpm-8.5.base-29dd40fd650d datadog/system-tests:proxy-v1: digest: sha256:02ce356eafacfe04d3022ff505e2dbb9e47cd3c55244b7918ff6fc824db85f02 target: registry.ddbuild.io/system-tests/mirror/datadog/system-tests:proxy-v1 diff --git a/mirror_images.yaml b/mirror_images.yaml index c1f3b879448..11804c5b60a 100644 --- a/mirror_images.yaml +++ b/mirror_images.yaml @@ -17,22 +17,22 @@ - "datadog/dd-trace-ci:php-8.2_bookworm-6" - "datadog/serverless-init:1.10.4" - "datadog/system-tests:aiohttp.base-8697afadfeae" -- "datadog/system-tests:apache-mod-7.0-zts.base-9f0b91573353" -- "datadog/system-tests:apache-mod-7.0.base-817e138f4813" -- "datadog/system-tests:apache-mod-7.1-zts.base-671acda16008" -- "datadog/system-tests:apache-mod-7.1.base-ca6dc88f44c0" -- "datadog/system-tests:apache-mod-7.2-zts.base-899891410f95" -- "datadog/system-tests:apache-mod-7.2.base-e5ad77c9e8ba" -- "datadog/system-tests:apache-mod-7.3-zts.base-1ee4336f01ad" -- "datadog/system-tests:apache-mod-7.3.base-1f1cad57ac02" -- "datadog/system-tests:apache-mod-7.4-zts.base-f45e366809fd" -- "datadog/system-tests:apache-mod-7.4.base-16e66f43d8f4" -- "datadog/system-tests:apache-mod-8.0-zts.base-cf4b1537a58c" -- "datadog/system-tests:apache-mod-8.0.base-d325a0686aa1" -- "datadog/system-tests:apache-mod-8.1-zts.base-407ad5c9b435" -- "datadog/system-tests:apache-mod-8.1.base-4b2b2ba1c70b" -- "datadog/system-tests:apache-mod-8.2-zts.base-1d89dacb5f9c" -- "datadog/system-tests:apache-mod-8.2.base-5771d89e2b55" +- "datadog/system-tests:apache-mod-7.0-zts.base-555b908e8be9" +- "datadog/system-tests:apache-mod-7.0.base-9b12084cd6c1" +- "datadog/system-tests:apache-mod-7.1-zts.base-47bf6702e2d2" +- "datadog/system-tests:apache-mod-7.1.base-0b6e401f3a20" +- "datadog/system-tests:apache-mod-7.2-zts.base-489cfd42099e" +- "datadog/system-tests:apache-mod-7.2.base-8a8ec6a515dd" +- "datadog/system-tests:apache-mod-7.3-zts.base-b6ad55866a87" +- "datadog/system-tests:apache-mod-7.3.base-2b2cd50afaad" +- "datadog/system-tests:apache-mod-7.4-zts.base-d1724b2827c7" +- "datadog/system-tests:apache-mod-7.4.base-2e068f483427" +- "datadog/system-tests:apache-mod-8.0-zts.base-d54145a3a674" +- "datadog/system-tests:apache-mod-8.0.base-ae24adf813cb" +- "datadog/system-tests:apache-mod-8.1-zts.base-5bbf10a1f51c" +- "datadog/system-tests:apache-mod-8.1.base-2f67f9a4bb2d" +- "datadog/system-tests:apache-mod-8.2-zts.base-4849042133be" +- "datadog/system-tests:apache-mod-8.2.base-bb093c3d4e77" - "datadog/system-tests:django-poc.base-1d15b551f35b" - "datadog/system-tests:django-py3.13.base-8fa5fb488bac" - "datadog/system-tests:express4-typescript.base-070fd1ba6efd" @@ -49,15 +49,15 @@ - "datadog/system-tests:nodejs-lambda-runtime.base-93b9660a8ce9" - "datadog/system-tests:nodejs_buddy-v1" - "datadog/system-tests:openai-py.base-31091e40843e" -- "datadog/system-tests:php-fpm-7.0.base-2362129a4bd7" -- "datadog/system-tests:php-fpm-7.1.base-65aec431b15d" -- "datadog/system-tests:php-fpm-7.2.base-4db3b3c5e45a" -- "datadog/system-tests:php-fpm-7.3.base-a585ba1c5c6b" -- "datadog/system-tests:php-fpm-7.4.base-a6d28dd9d3e7" -- "datadog/system-tests:php-fpm-8.0.base-1c3690557100" -- "datadog/system-tests:php-fpm-8.1.base-952e5a1d024f" -- "datadog/system-tests:php-fpm-8.2.base-fa4b3373d360" -- "datadog/system-tests:php-fpm-8.5.base-584c4309d774" +- "datadog/system-tests:php-fpm-7.0.base-3c20ca530c57" +- "datadog/system-tests:php-fpm-7.1.base-8e567d0569fe" +- "datadog/system-tests:php-fpm-7.2.base-0c3828aa4f67" +- "datadog/system-tests:php-fpm-7.3.base-5224779ccbce" +- "datadog/system-tests:php-fpm-7.4.base-727e9714bd56" +- "datadog/system-tests:php-fpm-8.0.base-cf670d126f8c" +- "datadog/system-tests:php-fpm-8.1.base-67568fd6914e" +- "datadog/system-tests:php-fpm-8.2.base-b3dffe3e239b" +- "datadog/system-tests:php-fpm-8.5.base-29dd40fd650d" - "datadog/system-tests:proxy-v1" - "datadog/system-tests:python-lambda-runtime.base-aec497f8192f" - "datadog/system-tests:python-parametric.base-be1a47c3d761"