Skip to content

Use weblog infra for haproxy and envoy integrations#7179

Open
cbeauchesne wants to merge 21 commits into
mainfrom
cbeauchesne/revamp-go-proxies
Open

Use weblog infra for haproxy and envoy integrations#7179
cbeauchesne wants to merge 21 commits into
mainfrom
cbeauchesne/revamp-go-proxies

Conversation

@cbeauchesne

@cbeauchesne cbeauchesne commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Will replace #6464

Changes

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes
  3. Mark it as ready for review
    • Test logic is modified? -> Get a review from RFC owner.
    • Framework is modified, or non obvious usage of it -> get a review from R&P team

🚀 Once your PR is reviewed and the CI green, you can merge it!

🛟 #apm-shared-testing 🛟

Reviewer checklist

  • Anything but tests/ or manifests/ is modified ? I have the approval from R&P team
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added, removed or renamed?

@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

CODEOWNERS have been resolved as:

.github/workflows/run-end-to-end.yml                                    @DataDog/system-tests-core
conftest.py                                                             @DataDog/system-tests-core
manifests/golang.yml                                                    @DataDog/dd-trace-go-guild
run.sh                                                                  @DataDog/system-tests-core
tests/appsec/test_alpha.py                                              @DataDog/asm-libraries @DataDog/system-tests-core
tests/appsec/test_blocking_addresses.py                                 @DataDog/asm-libraries @DataDog/system-tests-core
tests/appsec/test_ip_blocking_full_denylist.py                          @DataDog/asm-libraries @DataDog/system-tests-core
tests/appsec/test_reports.py                                            @DataDog/asm-libraries @DataDog/system-tests-core
tests/appsec/test_request_blocking.py                                   @DataDog/asm-libraries @DataDog/system-tests-core
tests/appsec/test_traces.py                                             @DataDog/asm-libraries @DataDog/system-tests-core
tests/appsec/test_versions.py                                           @DataDog/asm-libraries @DataDog/system-tests-core
tests/external_processing/test_apm.py                                   @DataDog/asm-libraries @DataDog/system-tests-core
tests/schemas/test_schemas.py                                           @DataDog/system-tests-core
tests/test_config_consistency.py                                        @DataDog/system-tests-core
tests/test_scrubbing.py                                                 @DataDog/system-tests-core
tests/test_semantic_conventions.py                                      @DataDog/system-tests-core
tests/test_standard_tags.py                                             @DataDog/system-tests-core
tests/test_the_test/test_compute_libraries_and_scenarios.py             @DataDog/system-tests-core
tests/test_the_test/test_group_rules.py                                 @DataDog/system-tests-core
utils/_context/_scenarios/__init__.py                                   @DataDog/system-tests-core
utils/_context/_scenarios/core.py                                       @DataDog/system-tests-core
utils/_context/_scenarios/endtoend.py                                   @DataDog/system-tests-core
utils/_context/containers.py                                            @DataDog/system-tests-core
utils/_context/weblog_infrastructure.py                                 @DataDog/system-tests-core
utils/const/_const.py                                                   @DataDog/system-tests-core
utils/scripts/ci_orchestrators/workflow_data.py                         @DataDog/system-tests-core
utils/scripts/libraries_and_scenarios_rules.yml                         @DataDog/system-tests-core
utils/scripts/load-binary.sh                                            @DataDog/system-tests-core
utils/build/docker/golang/envoy/envoy.yaml                              @DataDog/dd-trace-go-guild @DataDog/system-tests-core
utils/build/docker/golang/haproxy/datadog_aap_blocking_response.lua     @DataDog/dd-trace-go-guild @DataDog/system-tests-core
utils/build/docker/golang/haproxy/haproxy.cfg                           @DataDog/dd-trace-go-guild @DataDog/system-tests-core
utils/build/docker/golang/haproxy/spoe.cfg                              @DataDog/dd-trace-go-guild @DataDog/system-tests-core
utils/build/docker/golang/weblog_metadata.yml                           @DataDog/dd-trace-go-guild @DataDog/system-tests-core
manifests/envoy.yml                                                     @DataDog/system-tests-core
manifests/haproxy.yml                                                   @DataDog/system-tests-core
utils/_context/_scenarios/go_proxies.py                                 @DataDog/system-tests-core
utils/build/docker/haproxy/weblog_metadata.yml                          @DataDog/system-tests-core

@datadog-system-tests-org

datadog-system-tests-org Bot commented Jun 19, 2026

Copy link
Copy Markdown

Pipelines

⚠️ Warnings

🚦 149 Pipeline jobs failed

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

Testing the test | System Tests (cpp_httpd, prod) / End-to-end #2 / httpd 2   View in Datadog   GitHub Actions

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

View all 149 failed jobs.

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 09b403f | Docs | Give us feedback!

@datadog-prod-us1-3

datadog-prod-us1-3 Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Pipelines  Tests

Fix all issues with BitsAI

⚠️ Warnings

🚦 2 Pipeline jobs failed

Testing the test | System Tests (python, prod) / End-to-end #2 / django-poc 2   View in Datadog   GitHub Actions

Testing the test | all-jobs-are-green   View in Datadog   GitHub Actions

ℹ️ Info

No other issues found (see more)

🧪 All tests passed
❄️ No new flaky tests detected

Useful? React with 👍 / 👎

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

Comment thread manifests/haproxy.yml Outdated
@cbeauchesne cbeauchesne changed the title Cbeauchesne/revamp go proxies Use weblog infra for haproxy and envoy integrations Jun 30, 2026
@cbeauchesne cbeauchesne marked this pull request as ready for review June 30, 2026 12:18
@cbeauchesne cbeauchesne requested review from a team as code owners June 30, 2026 12:18

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 78bf716e81

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

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

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

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

result["dd_tags[systest.suite.context.library.version]"] = self.library.version
result["dd_tags[systest.suite.context.weblog_variant]"] = self.weblog_variant
result["dd_tags[systest.suite.context.appsec_rules_file]"] = self.weblog_container.appsec_rules_file or ""
result["dd_tags[systest.suite.context.appsec_rules_file]"] = self.weblog_infra.appsec_rules_file or ""

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Preserve appsec_rules_file on EndToEndScenario

When a scenario does not use custom rules, tests rely on context.appsec_rules_file resolving to None; after this change EndToEndScenario no longer exposes that property, so context._get_scenario_property falls back to "", making existing is not None decorators in tests/appsec/test_runtime_activation.py and tests/remote_config/test_remote_configuration.py apply to every end-to-end scenario. This line still only emits the value as a JUnit tag, so please also restore an appsec_rules_file property on the scenario that delegates to self.weblog_infra.appsec_rules_file.

Useful? React with 👍 / 👎.

Comment on lines +326 to +328
if library == "golang":
result.append(Weblog(name="envoy", require_build=False, artifact_name=binaries_artifact))
result.append(Weblog(name="haproxy", require_build=False, artifact_name=binaries_artifact))

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Honor weblog filters for proxy weblogs

When weblogs_filter is set, the Dockerfile-backed Golang weblogs are filtered above, but these new proxy weblogs are appended unconditionally. A filtered run such as a manual Golang job for only gin will now also schedule envoy and haproxy jobs even though they were not requested; apply the same filter before appending these non-Dockerfile weblogs.

Useful? React with 👍 / 👎.

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.

2 participants