chore(deps): bump datadog-agent-config to 8ce37eb (dd_org_uuid + logs_enabled)#1267
Open
duncanista wants to merge 4 commits into
Open
chore(deps): bump datadog-agent-config to 8ce37eb (dd_org_uuid + logs_enabled)#1267duncanista wants to merge 4 commits into
duncanista wants to merge 4 commits into
Conversation
…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
Contributor
There was a problem hiding this comment.
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, anddatadog-fipsgit pins tof76e9118. - Remove
dd_org_uuid/org_uuidhandling fromLambdaConfig/LambdaConfigSourceand rely on upstreamconfig.dd_org_uuid. - Update delegated auth + secret resolution code and tests to reference
config.dd_org_uuidinstead ofconfig.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. |
|
…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.
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.
litianningdatadog
approved these changes
Jun 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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`:
logs_enabled
The lambda extension's existing OR-merge contract for log shipping is preserved exactly. The legacy semantics are:
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