Skip to content

chore(deps): bump datadog-agent-config to 8ce37eb (dd_org_uuid + logs_enabled)#1267

Open
duncanista wants to merge 4 commits into
mainfrom
jordan.gonzalez/deps/bump-agent-config-org-uuid
Open

chore(deps): bump datadog-agent-config to 8ce37eb (dd_org_uuid + logs_enabled)#1267
duncanista wants to merge 4 commits into
mainfrom
jordan.gonzalez/deps/bump-agent-config-org-uuid

Conversation

@duncanista

@duncanista duncanista commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Bumps the `datadog-agent-config` / `dogstatsd` / `datadog-fips` pin to `8ce37eb`, which contains two recently-merged upstream features:

What changes in bottlecap

dd_org_uuid

Drops the now-redundant local copy from `LambdaConfig`:

  • `LambdaConfig`: removed `dd_org_uuid: String`.
  • `LambdaConfigSource`: removed `org_uuid: Option` and the `merge_string!(self, dd_org_uuid, source, org_uuid)` source-to-config renaming call in `merge_from`.
  • Consumers (`secrets/decrypt.rs`, `secrets/delegated_auth/client.rs`) switch from `config.ext.dd_org_uuid` → `config.dd_org_uuid`.
  • Tests assert on the upstream field.

logs_enabled

The lambda extension's existing OR-merge contract for log shipping is preserved exactly. The legacy semantics are:

`DD_SERVERLESS_LOGS_ENABLED` `DD_LOGS_ENABLED` resolved `serverless_logs_enabled`
unset unset true (default kept)
any true true
true any true
false false false
unset false false (alias alone can override default)
false unset false

To preserve "was `DD_LOGS_ENABLED` explicitly set?" the alias source field is retained on `LambdaConfigSource` and the OR-merge in `merge_from` is kept. The upstream parsing of the same env var into `config.logs_enabled` runs in parallel — that field exists for any non-lambda consumer of the crate, but the lambda extension continues to gate log shipping on `config.ext.serverless_logs_enabled`.

A regression test was added for the alias-only-false case (the trickiest invariant), so a future refactor that breaks it fails loudly.

Why two PRs in one

Both upstream PRs are merged and `8ce37eb` contains them as a single SHA. Bundling lets us bump once and avoid a transitional state where main is pinned to a SHA that has `logs_enabled` upstream but the lambda extension's source field still aliases it.

Test plan

  • `cargo test --workspace --features default` — all pass (lambda_config_tests now at 40, +2 for the new logs_enabled coverage)
  • `cargo clippy --workspace --all-targets --features default` — clean
  • `cargo fmt -- --check` — clean
  • Regression test `logs_enabled_alias_only_false_overrides_default` exercises the invariant that `DD_LOGS_ENABLED=false` alone disables logs (overriding the default-true)
  • No behavior change for customers — same env vars, same resolved field at lambda call sites

…uuid

PR DataDog/serverless-components#137 landed dd_org_uuid as a top-level
field on the upstream Config struct, sourced from DD_ORG_UUID (env) and
org_uuid (datadog.yaml). Bumps the pin and removes the now-redundant
local copy from LambdaConfig and LambdaConfigSource.

- LambdaConfig: drop `dd_org_uuid: String`
- LambdaConfigSource: drop `org_uuid: Option<String>` and the
  merge_string! source-to-config renaming call in merge_from
- Consumers (secrets/decrypt.rs, secrets/delegated_auth/client.rs)
  switch from `config.ext.dd_org_uuid` to `config.dd_org_uuid`
- Tests update to assert on the upstream field; pinning works through
  the same env/yaml surface, only the field location moved
- Drop the unused `deserialize_string_or_int` import
Copilot AI review requested due to automatic review settings June 18, 2026 20:18
@duncanista duncanista requested a review from a team as a code owner June 18, 2026 20:18
@duncanista duncanista requested a review from shreyamalpani June 18, 2026 20:18

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates Bottlecap to use the upstream datadog-agent-config top-level dd_org_uuid field (sourced from DD_ORG_UUID / org_uuid in datadog.yaml) after bumping the serverless-components crate pins, and removes the now-redundant local LambdaConfig copy.

Changes:

  • Bump datadog-agent-config, dogstatsd, and datadog-fips git pins to f76e9118.
  • Remove dd_org_uuid / org_uuid handling from LambdaConfig/LambdaConfigSource and rely on upstream config.dd_org_uuid.
  • Update delegated auth + secret resolution code and tests to reference config.dd_org_uuid instead of config.ext.dd_org_uuid.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
bottlecap/src/secrets/delegated_auth/client.rs Switch delegated auth proof generation to use config.dd_org_uuid (upstream field).
bottlecap/src/secrets/decrypt.rs Use config.dd_org_uuid to trigger delegated auth and secret-resolution path.
bottlecap/src/config/mod.rs Drop local dd_org_uuid config field and merging logic; update tests to assert upstream wiring.
bottlecap/Cargo.toml Bump serverless-components-sourced crate pins to f76e9118.
bottlecap/Cargo.lock Lockfile updates reflecting the bumped pins and updated transitive deps.

Comment thread bottlecap/src/secrets/delegated_auth/client.rs
@datadog-prod-us1-5

datadog-prod-us1-5 Bot commented Jun 18, 2026

Copy link
Copy Markdown

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 9 Pipeline jobs failed

DataDog/datadog-lambda-extension | integration-suite: [auth]   View in Datadog   GitLab

DataDog/datadog-lambda-extension | integration-suite: [payload-size]   View in Datadog   GitLab

DataDog/datadog-lambda-extension | bottlecap (amd64, fips, alpine)   View in Datadog   GitLab

View all 9 failed jobs.

Useful? React with 👍 / 👎

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

…lias

Upstream DataDog/serverless-components#138 landed `Config::logs_enabled`
as a top-level field sourced from `DD_LOGS_ENABLED` / `logs_enabled`
(yaml), default `false`. Bumps the pin from f76e911 -> 8ce37eb.

The lambda extension's existing OR-merge contract is preserved exactly:
DD_SERVERLESS_LOGS_ENABLED and DD_LOGS_ENABLED are still OR-merged into
config.ext.serverless_logs_enabled, and the default-true is still kept
only when neither env var is explicitly set. To do that without losing
"was DD_LOGS_ENABLED explicitly set?" information, the alias source
field on LambdaConfigSource is retained — the upstream parsing of the
same env var into config.logs_enabled is intentional and runs in
parallel for non-lambda consumers.

Lambda call sites continue to gate log shipping on
config.ext.serverless_logs_enabled. No behavior change for customers.

Adds a regression test for the "DD_LOGS_ENABLED=false alone disables
logs" edge case so a future refactor that breaks it fails loudly.
@duncanista duncanista changed the title chore(deps): bump datadog-agent-config to f76e911, drop local dd_org_uuid chore(deps): bump datadog-agent-config to 8ce37eb (dd_org_uuid + logs_enabled) Jun 18, 2026
Address Copilot review: the doc on get_delegated_api_key still mentioned
config.org_uuid, but after the upstream migration the value lives at
config.dd_org_uuid (top-level, not under .ext).
Tighten the doc comment on the LambdaConfigSource alias to lead with the
real reason: lambda defaults logs to true, upstream defaults to false, so
the alias is needed to preserve the legacy default-true + OR-merge
behavior.
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.

3 participants