Skip to content

Add Container App e2e telemetry contract#2364

Merged
ava-silver merged 3 commits into
masterfrom
ava.silver/chore/add-container-app-e2e-checks
Jun 22, 2026
Merged

Add Container App e2e telemetry contract#2364
ava-silver merged 3 commits into
masterfrom
ava.silver/chore/add-container-app-e2e-checks

Conversation

@ava-silver

@ava-silver ava-silver commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

What and why?

Brings the Azure Container App e2e suite up to the serverless instrumentation contract: provision a real workload image, verify Datadog instrumentation state, confirm logs and spans for a run-specific identity, assert idempotent re-instrumentation, and verify uninstrument cleanup.

Stacked on #2370 (sidecar idempotency fix) and #2369 (shared telemetry checker).

How?

  • Use AZURE_CONTAINER_APP_IMAGE_E2E from GitHub variables and create the test app on the workload's port.
  • Instrument with explicit service / env / version / one_e2e_run_id args and no source-code integration.
  • Trigger real traffic (retrying until the app serves successful responses), then assert spans and logs flow under that run identity via the shared telemetry checker.
  • Expand the Container App verifier: sidecar presence and image, shared volume + mounts, API-key secret, required DD_* env vars, identity tags, and full cleanup on uninstrument.
  • Add an idempotency test asserting re-instrument reports no changes and leaves config singular.
  • Add the e2e files to the Container App CI path filter.

Manual verification

  • Ran the full live Container App e2e against Azure and ddserverless.datadoghq.com; instrumentation, telemetry, idempotency, and uninstrument all passed.

Review checklist

  • Feature or bugfix MUST have appropriate tests (unit, integration)

ava-silver commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

@ava-silver ava-silver changed the title use configurable container app e2e image Use configurable container app e2e image Jun 16, 2026
@ava-silver
ava-silver marked this pull request as ready for review June 16, 2026 15:35
@ava-silver
ava-silver requested review from a team as code owners June 16, 2026 15:35
@ava-silver
ava-silver requested a review from nina9753 June 16, 2026 15:35
@ava-silver
ava-silver marked this pull request as draft June 16, 2026 15:37
@datadog-prod-us1-6

datadog-prod-us1-6 Bot commented Jun 16, 2026

Copy link
Copy Markdown

Tests

🎉 All green!

🧪 All tests passed
❄️ No new flaky tests detected

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

@ava-silver ava-silver changed the title Use configurable container app e2e image Add Container App e2e telemetry contract Jun 16, 2026
@ava-silver
ava-silver marked this pull request as ready for review June 16, 2026 17:28
@ava-silver ava-silver added the serverless Related to [aas, cloud-run, lambda, stepfunctions] label Jun 16, 2026
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch 2 times, most recently from e8c9bc6 to 72626a5 Compare June 16, 2026 17:50
@ava-silver
ava-silver changed the base branch from master to graphite-base/2364 June 16, 2026 18:15
@ava-silver
ava-silver force-pushed the graphite-base/2364 branch from 36742bd to 96f0f8b Compare June 16, 2026 18:15
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from 72626a5 to 4aa83a2 Compare June 16, 2026 18:15
@ava-silver
ava-silver changed the base branch from graphite-base/2364 to tal.usvyatsky/datadog-ci-lambda-e2e-tests June 16, 2026 18:15
@ava-silver
ava-silver changed the base branch from tal.usvyatsky/datadog-ci-lambda-e2e-tests to graphite-base/2364 June 16, 2026 18:22
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from 4aa83a2 to 1a359ff Compare June 16, 2026 18:23
@ava-silver
ava-silver force-pushed the graphite-base/2364 branch from 96f0f8b to 6b6d4c9 Compare June 16, 2026 18:23
@ava-silver
ava-silver changed the base branch from graphite-base/2364 to tal.usvyatsky/datadog-ci-lambda-e2e-tests June 16, 2026 18:23
@ava-silver
ava-silver force-pushed the tal.usvyatsky/datadog-ci-lambda-e2e-tests branch from 6b6d4c9 to bcf57a2 Compare June 17, 2026 17:54
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from 2bfcdae to c30c9df Compare June 17, 2026 17:54
@ava-silver
ava-silver changed the base branch from tal.usvyatsky/datadog-ci-lambda-e2e-tests to graphite-base/2364 June 17, 2026 18:23
@ava-silver
ava-silver force-pushed the graphite-base/2364 branch from bcf57a2 to bf73bea Compare June 17, 2026 18:23
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from c30c9df to 6cd5dc1 Compare June 17, 2026 18:23
@ava-silver
ava-silver changed the base branch from graphite-base/2364 to ava.silver/chore/sidecar-reinstrument-idempotency June 17, 2026 18:23
@ava-silver ava-silver added the chores Related to the CI or developer experience label Jun 17, 2026 — with Graphite App
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from 6cd5dc1 to 9fd84c5 Compare June 17, 2026 20:37
@ava-silver
ava-silver force-pushed the ava.silver/chore/sidecar-reinstrument-idempotency branch from bf73bea to cbb9f14 Compare June 17, 2026 20:37
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from 9fd84c5 to e700d40 Compare June 17, 2026 20:45
@ava-silver
ava-silver force-pushed the ava.silver/chore/sidecar-reinstrument-idempotency branch from cbb9f14 to f151d5f Compare June 17, 2026 20:45
@ava-silver
ava-silver force-pushed the ava.silver/chore/sidecar-reinstrument-idempotency branch from f151d5f to 1383e68 Compare June 18, 2026 22:33
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch 2 times, most recently from 112e548 to 8cb96cd Compare June 22, 2026 14:37
@ava-silver
ava-silver force-pushed the ava.silver/chore/sidecar-reinstrument-idempotency branch from 1383e68 to 56385ad Compare June 22, 2026 14:37
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from 8cb96cd to b6cd212 Compare June 22, 2026 14:50
@ava-silver
ava-silver force-pushed the ava.silver/chore/sidecar-reinstrument-idempotency branch 2 times, most recently from 624a228 to 43b9424 Compare June 22, 2026 15:26
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from b6cd212 to 426ebf0 Compare June 22, 2026 15:26
@ava-silver
ava-silver force-pushed the ava.silver/chore/sidecar-reinstrument-idempotency branch 2 times, most recently from ed8a368 to e3f84a2 Compare June 22, 2026 16:28
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from 426ebf0 to a5a35eb Compare June 22, 2026 16:28

