diff --git a/Cargo.lock b/Cargo.lock index 593c9d90..cb33b372 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -534,7 +534,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -732,6 +732,25 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "h2" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef8e5e5a340588f4452631496976cf8636d4a7ecf600239fdc27615d2530bc16" +dependencies = [ + "atomic-waker", + "bytes", + "fnv", + "futures-core", + "futures-sink", + "http 1.5.0", + "indexmap 2.14.0", + "slab", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "hashbrown" version = "0.12.3" @@ -832,6 +851,7 @@ dependencies = [ "bytes", "futures-channel", "futures-core", + "h2", "http 1.5.0", "http-body", "httparse", @@ -1198,10 +1218,10 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" name = "libdatadog-data-pipeline" version = "0.1.0" dependencies = [ - "libdd-capabilities", - "libdd-data-pipeline-core", - "libdd-trace-obfuscation", - "libdd-trace-utils", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-data-pipeline-core 1.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-obfuscation 7.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "thiserror 1.0.69", ] @@ -1214,7 +1234,7 @@ dependencies = [ "futures-core", "http 1.5.0", "js-sys", - "libdd-capabilities", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "wasm-bindgen", "wasm-bindgen-futures", "wasm-bindgen-test", @@ -1231,10 +1251,10 @@ dependencies = [ "http 1.5.0", "js-sys", "libdatadog-data-pipeline", - "libdd-capabilities", - "libdd-common", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "libdd-ddsketch 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)", - "libdd-trace-obfuscation", + "libdd-trace-obfuscation 7.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "wasm-bindgen", "wasm-bindgen-futures", "zrip", @@ -1253,6 +1273,19 @@ dependencies = [ "thiserror 1.0.69", ] +[[package]] +name = "libdd-capabilities" +version = "3.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "anyhow", + "bytes", + "futures-channel", + "futures-util", + "http 1.5.0", + "thiserror 1.0.69", +] + [[package]] name = "libdd-capabilities-impl" version = "4.0.0" @@ -1262,8 +1295,22 @@ dependencies = [ "bytes", "http 1.5.0", "http-body-util", - "libdd-capabilities", - "libdd-common", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "tokio", +] + +[[package]] +name = "libdd-capabilities-impl" +version = "4.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "anyhow", + "bytes", + "http 1.5.0", + "http-body-util", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "tokio", ] @@ -1303,6 +1350,41 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "libdd-common" +version = "5.2.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "anyhow", + "bytes", + "cc", + "const_format", + "futures", + "futures-core", + "futures-util", + "hex", + "http 1.5.0", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "libc", + "nix 0.29.0", + "pin-project", + "regex", + "rustls", + "rustls-native-certs", + "rustls-platform-verifier", + "serde", + "static_assertions", + "thiserror 1.0.69", + "tokio", + "tokio-rustls", + "tower-service", + "windows-sys 0.52.0", +] + [[package]] name = "libdd-crashtracker" version = "2.0.1" @@ -1315,12 +1397,12 @@ dependencies = [ "errno", "http 1.5.0", "libc", - "libdd-capabilities", - "libdd-capabilities-impl", - "libdd-common", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-capabilities-impl 4.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "libdd-gotter", "libdd-libunwind-sys", - "libdd-telemetry", + "libdd-telemetry 7.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "nix 0.29.0", "num-derive", "num-traits", @@ -1342,7 +1424,7 @@ dependencies = [ [[package]] name = "libdd-data-pipeline" version = "9.0.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2a61f656782d59b1be00f09138e26" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" dependencies = [ "anyhow", "arc-swap", @@ -1353,26 +1435,30 @@ dependencies = [ "getrandom 0.2.17", "http 1.5.0", "http-body-util", - "libdd-capabilities", - "libdd-capabilities-impl", - "libdd-common", - "libdd-data-pipeline-core", - "libdd-ddsketch 1.1.1 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "hyper", + "hyper-util", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-capabilities-impl 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-data-pipeline-core 1.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-ddsketch 1.1.1 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "libdd-dogstatsd-client", - "libdd-shared-runtime", - "libdd-telemetry", - "libdd-tinybytes", - "libdd-trace-normalization", - "libdd-trace-obfuscation", - "libdd-trace-protobuf", + "libdd-shared-runtime 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-telemetry 7.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-tinybytes 1.1.2 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-normalization 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-obfuscation 7.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "libdd-trace-stats", - "libdd-trace-utils", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "prost", "rmp-serde", "serde", "serde_json", "sha2", "tokio", "tokio-util", + "tonic", "tracing", "uuid", "web-time", @@ -1384,10 +1470,24 @@ version = "1.0.0" source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2a61f656782d59b1be00f09138e26" dependencies = [ "http 1.5.0", - "libdd-capabilities", - "libdd-common", - "libdd-trace-obfuscation", - "libdd-trace-utils", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-obfuscation 7.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "serde_json", + "thiserror 1.0.69", +] + +[[package]] +name = "libdd-data-pipeline-core" +version = "1.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "http 1.5.0", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-obfuscation 7.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "serde_json", "thiserror 1.0.69", ] @@ -1409,17 +1509,25 @@ dependencies = [ "prost", ] +[[package]] +name = "libdd-ddsketch" +version = "1.1.1" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "prost", +] + [[package]] name = "libdd-dogstatsd-client" version = "5.0.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2a61f656782d59b1be00f09138e26" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" dependencies = [ "anyhow", "async-trait", "cadence", "http 1.5.0", - "libdd-common", - "libdd-shared-runtime", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-shared-runtime 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "serde", "tokio", "tracing", @@ -1440,7 +1548,7 @@ source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2 dependencies = [ "anyhow", "libc", - "libdd-trace-protobuf", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "memfd", "prost", "rand", @@ -1464,7 +1572,7 @@ dependencies = [ [[package]] name = "libdd-remote-config" version = "4.0.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2a61f656782d59b1be00f09138e26" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" dependencies = [ "anyhow", "base64", @@ -1476,10 +1584,10 @@ dependencies = [ "hashbrown 0.17.1", "http 1.5.0", "http-body-util", - "libdd-capabilities", - "libdd-capabilities-impl", - "libdd-common", - "libdd-trace-protobuf", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-capabilities-impl 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "libdd-tuf", "manual_future", "prost", @@ -1507,9 +1615,26 @@ dependencies = [ "async-trait", "futures", "futures-util", - "libdd-capabilities", - "libdd-capabilities-impl", - "libdd-common", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-capabilities-impl 4.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "tokio", + "tokio-util", + "tracing", + "wasm-bindgen-futures", +] + +[[package]] +name = "libdd-shared-runtime" +version = "3.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "async-trait", + "futures", + "futures-util", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-capabilities-impl 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "tokio", "tokio-util", "tracing", @@ -1530,10 +1655,41 @@ dependencies = [ "hashbrown 0.15.5", "http 1.5.0", "libc", - "libdd-capabilities", - "libdd-common", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "libdd-ddsketch 1.1.1 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", - "libdd-shared-runtime", + "libdd-shared-runtime 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "serde", + "serde_json", + "strum", + "strum_macros", + "sys-info", + "tokio", + "tokio-util", + "tracing", + "uuid", + "web-time", + "winver", +] + +[[package]] +name = "libdd-telemetry" +version = "7.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "anyhow", + "async-trait", + "base64", + "bytes", + "futures", + "getrandom 0.2.17", + "hashbrown 0.15.5", + "http 1.5.0", + "libc", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-ddsketch 1.1.1 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-shared-runtime 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "serde", "serde_json", "strum", @@ -1555,13 +1711,30 @@ dependencies = [ "serde", ] +[[package]] +name = "libdd-tinybytes" +version = "1.1.2" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "serde", +] + [[package]] name = "libdd-trace-normalization" version = "4.0.0" source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2a61f656782d59b1be00f09138e26" dependencies = [ "anyhow", - "libdd-trace-protobuf", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", +] + +[[package]] +name = "libdd-trace-normalization" +version = "4.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "anyhow", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", ] [[package]] @@ -1571,9 +1744,25 @@ source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2 dependencies = [ "anyhow", "fluent-uri", - "libdd-common", - "libdd-trace-protobuf", - "libdd-trace-utils", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "log", + "percent-encoding", + "serde", + "serde_json", +] + +[[package]] +name = "libdd-trace-obfuscation" +version = "7.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "anyhow", + "fluent-uri", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "log", "percent-encoding", "serde", @@ -1590,10 +1779,20 @@ dependencies = [ "serde_bytes", ] +[[package]] +name = "libdd-trace-protobuf" +version = "5.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "prost", + "serde", + "serde_bytes", +] + [[package]] name = "libdd-trace-stats" version = "8.0.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0#8c3d06ba9ff2a61f656782d59b1be00f09138e26" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" dependencies = [ "anyhow", "arc-swap", @@ -1601,16 +1800,16 @@ dependencies = [ "futures", "hashbrown 0.15.5", "http 1.5.0", - "libdd-capabilities", - "libdd-capabilities-impl", - "libdd-common", - "libdd-ddsketch 1.1.1 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-capabilities-impl 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-ddsketch 1.1.1 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "libdd-dogstatsd-client", - "libdd-shared-runtime", - "libdd-telemetry", - "libdd-trace-obfuscation", - "libdd-trace-protobuf", - "libdd-trace-utils", + "libdd-shared-runtime 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-telemetry 7.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-obfuscation 7.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "rmp-serde", "serde", "tokio", @@ -1635,11 +1834,11 @@ dependencies = [ "http-body-util", "indexmap 2.14.0", "itoa 1.0.18", - "libdd-capabilities", - "libdd-common", - "libdd-tinybytes", - "libdd-trace-normalization", - "libdd-trace-protobuf", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-tinybytes 1.1.2 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-normalization 4.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "prost", "rand", "rmp", @@ -1655,6 +1854,40 @@ dependencies = [ "zstd", ] +[[package]] +name = "libdd-trace-utils" +version = "11.0.0" +source = "git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8#3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" +dependencies = [ + "anyhow", + "base64", + "bytes", + "futures", + "getrandom 0.2.17", + "hex", + "http 1.5.0", + "http-body", + "http-body-util", + "indexmap 2.14.0", + "itoa 1.0.18", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-tinybytes 1.1.2 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-normalization 4.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "prost", + "rand", + "rmp", + "rmp-serde", + "rmpv", + "rustc-hash", + "serde", + "serde-transcode", + "serde_json", + "thin-vec", + "tracing", +] + [[package]] name = "libdd-tuf" version = "0.3.1" @@ -2182,11 +2415,11 @@ dependencies = [ "getrandom 0.2.17", "js-sys", "libdatadog-nodejs-capabilities", - "libdd-capabilities", - "libdd-common", + "libdd-capabilities 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "libdd-data-pipeline", - "libdd-shared-runtime", - "libdd-trace-utils", + "libdd-shared-runtime 3.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", + "libdd-trace-utils 11.0.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "serde", "serde_json", "uuid", @@ -2258,7 +2491,7 @@ version = "0.1.0" dependencies = [ "anyhow", "libdd-library-config", - "libdd-trace-protobuf", + "libdd-trace-protobuf 5.0.0 (git+https://github.com/DataDog/libdatadog.git?tag=v43.0.0)", "napi", "napi-derive", ] @@ -2393,7 +2626,7 @@ dependencies = [ "console_error_panic_hook", "js-sys", "libdatadog-nodejs-capabilities", - "libdd-common", + "libdd-common 5.2.0 (git+https://github.com/DataDog/libdatadog.git?rev=3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8)", "libdd-remote-config", "serde", "serde-wasm-bindgen", @@ -2467,7 +2700,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2524,7 +2757,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -2911,6 +3144,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "sync_wrapper" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" + [[package]] name = "synstructure" version = "0.13.2" @@ -2942,7 +3181,7 @@ dependencies = [ "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -3082,6 +3321,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-stream" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3d06f0b082ba57c26b79407372e57cf2a1e28124f78e9479fe80322cf53420b" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + [[package]] name = "tokio-util" version = "0.7.19" @@ -3096,6 +3346,32 @@ dependencies = [ "tokio", ] +[[package]] +name = "tonic" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac2a5518c70fa84342385732db33fb3f44bc4cc748936eb5833d2df34d6445ef" +dependencies = [ + "base64", + "bytes", + "http 1.5.0", + "http-body", + "http-body-util", + "percent-encoding", + "pin-project", + "sync_wrapper", + "tokio-stream", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "tower-layer" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" + [[package]] name = "tower-service" version = "0.3.3" @@ -3109,9 +3385,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" dependencies = [ "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.31" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.119", +] + [[package]] name = "tracing-core" version = "0.1.36" @@ -3365,7 +3653,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] diff --git a/crates/capabilities/Cargo.toml b/crates/capabilities/Cargo.toml index 28999d39..f852da52 100644 --- a/crates/capabilities/Cargo.toml +++ b/crates/capabilities/Cargo.toml @@ -15,7 +15,7 @@ http = "1" bytes = "1.4" futures-core = "0.3" anyhow = "1" -libdd-capabilities = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0" } +libdd-capabilities = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" } [dev-dependencies] wasm-bindgen-test = "0.3" diff --git a/crates/pipeline/Cargo.toml b/crates/pipeline/Cargo.toml index d7deb862..bf4e04b7 100644 --- a/crates/pipeline/Cargo.toml +++ b/crates/pipeline/Cargo.toml @@ -14,11 +14,11 @@ js-sys = "0.3" serde = { version = "1.0", features = ["derive"] } serde_json = "1" libdatadog-nodejs-capabilities = { path = "../capabilities" } -libdd-capabilities = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0" } -libdd-common = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0", default-features = false } -libdd-data-pipeline = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0", default-features = false, features = ["telemetry"] } -libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0", default-features = false, features = ["change-buffer"] } -libdd-shared-runtime = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0", default-features = false } +libdd-capabilities = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8" } +libdd-common = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8", default-features = false } +libdd-data-pipeline = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8", default-features = false, features = ["telemetry"] } +libdd-trace-utils = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8", default-features = false, features = ["change-buffer"] } +libdd-shared-runtime = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8", default-features = false } console_error_panic_hook = "0.1" [target.'cfg(target_arch = "wasm32")'.dependencies] diff --git a/crates/remote_config/Cargo.toml b/crates/remote_config/Cargo.toml index 649144fb..ce623af1 100644 --- a/crates/remote_config/Cargo.toml +++ b/crates/remote_config/Cargo.toml @@ -8,8 +8,8 @@ description = "Wasm binding for libdatadog's remote config client" crate-type = ["cdylib", "rlib"] [dependencies] -libdd-remote-config = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0", default-features = false, features = ["client", "agentless"] } -libdd-common = { git = "https://github.com/DataDog/libdatadog.git", tag = "v43.0.0", default-features = false } +libdd-remote-config = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8", default-features = false, features = ["client", "agentless"] } +libdd-common = { git = "https://github.com/DataDog/libdatadog.git", rev = "3bb89cfd2ce3c6f4ee3e4009c74a77e4cf89adf8", default-features = false } libdatadog-nodejs-capabilities = { path = "../capabilities" } wasm-bindgen = "0.2" diff --git a/crates/remote_config/src/lib.rs b/crates/remote_config/src/lib.rs index 6c69eef8..16ecc525 100644 --- a/crates/remote_config/src/lib.rs +++ b/crates/remote_config/src/lib.rs @@ -56,15 +56,11 @@ struct FetcherOptions { process_tags: Vec, language: String, tracer_version: String, - /// In agent mode the agent base URL, either `http(s)://host:port` or `unix:///path/to/socket`; - /// in agentless mode the Datadog site, e.g. `https://api.datadoghq.com`. + /// The Datadog site, e.g. `https://api.datadoghq.com`. url: String, timeout_ms: u64, - /// Enables agentless if set. - #[serde(default)] - api_key: Option, - #[serde(default)] - hostname: Option, + api_key: String, + hostname: String, } /// A single add/update/remove of one remote config file, as diffed against the previous poll. @@ -134,11 +130,12 @@ struct FetcherConfig { runtime_id: String, client_id: String, invariants: ConfigInvariants, + agentless: AgentlessConfig, } impl FetcherConfig { async fn build(&self) -> Result { - Ok(SingleChangesFetcher::new( + Ok(SingleChangesFetcher::new_agentless( SimpleFileStorage::default(), self.target.clone(), self.runtime_id.clone(), @@ -149,6 +146,7 @@ impl FetcherConfig { products: vec![], capabilities: vec![], }, + self.agentless.clone(), WasmCapabilities::new_without_connection_pooling(), ) .await @@ -188,17 +186,11 @@ impl RemoteConfigFetcher { let endpoint = libdd_common::Endpoint { url, timeout_ms: options.timeout_ms, - api_key: options.api_key.map(Into::into), + api_key: Some(options.api_key.into()), ..Default::default() }; - let agentless = match endpoint.api_key { - Some(_) => Some( - AgentlessConfig::new(options.hostname.unwrap_or_default(), &endpoint) - .map_err(to_js_err)?, - ), - None => None, - }; + let agentless = AgentlessConfig::new(options.hostname, &endpoint).map_err(to_js_err)?; let config = FetcherConfig { target: Target::new( @@ -214,8 +206,9 @@ impl RemoteConfigFetcher { language: options.language, tracer_version: options.tracer_version, endpoint, - agentless, + agentless: None, }, + agentless, }; Ok(RemoteConfigFetcher { diff --git a/packages/libdatadog/README.md b/packages/libdatadog/README.md index 3ba86705..0477d600 100644 --- a/packages/libdatadog/README.md +++ b/packages/libdatadog/README.md @@ -12,6 +12,7 @@ published separately as `@datadog/libdatadog-extras`. Remote configuration is available from `@datadog/libdatadog/remote-config`. It uses a dedicated wasm-bindgen artifact that loads only with this entry point. +The fetcher is agentless and requires an API key and hostname. The package accepts Datadog v0.4 MessagePack payloads and exports them to an agentless intake. `sendV04()` reports completion through a callback and sends diff --git a/packages/libdatadog/test/remote-config.test.js b/packages/libdatadog/test/remote-config.test.js index 3ff4ac0b..0e342c84 100644 --- a/packages/libdatadog/test/remote-config.test.js +++ b/packages/libdatadog/test/remote-config.test.js @@ -44,6 +44,18 @@ test('keeps remote config out of the universal WASM entry point', () => { assert.strictEqual(typeof RemoteConfigFetcher, 'function') }) +test('requires agentless credentials', () => { + for (const name of ['apiKey', 'hostname']) { + const options = fetcherOptions() + delete options[name] + + assert.throws( + () => new RemoteConfigFetcher(options), + new RegExp('missing field `' + name + '`'), + ) + } +}) + test('exports agentless remote config from the dedicated entry point', async () => { const requests = [] const storage = new AsyncLocalStorage() diff --git a/packages/libdatadog/test/types.test.ts b/packages/libdatadog/test/types.test.ts index 3775554a..55c2e2c4 100644 --- a/packages/libdatadog/test/types.test.ts +++ b/packages/libdatadog/test/types.test.ts @@ -47,6 +47,8 @@ const remoteConfigFetcher = new RemoteConfigFetcher({ tracerVersion: '1.0.0', url: 'http://127.0.0.1:8126', timeoutMs: 5000, + apiKey: 'api-key', + hostname: 'host', }) remoteConfigFetcher.setExtraServices([]) diff --git a/packages/libdatadog/wasm/remote-config.d.ts b/packages/libdatadog/wasm/remote-config.d.ts index e182181c..f9cddf5e 100644 --- a/packages/libdatadog/wasm/remote-config.d.ts +++ b/packages/libdatadog/wasm/remote-config.d.ts @@ -10,8 +10,8 @@ export interface RemoteConfigFetcherOptions { tracerVersion: string url: string timeoutMs: number - apiKey?: string - hostname?: string + apiKey: string + hostname: string } export interface RemoteConfigChange {