From c3f11c2a10c11bcd642e3ae20e354e896c92d805 Mon Sep 17 00:00:00 2001 From: Tianning Li Date: Tue, 20 Oct 2026 12:13:46 -0400 Subject: [PATCH] build(logs-agent): let users choose the FIPS TLS backend Why: bottlecap's FIPS build refuses to link the non-FIPS "ring" crypto library. This crate always turned on datadog-fips' default features, which pull ring in, so bottlecap could not use it in FIPS builds. What: the crate now has a "default" feature that keeps today's TLS setup and a "fips" feature that selects the FIPS backend instead. Anyone using the crate with default features gets exactly the same build as before. Builds that turn default features off must now enable either "default" or "fips", otherwise the crate does not compile. Co-Authored-By: Claude Opus 5.5 --- crates/datadog-logs-agent/Cargo.toml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/datadog-logs-agent/Cargo.toml b/crates/datadog-logs-agent/Cargo.toml index 67521dc..4a930ff 100644 --- a/crates/datadog-logs-agent/Cargo.toml +++ b/crates/datadog-logs-agent/Cargo.toml @@ -11,7 +11,7 @@ license.workspace = true bench = false [dependencies] -datadog-fips = { path = "../datadog-fips" } +datadog-fips = { path = "../datadog-fips", default-features = false } reqwest = { version = "0.12.4", features = ["json", "http2"], default-features = false } serde = { version = "1.0.197", default-features = false, features = ["derive"] } serde_json = { version = "1.0.116", default-features = false, features = ["alloc"] } @@ -33,4 +33,5 @@ tokio = { version = "1.37.0", default-features = false, features = ["macros", "r tracing-subscriber = { version = "0.3", default-features = false, features = ["registry", "std"] } [features] -default = [] +default = ["datadog-fips/default"] +fips = ["datadog-fips/fips"]