ava-silver commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

  • Jun 22, 5:01 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jun 22, 5:04 PM UTC: Graphite rebased this pull request as part of a merge.
  • Jun 22, 5:26 PM UTC: Graphite couldn't merge this PR because it was not satisfying all requirements (Failed CI: 'End-to-end test the package (24)').

@ava-silver
ava-silver changed the base branch from ava.silver/chore/sidecar-reinstrument-idempotency to graphite-base/2364 June 22, 2026 17:02
ava-silver added a commit that referenced this pull request Jun 22, 2026
…#2370)

### What and why?

Re-running `instrument` on a serverless-init sidecar target (Azure Container App) must be a true no-op. Previously a re-instrument could drop provider-populated sidecar fields (e.g. `resources`) and re-append the shared volume mount, producing config drift. This makes the sidecar merge idempotent and enables APM on the Container App sidecar.

Split out from the Container App e2e PR (#2364) so the production behavior change is reviewed on its own. Stacked on #2333.

### How?

- `packages/base/src/helpers/serverless/common.ts`: when a sidecar container already exists, merge the new config **onto** it -- preserving existing `resources` and env vars, and deduping the shared volume mount via a new `ensureSharedVolumeMount` helper -- instead of replacing it wholesale.
- `packages/plugin-container-app/src/common.ts`: set `DD_APM_ENABLED=true` so the sidecar enables APM.
- Updates the affected unit tests and the instrument snapshot.

### Test plan

- `yarn test` for `packages/base` serverless helpers and `packages/plugin-container-app` (60 tests pass).
- End-to-end idempotency is asserted by the Container App e2e suite in #2364.

### Review checklist

- [x] Feature or bugfix MUST have appropriate tests (unit, integration)
@ava-silver
ava-silver changed the base branch from graphite-base/2364 to master June 22, 2026 17:02
@ava-silver
ava-silver force-pushed the ava.silver/chore/add-container-app-e2e-checks branch from a5a35eb to cbeac28 Compare June 22, 2026 17:03
@ava-silver
ava-silver merged commit 5b46b0c into master Jun 22, 2026
64 of 65 checks passed
@ava-silver
ava-silver deleted the ava.silver/chore/add-container-app-e2e-checks branch June 22, 2026 18:41
@ava-silver ava-silver mentioned this pull request Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chores Related to the CI or developer experience serverless Related to [aas, cloud-run, lambda, stepfunctions]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants