Skip to content

test(ffe): enable Node.js agentless serverless exposures [nodejs@ffl-2697-nodejs-serverless-evp-routing] - #7478

Draft
leoromanovsky wants to merge 25 commits into
mainfrom
agent/nodejs-agentless-serverless-exposures-nodejs
Draft

test(ffe): enable Node.js agentless serverless exposures [nodejs@ffl-2697-nodejs-serverless-evp-routing]#7478
leoromanovsky wants to merge 25 commits into
mainfrom
agent/nodejs-agentless-serverless-exposures-nodejs

Conversation

@leoromanovsky

@leoromanovsky leoromanovsky commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Motivation

Node.js implements agentless exposure routing in DataDog/dd-trace-js#9527. Agent, sidecar, and direct egress must pass the same contract.

Changes and Decisions

  • Enable the two agentless exposure adapters for Node.js.
  • Trust the controlled intake proxy certificate in both agentless routes.
  • Reuse the Agent exposure setup, cache assertions, and payload assertions.
  • Run the direct route without a local receiver.
  • Use [nodejs@ffl-2697-nodejs-serverless-evp-routing] until dd-trace-js#9527 merges.

Validation

  • Current stack at 88ec90d5e includes #7477 at e230b5dc4.
  • Shared contract ran locally against dd-trace-js aa02379d90.
  • Agent: TEST_LIBRARY=nodejs ./run.sh FEATURE_FLAGGING_AND_EXPERIMENTATION tests/ffe/test_exposure_egress.py passed one test.
  • Direct: TEST_LIBRARY=nodejs ./run.sh FEATURE_FLAGGING_AND_EXPERIMENTATION_AGENTLESS_DIRECT tests/ffe/test_exposure_egress.py passed one test.
  • Sidecar: TEST_LIBRARY=nodejs ./run.sh FEATURE_FLAGGING_AND_EXPERIMENTATION_AGENTLESS_SERVERLESS tests/ffe/test_exposure_egress.py passed one test.
  • Each route ran the same inherited test. Five identical evaluations produced one exposure.
  • The sidecar route used serverless-init:1.9.13.
  • The direct route had no local receiver.
  • Each agentless route received HTTP 202 and produced no exposure on the unused route.

@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

manifests/nodejs.yml                                                    @DataDog/dd-trace-js
tests/test_the_test/test_mock_ffe_agentless_backend.py                  @DataDog/feature-flagging-and-experimentation-sdk @DataDog/system-tests-core
utils/_context/_scenarios/endtoend.py                                   @DataDog/system-tests-core

@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Aug 8, 2026

Copy link
Copy Markdown

Pipelines  Tests

Unblock PR with BitsAI

⚠️ Warnings

🚦 10 Pipeline jobs failed

Testing the test | System Tests (php, dev) / End-to-end #2 / laravel11x 2   View in Datadog   GitHub Actions

See error Failed to upload artifact: HTTP 403 Forbidden while accessing artifact storage.

🧪 1 Test failed

tests.stats.test_stats.Test_Peer_Tags.test_peer_tags[laravel11x] from system_tests_suite   View in Datadog
AssertionError: Client spans should have peer tags, found: []
assert 0 > 0
 +  where 0 = len([])

self = <tests.stats.test_stats.Test_Peer_Tags object at 0x7f221407e6c0>

    def test_peer_tags(self):
        """Test that client spans include peer tags while server spans don't"""
        client_stats_found = False
        server_stats_found = False
...

DataDog/system-tests | K8S_LIB_INJECTION_PROFILING_ENABLED: [dd-lib-java-init-test-app, ${PRIVATE_DOCKER_REGISTRY}/system-tests/dd-lib-java-init-test-app, 235494822917.dkr.ecr.us-east-1.amazonaws.com/ssi/cluster-agent:7.81.1, 235494822917.dkr.ecr.us-east-1.amazonaws.com/ssi/apm-inject:latest, 3.231.5, 235494822917.dkr.ecr.us-east-1.amazonaws.com/ssi/dd-lib-java-init:latest]   View in Datadog   GitLab

DataDog/system-tests | K8S_LIB_INJECTION_PROFILING_ENABLED: [dd-lib-java-init-test-app, ${PRIVATE_DOCKER_REGISTRY}/system-tests/dd-lib-java-init-test-app, 235494822917.dkr.ecr.us-east-1.amazonaws.com/ssi/cluster-agent:7.81.1, 235494822917.dkr.ecr.us-east-1.amazonaws.com/ssi/apm-inject:latest, 3.231.5, 235494822917.dkr.ecr.us-east-1.amazonaws.com/ssi/dd-lib-java-init:latest_snapshot]   View in Datadog   GitLab

View all 10 failed jobs.

ℹ️ Info

No other issues found (see more)

❄️ No new flaky tests detected

Useful? React with 👍 / 👎

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

@leoromanovsky leoromanovsky changed the title test(ffe): enable Node.js agentless serverless exposures test(ffe): enable Node.js agentless serverless exposures [nodejs@ffl-2697-nodejs-serverless-evp-routing] Aug 8, 2026
…/nodejs-agentless-serverless-exposures-nodejs

# Conflicts:
#	tests/ffe/test_agentless_serverless_exposures.py
#	tests/test_the_test/test_mock_ffe_agentless_backend.py
#	utils/_context/_scenarios/endtoend.py
…/nodejs-agentless-serverless-exposures-nodejs

# Conflicts:
#	tests/ffe/test_agentless_serverless_exposures.py
#	tests/test_the_test/test_mock_ffe_agentless_backend.py
#	utils/_context/_scenarios/endtoend.py
…/nodejs-agentless-serverless-exposures-nodejs
…/nodejs-agentless-serverless-exposures-nodejs
…/nodejs-agentless-serverless-exposures-nodejs
…/nodejs-agentless-serverless-exposures-nodejs
…/nodejs-agentless-serverless-exposures-nodejs
…/nodejs-agentless-serverless-exposures-nodejs
Base automatically changed from agent/nodejs-agentless-serverless-exposures to main August 18, 2026 04:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant