diff --git a/LICENSE-3rdparty.csv b/LICENSE-3rdparty.csv index e2443eca9b2..0c83ece0604 100644 --- a/LICENSE-3rdparty.csv +++ b/LICENSE-3rdparty.csv @@ -224,7 +224,6 @@ indexmap,https://github.com/bluss/indexmap,Apache-2.0 OR MIT,The indexmap Author indexmap,https://github.com/indexmap-rs/indexmap,Apache-2.0 OR MIT,The indexmap Authors indicatif,https://github.com/console-rs/indicatif,MIT,The indicatif Authors inout,https://github.com/RustCrypto/utils,MIT OR Apache-2.0,RustCrypto Developers -instant,https://github.com/sebcrozet/instant,BSD-3-Clause,sebcrozet inventory,https://github.com/dtolnay/inventory,MIT OR Apache-2.0,David Tolnay ipnet,https://github.com/krisprice/ipnet,MIT OR Apache-2.0,Kris Price ipnetwork,https://github.com/achanda/ipnetwork,MIT OR Apache-2.0,"Abhishek Chanda , Linus Färnstrand " @@ -314,9 +313,7 @@ ownedbytes,https://github.com/quickwit-oss/tantivy,MIT,"Paul Masurel papergrid,https://github.com/zhiburt/tabled,MIT,Maxim Zhiburt -parking_lot,https://github.com/Amanieu/parking_lot,Apache-2.0 OR MIT,Amanieu d'Antras parking_lot,https://github.com/Amanieu/parking_lot,MIT OR Apache-2.0,Amanieu d'Antras -parking_lot_core,https://github.com/Amanieu/parking_lot,Apache-2.0 OR MIT,Amanieu d'Antras parking_lot_core,https://github.com/Amanieu/parking_lot,MIT OR Apache-2.0,Amanieu d'Antras password-hash,https://github.com/RustCrypto/traits/tree/master/password-hash,MIT OR Apache-2.0,RustCrypto Developers pbkdf2,https://github.com/RustCrypto/password-hashes/tree/master/pbkdf2,MIT OR Apache-2.0,RustCrypto Developers @@ -364,6 +361,7 @@ prost-build,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert , Lucio Franco , Casper Meijn , Tokio Contributors " prost-types,https://github.com/tokio-rs/prost,Apache-2.0,"Dan Burkert , Lucio Franco , Casper Meijn , Tokio Contributors " protobuf,https://github.com/stepancheg/rust-protobuf,MIT,Stepan Koltsov +protobuf-support,https://github.com/stepancheg/rust-protobuf,MIT,Stepan Koltsov quanta,https://github.com/metrics-rs/quanta,MIT,Toby Lawrence quick-error,http://github.com/tailhook/quick-error,MIT OR Apache-2.0,"Paul Colomiets , Colin Kiegel " quinn,https://github.com/quinn-rs/quinn,MIT OR Apache-2.0,The quinn Authors @@ -548,7 +546,7 @@ wasm-bindgen-futures,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/cr wasm-bindgen-macro,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro,MIT OR Apache-2.0,The wasm-bindgen Developers wasm-bindgen-macro-support,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/macro-support,MIT OR Apache-2.0,The wasm-bindgen Developers wasm-bindgen-shared,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/shared,MIT OR Apache-2.0,The wasm-bindgen Developers -wasm-timer,https://github.com/tomaka/wasm-timer,MIT,Pierre Krieger +wasmtimer,https://github.com/whizsid/wasmtimer-rs,MIT,"WhizSid , Pierre Krieger " web-sys,https://github.com/wasm-bindgen/wasm-bindgen/tree/master/crates/web-sys,MIT OR Apache-2.0,The wasm-bindgen Developers web-time,https://github.com/daxpedda/web-time,MIT OR Apache-2.0,The web-time Authors webpki-roots,https://github.com/rustls/webpki-roots,CDLA-Permissive-2.0,The webpki-roots Authors diff --git a/quickwit/Cargo.lock b/quickwit/Cargo.lock index 71d9d4d04d8..33364f68b04 100644 --- a/quickwit/Cargo.lock +++ b/quickwit/Cargo.lock @@ -193,7 +193,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -204,7 +204,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -1746,7 +1746,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c9e340e012a1bf4935f5282ed1436d1489548e8f72308207ea5df0e23d2d03f8" dependencies = [ "clap_builder", - "clap_derive", ] [[package]] @@ -1761,18 +1760,6 @@ dependencies = [ "strsim", ] -[[package]] -name = "clap_derive" -version = "4.5.49" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" -dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", - "syn 2.0.111", -] - [[package]] name = "clap_lex" version = "0.7.6" @@ -2875,7 +2862,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -3058,9 +3045,9 @@ dependencies = [ [[package]] name = "fluent-uri" -version = "0.3.2" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1918b65d96df47d3591bed19c5cca17e3fa5d0707318e4b5ef2eae01764df7e5" +checksum = "bc74ac4d8359ae70623506d512209619e5cf8f347124910440dbc221714b328e" dependencies = [ "borrow-or-share", "ref-cast", @@ -4273,7 +4260,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4322,10 +4309,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49cce2b81f2098e7e3efc35bc2e0a6b7abec9d34128283d7a26fa8f32a6dbb35" dependencies = [ "jiff-static", + "jiff-tzdb-platform", "log", "portable-atomic", "portable-atomic-util", "serde_core", + "windows-sys 0.61.2", ] [[package]] @@ -4339,6 +4328,21 @@ dependencies = [ "syn 2.0.111", ] +[[package]] +name = "jiff-tzdb" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68971ebff725b9e2ca27a601c5eb38a4c5d64422c4cbab0c535f248087eda5c2" + +[[package]] +name = "jiff-tzdb-platform" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875a5a69ac2bab1a891711cf5eccbec1ce0341ea805560dcd90b7a2e925132e8" +dependencies = [ + "jiff-tzdb", +] + [[package]] name = "jobserver" version = "0.1.34" @@ -4367,27 +4371,28 @@ checksum = "9dbbfed4e59ba9750e15ba154fdfd9329cee16ff3df539c2666b70f58cc32105" [[package]] name = "jsonschema" -version = "0.32.1" +version = "0.37.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24690c68dfcdde5980d676b0f1820981841016b1f29eecb4c42ad48ab4118681" +checksum = "73c9ffb2b5c56d58030e1b532d8e8389da94590515f118cf35b5cb68e4764a7e" dependencies = [ "ahash", - "base64 0.22.1", "bytecount", + "data-encoding", "email_address", "fancy-regex 0.16.2", "fraction", + "getrandom 0.3.4", "idna", "itoa", "num-cmp", "num-traits", - "once_cell", "percent-encoding", "referencing", "regex", "regex-syntax", "serde", "serde_json", + "unicode-general-category", "uuid-simd", ] @@ -5181,7 +5186,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5488,29 +5493,29 @@ checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "opendal" -version = "0.53.3" +version = "0.55.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f947c4efbca344c1a125753366033c8107f552b2e3f8251815ed1908f116ca3e" +checksum = "d075ab8a203a6ab4bc1bce0a4b9fe486a72bf8b939037f4b78d95386384bc80a" dependencies = [ "anyhow", - "async-trait", "backon", "base64 0.22.1", "bytes", - "chrono", "futures", "getrandom 0.2.16", "http 1.4.0", "http-body 1.0.1", + "jiff", "log", "md-5", "percent-encoding", - "quick-xml 0.37.5", - "reqsign", + "quick-xml 0.38.4", + "reqsign 0.16.5", "reqwest 0.12.26", "serde", "serde_json", "tokio", + "url", "uuid", ] @@ -5699,7 +5704,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -6169,9 +6174,9 @@ dependencies = [ [[package]] name = "pnet" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd959a8268165518e2bf5546ba84c7b3222744435616381df3c456fe8d983576" +checksum = "682396b533413cc2e009fbb48aadf93619a149d3e57defba19ff50ce0201bd0d" dependencies = [ "ipnetwork", "pnet_base", @@ -6183,18 +6188,18 @@ dependencies = [ [[package]] name = "pnet_base" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "872e46346144ebf35219ccaa64b1dffacd9c6f188cd7d012bd6977a2a838f42e" +checksum = "ffc190d4067df16af3aba49b3b74c469e611cad6314676eaf1157f31aa0fb2f7" dependencies = [ "no-std-net", ] [[package]] name = "pnet_datalink" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c302da22118d2793c312a35fb3da6846cb0fab6c3ad53fd67e37809b06cdafce" +checksum = "e79e70ec0be163102a332e1d2d5586d362ad76b01cec86f830241f2b6452a7b7" dependencies = [ "ipnetwork", "libc", @@ -6205,30 +6210,30 @@ dependencies = [ [[package]] name = "pnet_macros" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a780e80005c2e463ec25a6e9f928630049a10b43945fea83207207d4a7606f4" +checksum = "13325ac86ee1a80a480b0bc8e3d30c25d133616112bb16e86f712dcf8a71c863" dependencies = [ "proc-macro2", "quote", "regex", - "syn 1.0.109", + "syn 2.0.111", ] [[package]] name = "pnet_macros_support" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d932134f32efd7834eb8b16d42418dac87086347d1bc7d142370ef078582bc" +checksum = "eed67a952585d509dd0003049b1fc56b982ac665c8299b124b90ea2bdb3134ab" dependencies = [ "pnet_base", ] [[package]] name = "pnet_packet" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8bde678bbd85cb1c2d99dc9fc596e57f03aa725f84f3168b0eaf33eeccb41706" +checksum = "4c96ebadfab635fcc23036ba30a7d33a80c39e8461b8bd7dc7bb186acb96560f" dependencies = [ "glob", "pnet_base", @@ -6238,9 +6243,9 @@ dependencies = [ [[package]] name = "pnet_sys" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf7a58b2803d818a374be9278a1fe8f88fce14b936afbe225000cfcd9c73f16" +checksum = "7d4643d3d4db6b08741050c2f3afa9a892c4244c085a72fcda93c9c2c9a00f4b" dependencies = [ "libc", "winapi 0.3.9", @@ -6248,9 +6253,9 @@ dependencies = [ [[package]] name = "pnet_transport" -version = "0.33.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "813d1c0e4defbe7ee22f6fe1755f122b77bfb5abe77145b1b5baaf463cab9249" +checksum = "5f604d98bc2a6591cf719b58d3203fd882bdd6bf1db696c4ac97978e9f4776bf" dependencies = [ "libc", "pnet_base", @@ -6478,22 +6483,21 @@ dependencies = [ [[package]] name = "procfs" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "731e0d9356b0c25f16f33b5be79b1c57b562f141ebfcdb0ad8ac2c13a24293b4" +checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" dependencies = [ "bitflags 2.10.0", "hex", - "lazy_static", "procfs-core", "rustix 0.38.44", ] [[package]] name = "procfs-core" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d3554923a69f4ce04c4a754260c338f505ce22642d3830e049a399fc2059a29" +checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" dependencies = [ "bitflags 2.10.0", "hex", @@ -6501,9 +6505,9 @@ dependencies = [ [[package]] name = "prometheus" -version = "0.13.4" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d33c28a30771f7f96db69893f78b857f7450d7e0237e9c8fc6427a81bae7ed1" +checksum = "3ca5326d8d0b950a9acd87e6a3f94745394f62e4dae1b1ee22b2bc0c394af43a" dependencies = [ "cfg-if", "fnv", @@ -6513,7 +6517,7 @@ dependencies = [ "parking_lot 0.12.5", "procfs", "protobuf", - "thiserror 1.0.69", + "thiserror 2.0.17", ] [[package]] @@ -6632,9 +6636,23 @@ dependencies = [ [[package]] name = "protobuf" -version = "2.28.0" +version = "3.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "106dd99e98437432fed6519dedecfade6a06a73bb7b2a1e019fdd2bee5778d94" +checksum = "d65a1d4ddae7d8b5de68153b48f6aa3bba8cb002b243dbdbc55a5afbc98f99f4" +dependencies = [ + "once_cell", + "protobuf-support", + "thiserror 1.0.69", +] + +[[package]] +name = "protobuf-support" +version = "3.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e36c2f31e0a47f9280fb347ef5e461ffcd2c52dd520d8e216b52f93b0b0d7d6" +dependencies = [ + "thiserror 1.0.69", +] [[package]] name = "psl" @@ -6741,9 +6759,9 @@ dependencies = [ [[package]] name = "quick-xml" -version = "0.37.5" +version = "0.38.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "331e97a1af0bf59823e6eadffe373d7b27f485be8748f71471c662c1f269b7fb" +checksum = "b66c2058c55a409d601666cffe35f04333cf1013010882cec174a7467cd4e21c" dependencies = [ "memchr", "serde", @@ -7464,7 +7482,7 @@ dependencies = [ "quickwit-serve", "reqwest 0.12.26", "reqwest-middleware", - "reqwest-retry", + "reqwest-retry 0.8.0", "serde", "serde_json", "thiserror 2.0.17", @@ -7617,6 +7635,7 @@ dependencies = [ "bytesize", "fnv", "futures", + "http 1.4.0", "http-body-util", "hyper 1.8.1", "lru 0.16.2", @@ -7632,7 +7651,7 @@ dependencies = [ "quickwit-proto", "rand 0.8.5", "regex", - "reqsign", + "reqsign 0.18.1", "reqwest 0.12.26", "serde", "serde_json", @@ -7973,13 +7992,14 @@ dependencies = [ [[package]] name = "referencing" -version = "0.32.1" +version = "0.37.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3d769362109497b240e66462606bc28af68116436c8669bac17069533b908e" +checksum = "4283168a506f0dcbdce31c9f9cce3129c924da4c6bca46e46707fcb746d2d70c" dependencies = [ "ahash", "fluent-uri", - "once_cell", + "getrandom 0.3.4", + "hashbrown 0.16.1", "parking_lot 0.12.5", "percent-encoding", "serde_json", @@ -8062,6 +8082,101 @@ dependencies = [ "sha2", ] +[[package]] +name = "reqsign" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea386ba750000b6e59f760a08bdcca9461809b95e6f8f209ce5724056802824f" +dependencies = [ + "reqsign-command-execute-tokio", + "reqsign-core", + "reqsign-file-read-tokio", + "reqsign-google", + "reqsign-http-send-reqwest", +] + +[[package]] +name = "reqsign-command-execute-tokio" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b53d033600f533135afec8e97be99c80fcf8177f6285da6c7300955d5377a1" +dependencies = [ + "async-trait", + "reqsign-core", + "tokio", +] + +[[package]] +name = "reqsign-core" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39da118ccf3bdb067ac6cc40136fec99bc5ba418cbd388dc88e4ce0e5d0b1423" +dependencies = [ + "anyhow", + "async-trait", + "base64 0.22.1", + "bytes", + "form_urlencoded", + "hex", + "hmac", + "http 1.4.0", + "jiff", + "log", + "percent-encoding", + "sha1", + "sha2", + "windows-sys 0.61.2", +] + +[[package]] +name = "reqsign-file-read-tokio" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "669ea66036266a9ac371d2e63cc7d345e69994da0168b4e6f3487fe21e126f76" +dependencies = [ + "anyhow", + "async-trait", + "reqsign-core", + "tokio", +] + +[[package]] +name = "reqsign-google" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16e1942acf06b8638f16775e92e4ca9cca239519ea6f4e650d5924d1f0dc37d1" +dependencies = [ + "async-trait", + "http 1.4.0", + "jsonwebtoken 9.3.1", + "log", + "percent-encoding", + "rand 0.8.5", + "reqsign-core", + "reqwest 0.12.26", + "rsa", + "serde", + "serde_json", + "sha2", +] + +[[package]] +name = "reqsign-http-send-reqwest" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46186bce769674f9200ad01af6f2ca42de3e819ddc002fff1edae135bfb6cd9c" +dependencies = [ + "anyhow", + "async-trait", + "bytes", + "futures-channel", + "http 1.4.0", + "http-body-util", + "reqsign-core", + "reqwest 0.12.26", + "wasm-bindgen-futures", +] + [[package]] name = "reqwest" version = "0.11.27" @@ -8178,13 +8293,33 @@ dependencies = [ "parking_lot 0.11.2", "reqwest 0.12.26", "reqwest-middleware", - "retry-policies", + "retry-policies 0.4.0", "thiserror 1.0.69", "tokio", - "tracing", "wasm-timer", ] +[[package]] +name = "reqwest-retry" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "105747e3a037fe5bf17458d794de91149e575b6183fc72c85623a44abb9683f5" +dependencies = [ + "anyhow", + "async-trait", + "futures", + "getrandom 0.2.16", + "http 1.4.0", + "hyper 1.8.1", + "reqwest 0.12.26", + "reqwest-middleware", + "retry-policies 0.5.1", + "thiserror 2.0.17", + "tokio", + "tracing", + "wasmtimer", +] + [[package]] name = "retry-policies" version = "0.4.0" @@ -8194,6 +8329,15 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "retry-policies" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46a4bd6027df676bcb752d3724db0ea3c0c5fc1dd0376fec51ac7dcaf9cc69be" +dependencies = [ + "rand 0.9.2", +] + [[package]] name = "rfc6979" version = "0.3.1" @@ -8387,7 +8531,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -9804,7 +9948,7 @@ dependencies = [ "getrandom 0.3.4", "once_cell", "rustix 1.1.2", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -9813,7 +9957,7 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d8c27177b12a6399ffc08b98f76f7c9a1f4fe9fc967c784c5a071fa8d93cf7e1" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -10037,9 +10181,9 @@ dependencies = [ [[package]] name = "tokio-metrics" -version = "0.3.1" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eace09241d62c98b7eeb1107d4c5c64ca3bd7da92e8c218c153ab3a78f9be112" +checksum = "a34e87dd30650518a4e041bca77c931f3f5a19621eecdcd794f5c1813bca9e98" dependencies = [ "futures-util", "pin-project-lite", @@ -10582,6 +10726,12 @@ version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" +[[package]] +name = "unicode-general-category" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b993bddc193ae5bd0d623b49ec06ac3e9312875fdae725a975c51db1cc1677f" + [[package]] name = "unicode-ident" version = "1.0.22" @@ -10758,7 +10908,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23b082222b4f6619906941c17eb2297fff4c2fb96cb60164170522942a200bd8" dependencies = [ "outref", - "uuid", "vsimd", ] @@ -10782,9 +10931,9 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "vrl" -version = "0.27.0" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "374906b686967832d85e5ce8f43581924e8382787e538c61c1e2158e09fc6518" +checksum = "b12fd383709e1187354f818cafa07a28d788eb30351a627891579deedeffce40" dependencies = [ "aes", "aes-siv", @@ -10801,7 +10950,6 @@ dependencies = [ "chrono-tz", "ciborium", "cidr", - "clap", "codespan-reporting", "community-id", "convert_case", @@ -10852,7 +11000,7 @@ dependencies = [ "regex", "reqwest 0.12.26", "reqwest-middleware", - "reqwest-retry", + "reqwest-retry 0.7.0", "roxmltree 0.20.0", "rust_decimal", "seahash", @@ -11103,6 +11251,20 @@ dependencies = [ "web-sys", ] +[[package]] +name = "wasmtimer" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c598d6b99ea013e35844697fc4670d08339d5cda15588f193c6beedd12f644b" +dependencies = [ + "futures", + "js-sys", + "parking_lot 0.12.5", + "pin-utils", + "slab", + "wasm-bindgen", +] + [[package]] name = "web-sys" version = "0.3.83" @@ -11200,7 +11362,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] diff --git a/quickwit/Cargo.toml b/quickwit/Cargo.toml index 35742f40baa..00463281a14 100644 --- a/quickwit/Cargo.toml +++ b/quickwit/Cargo.toml @@ -164,7 +164,7 @@ opentelemetry-otlp = "0.27" ouroboros = "0.18" percent-encoding = "2.3" pin-project = "1.1" -pnet = { version = "0.33", features = ["std"] } +pnet = { version = "0.35", features = ["std"] } postcard = { version = "1.1", features = [ "use-std", ], default-features = false } @@ -172,7 +172,7 @@ pprof = { version = "0.15", features = ["flamegraph"] } predicates = "3" prettyplease = "0.2" proc-macro2 = "1.0" -prometheus = { version = "0.13", features = ["process"] } +prometheus = { version = "0.14", features = ["process"] } proptest = "1" prost = { version = "0.13", default-features = false, features = [ "prost-derive", @@ -202,7 +202,7 @@ reqwest = { version = "0.12", default-features = false, features = [ "rustls-tls", ] } reqwest-middleware = "0.4" -reqwest-retry = "0.7" +reqwest-retry = "0.8" rust-embed = "8.9" rustc-hash = "2.1" rustls = "0.23" @@ -239,7 +239,7 @@ tikv-jemalloc-ctl = "0.5" tikv-jemallocator = "0.5" time = { version = "0.3", features = ["std", "formatting", "macros"] } tokio = { version = "1.48", features = ["full"] } -tokio-metrics = { version = "0.3", features = ["rt"] } +tokio-metrics = { version = "0.4", features = ["rt"] } tokio-rustls = { version = "0.26", default-features = false } tokio-stream = { version = "0.1", features = ["sync"] } tokio-util = { version = "0.7", features = ["full"] } @@ -280,7 +280,7 @@ ulid = "1.2" username = "0.2" utoipa = { version = "4.2", features = ["time", "ulid"] } uuid = { version = "1.19", features = ["v4", "serde"] } -vrl = { version = "0.27", default-features = false, features = [ +vrl = { version = "0.29", default-features = false, features = [ "compiler", "diagnostic", "stdlib", @@ -315,8 +315,8 @@ azure_storage_blobs = { version = "0.21", default-features = false, features = [ "enable_reqwest_rustls", ] } -opendal = { version = "0.53", default-features = false } -reqsign = { version = "0.16", default-features = false } +opendal = { version = "0.55", default-features = false } +reqsign = { version = "0.18", default-features = false, features = ["google", "default-context"] } quickwit-actors = { path = "quickwit-actors" } quickwit-aws = { path = "quickwit-aws" } diff --git a/quickwit/quickwit-storage/Cargo.toml b/quickwit/quickwit-storage/Cargo.toml index 4ba84c90e01..6c1e6ba3d56 100644 --- a/quickwit/quickwit-storage/Cargo.toml +++ b/quickwit/quickwit-storage/Cargo.toml @@ -58,6 +58,7 @@ reqsign = { workspace = true, optional = true } reqwest = { workspace = true, optional = true } [dev-dependencies] +http = { workspace = true } mockall = { workspace = true } proptest = { workspace = true } tokio = { workspace = true } @@ -87,7 +88,7 @@ integration-testsuite = [ "azure_storage_blobs/azurite_workaround", "gcs", # Stands for Google cloud storage. "dep:reqsign", - "reqsign/services-google", + "reqsign/google", "dep:reqwest", ] testsuite = ["mockall"] diff --git a/quickwit/quickwit-storage/src/opendal_storage/base.rs b/quickwit/quickwit-storage/src/opendal_storage/base.rs index 0466a42d1d6..f4a203eb9a9 100644 --- a/quickwit/quickwit-storage/src/opendal_storage/base.rs +++ b/quickwit/quickwit-storage/src/opendal_storage/base.rs @@ -168,9 +168,7 @@ impl Storage for OpendalStorage { #[cfg(feature = "integration-testsuite")] { let storage_info = self.op.info(); - if storage_info.name().starts_with("sample-bucket") - && storage_info.scheme() == opendal::Scheme::Gcs - { + if storage_info.name().starts_with("sample-bucket") && storage_info.scheme() == "gcs" { let mut bulk_error = BulkDeleteError::default(); for (index, path) in paths.iter().enumerate() { crate::STORAGE_METRICS diff --git a/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs b/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs index f722c6545a8..fc022fd1e08 100644 --- a/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/src/opendal_storage/google_cloud_storage.rs @@ -58,21 +58,6 @@ pub mod test_config_helpers { /// URL of the local GCP emulator. pub const LOCAL_GCP_EMULATOR_ENDPOINT: &str = "http://127.0.0.1:4443"; - /// reqsign::GoogleTokenLoad implementation for testing. - #[derive(Debug)] - pub struct DummyTokenLoader; - - #[async_trait] - impl reqsign::GoogleTokenLoad for DummyTokenLoader { - async fn load(&self, _: reqwest::Client) -> anyhow::Result> { - Ok(Some(reqsign::GoogleToken::new( - "dummy", - 86400, - "https://www.googleapis.com/auth/devstorage.full_control", - ))) - } - } - /// Creates a storage connecting to a local emulated google cloud storage. pub fn new_emulated_google_cloud_storage( uri: &Uri, @@ -82,8 +67,7 @@ pub mod test_config_helpers { let cfg = opendal::services::Gcs::default() .bucket(&bucket) .root(&root.to_string_lossy()) - .endpoint(LOCAL_GCP_EMULATOR_ENDPOINT) - .customized_token_loader(Box::new(DummyTokenLoader)); + .endpoint(LOCAL_GCP_EMULATOR_ENDPOINT); let store = OpendalStorage::new_google_cloud_storage(uri.clone(), cfg)?; Ok(store) } diff --git a/quickwit/quickwit-storage/tests/google_cloud_storage.rs b/quickwit/quickwit-storage/tests/google_cloud_storage.rs index 17fa37f8c7a..c87dfc6b2d3 100644 --- a/quickwit/quickwit-storage/tests/google_cloud_storage.rs +++ b/quickwit/quickwit-storage/tests/google_cloud_storage.rs @@ -25,19 +25,33 @@ mod gcp_storage_test_suite { use quickwit_common::setup_logging_for_tests; use quickwit_common::uri::Uri; use quickwit_storage::test_config_helpers::{ - DummyTokenLoader, LOCAL_GCP_EMULATOR_ENDPOINT, new_emulated_google_cloud_storage, + LOCAL_GCP_EMULATOR_ENDPOINT, new_emulated_google_cloud_storage, }; - use reqsign::GoogleTokenLoad; pub async fn sign_gcs_request(req: &mut reqwest::Request) -> anyhow::Result<()> { - let client = reqwest::Client::new(); - let token = DummyTokenLoader - .load(client.clone()) - .await? - .ok_or_else(|| anyhow::anyhow!("Failed to obtain authentication token"))?; + let signer = reqsign::google::default_signer("storage"); + + // Create http::Request and extract parts for signing + let http_req = http::Request::builder() + .method(req.method()) + .uri(req.url().as_str()) + .version(http::Version::HTTP_11) + .body(())?; + + let (mut parts, _body) = http_req.into_parts(); + + // Copy headers from reqwest request + parts.headers = req.headers().clone(); + + // Sign the request parts + signer.sign(&mut parts, None).await?; - let signer = reqsign::GoogleSigner::new("storage"); - signer.sign(req, &token)?; + // Update the original request with signed headers + let headers = req.headers_mut(); + headers.clear(); + for (key, value) in &parts.headers { + headers.insert(key.clone(), value.clone()); + } Ok(()) }