diff --git a/Cargo.lock b/Cargo.lock index 391ee7697..cc6efe129 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -156,9 +156,9 @@ checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1" [[package]] name = "arc-swap" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bddcadddf5e9015d310179a59bb28c4d4b9920ad0f11e8e14dbadf654890c9a6" +checksum = "7b3d0060af21e8d11a926981cc00c6c1541aa91dd64b9f881985c3da1094425f" [[package]] name = "arrayref" @@ -246,7 +246,7 @@ dependencies = [ "bytes", "fastrand", "hex", - "http 0.2.11", + "http 0.2.12", "hyper", "ring", "time", @@ -282,7 +282,7 @@ dependencies = [ "aws-types", "bytes", "fastrand", - "http 0.2.11", + "http 0.2.12", "http-body", "percent-encoding", "pin-project-lite", @@ -306,7 +306,7 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "http 0.2.11", + "http 0.2.12", "once_cell", "regex-lite", "tracing", @@ -328,7 +328,7 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "http 0.2.11", + "http 0.2.12", "once_cell", "regex-lite", "tracing", @@ -350,7 +350,7 @@ dependencies = [ "aws-smithy-types", "aws-types", "bytes", - "http 0.2.11", + "http 0.2.12", "once_cell", "regex-lite", "tracing", @@ -373,7 +373,7 @@ dependencies = [ "aws-smithy-types", "aws-smithy-xml", "aws-types", - "http 0.2.11", + "http 0.2.12", "once_cell", "regex-lite", "tracing", @@ -393,8 +393,8 @@ dependencies = [ "form_urlencoded", "hex", "hmac", - "http 0.2.11", - "http 1.0.0", + "http 0.2.12", + "http 1.1.0", "once_cell", "percent-encoding", "sha2", @@ -424,7 +424,7 @@ dependencies = [ "bytes", "bytes-utils", "futures-core", - "http 0.2.11", + "http 0.2.12", "http-body", "once_cell", "percent-encoding", @@ -465,7 +465,7 @@ dependencies = [ "bytes", "fastrand", "h2", - "http 0.2.11", + "http 0.2.12", "http-body", "hyper", "hyper-rustls", @@ -486,8 +486,8 @@ dependencies = [ "aws-smithy-async", "aws-smithy-types", "bytes", - "http 0.2.11", - "http 1.0.0", + "http 0.2.12", + "http 1.1.0", "pin-project-lite", "tokio", "tracing", @@ -504,7 +504,7 @@ dependencies = [ "bytes", "bytes-utils", "futures-core", - "http 0.2.11", + "http 0.2.12", "http-body", "itoa", "num-integer", @@ -534,7 +534,7 @@ checksum = "64948b59109942d202323bf8e091f167c598d10cca102d63c2b8c4d885d6f08d" dependencies = [ "anyhow", "async-trait", - "base64", + "base64 0.21.7", "futures", "russh", "russh-keys", @@ -556,7 +556,7 @@ dependencies = [ "aws-smithy-async", "aws-smithy-runtime-api", "aws-smithy-types", - "http 0.2.11", + "http 0.2.12", "rustc_version", "tracing", ] @@ -597,6 +597,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" + [[package]] name = "base64-simd" version = "0.8.0" @@ -626,9 +632,9 @@ dependencies = [ [[package]] name = "bigdecimal" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06619be423ea5bb86c95f087d5707942791a08a85530df0db2209a3ecfb8bc9" +checksum = "9324c8014cd04590682b34f1e9448d38f0674d0f7b2dc553331016ef0e4e9ebc" dependencies = [ "autocfg", "libm", @@ -695,9 +701,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.15.3" +version = "3.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea184aa71bb362a1157c896979544cc23974e08fd265f29ea96b59f0b4a555b" +checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" [[package]] name = "bytemuck" @@ -875,10 +881,11 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.88" +version = "1.0.90" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02f341c093d19155a6e41631ce5971aac4e9a868262212153124c15fa22d1cdc" +checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" dependencies = [ + "jobserver", "libc", ] @@ -951,9 +958,9 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.34" +version = "0.4.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bc015644b92d5890fab7489e49d21f879d5c990186827d42ec511919404f38b" +checksum = "8eaf5903dcbc0a39312feb77df2ff4c76387d591b9fc7b04a238dcf8bb62639a" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1004,9 +1011,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c918d541ef2913577a0f9566e9ce27cb35b6df072075769e0b26cb5a554520da" +checksum = "b230ab84b0ffdf890d5a10abdbc8b83ae1c4918275daea1ab8801f71536b2651" dependencies = [ "clap_builder", "clap_derive", @@ -1014,9 +1021,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.1" +version = "4.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f3e7391dad68afb0c2ede1bf619f579a3dc9c2ec67f089baa397123a2f3d1eb" +checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4" dependencies = [ "anstream", "anstyle", @@ -1152,7 +1159,7 @@ source = "git+https://github.com/shotover/cql-ws#0915d4185901d106341a6558aa2c1a0 dependencies = [ "cassandra-protocol", "futures-util", - "http 0.2.11", + "http 0.2.12", "rustls 0.21.10", "rustls-pemfile 1.0.4", "tokio", @@ -2028,9 +2035,9 @@ dependencies = [ [[package]] name = "ghash" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" dependencies = [ "opaque-debug", "polyval", @@ -2089,8 +2096,8 @@ dependencies = [ "futures-core", "futures-sink", "futures-util", - "http 0.2.11", - "indexmap 2.2.3", + "http 0.2.12", + "indexmap 2.2.5", "slab", "tokio", "tokio-util", @@ -2109,11 +2116,11 @@ dependencies = [ [[package]] name = "halfbrown" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5681137554ddff44396e5f149892c769d45301dd9aa19c51602a89ee214cb0ec" +checksum = "8588661a8607108a5ca69cab034063441a0413a0b041c13618a7dd348021ef6f" dependencies = [ - "hashbrown 0.13.2", + "hashbrown 0.14.3", ] [[package]] @@ -2122,15 +2129,6 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" -[[package]] -name = "hashbrown" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" -dependencies = [ - "ahash", -] - [[package]] name = "hashbrown" version = "0.14.3" @@ -2200,9 +2198,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.11" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8947b1a6fad4393052c7ba1f4cd97bed3e953a95c79c92ad9b051a04611d9fbb" +checksum = "601cbb57e577e2f5ef5be8e7b83f0f63994f25aa94d673e54a92d5c516d101f1" dependencies = [ "bytes", "fnv", @@ -2211,9 +2209,9 @@ dependencies = [ [[package]] name = "http" -version = "1.0.0" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b32afd38673a8016f7c9ae69e5af41a58f81b1d31689040f2f1959594ce194ea" +checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258" dependencies = [ "bytes", "fnv", @@ -2227,7 +2225,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" dependencies = [ "bytes", - "http 0.2.11", + "http 0.2.12", "pin-project-lite", ] @@ -2254,7 +2252,7 @@ dependencies = [ "futures-core", "futures-util", "h2", - "http 0.2.11", + "http 0.2.12", "http-body", "httparse", "httpdate", @@ -2274,7 +2272,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec3efd23720e2049821a693cbc7e65ea87c72f1c58ff2f9522ff332b1491e590" dependencies = [ "futures-util", - "http 0.2.11", + "http 0.2.12", "hyper", "log", "rustls 0.21.10", @@ -2348,9 +2346,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.2.3" +version = "2.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" +checksum = "7b0b929d511467233429c45a44ac1dcaa21ba0f5ba11e4879e6ed28ddb4f9df4" dependencies = [ "equivalent", "hashbrown 0.14.3", @@ -2477,28 +2475,37 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" +[[package]] +name = "jobserver" +version = "0.1.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "406cda4b368d531c842222cf9d2600a9a4acce8d29423695379c6868a143a9ee" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] [[package]] name = "kafka-protocol" -version = "0.9.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7768f3ef7f7dd0a46d15fc0ecab57156b1351391c02fec743e436e0fd59f9bd" +checksum = "abb3713ec14da1109760314f1d391038234432cbc6c41d37a014411702500c7d" dependencies = [ + "anyhow", "bytes", "crc", "crc32c", "derive_builder", "flate2", - "indexmap 2.2.3", - "log", + "indexmap 2.2.5", "lz4", "paste", "snap", @@ -2523,12 +2530,12 @@ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" [[package]] name = "libloading" -version = "0.8.1" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" dependencies = [ "cfg-if", - "windows-sys 0.48.0", + "windows-targets 0.52.4", ] [[package]] @@ -2648,8 +2655,8 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bf4e7146e30ad172c42c39b3246864bd2d3c6396780711a1baf749cfe423e21" dependencies = [ - "base64", - "indexmap 2.2.3", + "base64 0.21.7", + "indexmap 2.2.5", "metrics", "metrics-util", "quanta", @@ -2694,9 +2701,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.8.10" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f3d0b296e374a4e6f3c7b0a1f5a51d748a0d34c85e7dc48fc3fa9a87657fe09" +checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "wasi 0.11.0+wasi-snapshot-preview1", @@ -2972,9 +2979,9 @@ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" [[package]] name = "opaque-debug" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" [[package]] name = "opensearch" @@ -2982,7 +2989,7 @@ version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd2846759315751e04d8b45a0bdbd89ce442282ffb916cf54f6b0adf8df4b44c" dependencies = [ - "base64", + "base64 0.21.7", "bytes", "dyn-clone", "lazy_static", @@ -3184,7 +3191,7 @@ version = "3.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b8fcc794035347fb64beda2d3b462595dd2753e3f268d89c5aae77e8cf2c310" dependencies = [ - "base64", + "base64 0.21.7", "serde", ] @@ -3289,9 +3296,9 @@ dependencies = [ [[package]] name = "polyval" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" dependencies = [ "cfg-if", "cpufeatures", @@ -3626,7 +3633,7 @@ checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.4.5", + "regex-automata 0.4.6", "regex-syntax 0.8.2", ] @@ -3641,9 +3648,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb987efffd3c6d0d8f5f89510bb458559eab11e4f869acb20bf845e016259cd" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", @@ -3681,13 +3688,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6920094eb85afde5e4a138be3f2de8bbdf28000f0029e72c45025a56b042251" dependencies = [ "async-compression", - "base64", + "base64 0.21.7", "bytes", "encoding_rs", "futures-core", "futures-util", "h2", - "http 0.2.11", + "http 0.2.12", "http-body", "hyper", "hyper-tls", @@ -3959,7 +3966,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f1fb85efa936c42c6d5fc28d2629bb51e4b2f4b8a5211e297d599cc5a093792" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.0", + "rustls-pemfile 2.1.1", "rustls-pki-types", "schannel", "security-framework", @@ -3971,16 +3978,16 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64", + "base64 0.21.7", ] [[package]] name = "rustls-pemfile" -version = "2.1.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c333bb734fcdedcea57de1602543590f545f127dc8b533324318fd492c5c70b" +checksum = "f48172685e6ff52a556baa527774f61fcaa884f59daf3375c62a3f1cd2549dab" dependencies = [ - "base64", + "base64 0.21.7", "rustls-pki-types", ] @@ -4238,11 +4245,11 @@ version = "3.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "15d167997bd841ec232f5b2b8e0e26606df2e7caa4c31b95ea9ca52b200bd270" dependencies = [ - "base64", + "base64 0.21.7", "chrono", "hex", "indexmap 1.9.3", - "indexmap 2.2.3", + "indexmap 2.2.5", "serde", "serde_derive", "serde_json", @@ -4268,7 +4275,7 @@ version = "0.9.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fd075d994154d4a774f95b51fb96bdc2832b0ea48425c92546073816cda1f2f" dependencies = [ - "indexmap 2.2.3", + "indexmap 2.2.5", "itoa", "ryu", "serde", @@ -4344,7 +4351,7 @@ dependencies = [ "aws-sdk-kms", "backtrace", "backtrace-ext", - "base64", + "base64 0.22.0", "bigdecimal", "bincode", "bytes", @@ -4366,7 +4373,7 @@ dependencies = [ "halfbrown", "hex", "hex-literal", - "http 1.0.0", + "http 1.1.0", "httparse", "hyper", "itertools 0.12.1", @@ -4382,7 +4389,7 @@ dependencies = [ "rand_distr", "redis-protocol", "rustls 0.22.2", - "rustls-pemfile 2.1.0", + "rustls-pemfile 2.1.1", "rustls-pki-types", "serde", "serde_json", @@ -4434,7 +4441,7 @@ dependencies = [ "reqwest", "rstest", "rstest_reuse", - "rustls-pemfile 2.1.0", + "rustls-pemfile 2.1.1", "rustls-pki-types", "scylla", "serde", @@ -5018,7 +5025,7 @@ version = "0.19.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" dependencies = [ - "indexmap 2.2.3", + "indexmap 2.2.5", "toml_datetime", "winnow", ] @@ -5150,7 +5157,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 0.2.11", + "http 0.2.12", "httparse", "log", "rand 0.8.5", @@ -5170,7 +5177,7 @@ dependencies = [ "byteorder", "bytes", "data-encoding", - "http 1.0.0", + "http 1.1.0", "httparse", "log", "rand 0.8.5", @@ -5352,9 +5359,9 @@ checksum = "5c3082ca00d5a5ef149bb8b555a72ae84c9c59f7250f013ac822ac2e49b19c64" [[package]] name = "walkdir" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" dependencies = [ "same-file", "winapi-util", @@ -5383,9 +5390,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1e124130aee3fb58c5bdd6b639a0509486b0338acaaae0c84a5124b0f588b7f" +checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -5393,9 +5400,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9e7e1900c352b609c8488ad12639a311045f40a35491fb69ba8c12f758af70b" +checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" dependencies = [ "bumpalo", "log", @@ -5408,9 +5415,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.41" +version = "0.4.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877b9c3f61ceea0e56331985743b13f3d25c406a7098d45180fb5f09bc19ed97" +checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0" dependencies = [ "cfg-if", "js-sys", @@ -5420,9 +5427,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b30af9e2d358182b5c7449424f017eba305ed32a7010509ede96cdc4696c46ed" +checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -5430,9 +5437,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "642f325be6301eb8107a83d12a8ac6c1e1c54345a7ef1a9261962dfefda09e66" +checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", @@ -5443,15 +5450,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.91" +version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f186bd2dcf04330886ce82d6f33dd75a7bfcf69ecf5763b89fcde53b6ac9838" +checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" -version = "0.3.68" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96565907687f7aceb35bc5fc03770a8a0471d82e479f25832f54a0e3f4b28446" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/shotover/Cargo.toml b/shotover/Cargo.toml index 258c87612..a5c295c48 100644 --- a/shotover/Cargo.toml +++ b/shotover/Cargo.toml @@ -87,7 +87,7 @@ bincode = { workspace = true, optional = true } num = { version = "0.4.0", features = ["serde"] } uuid = { workspace = true } bigdecimal = { version = "0.4.0", features = ["serde"] } -base64 = { version = "0.21.0", optional = true } +base64 = { version = "0.22.0", optional = true } httparse = { version = "1.8.0", optional = true } http = { version = "1.0.0", optional = true } @@ -111,7 +111,7 @@ aws-config = { version = "1.0.0", optional = true } aws-sdk-kms = { version = "1.1.0", optional = true } chacha20poly1305 = { version = "0.10.0", features = ["std"], optional = true } generic-array = { version = "0.14", features = ["serde"], optional = true } -kafka-protocol = { version = "0.9.0", optional = true } +kafka-protocol = { version = "0.10.0", optional = true } rustls = { version = "0.22.0" } tokio-rustls = "0.25" rustls-pemfile = "2.0.0" diff --git a/shotover/src/frame/kafka.rs b/shotover/src/frame/kafka.rs index 254ce4bde..1890288b9 100644 --- a/shotover/src/frame/kafka.rs +++ b/shotover/src/frame/kafka.rs @@ -8,40 +8,44 @@ use kafka_protocol::messages::{ AlterPartitionReassignmentsRequest, AlterPartitionReassignmentsResponse, AlterPartitionRequest, AlterPartitionResponse, AlterReplicaLogDirsRequest, AlterReplicaLogDirsResponse, AlterUserScramCredentialsRequest, AlterUserScramCredentialsResponse, ApiKey, - ApiVersionsRequest, ApiVersionsResponse, BeginQuorumEpochRequest, BeginQuorumEpochResponse, + ApiVersionsRequest, ApiVersionsResponse, AssignReplicasToDirsRequest, + AssignReplicasToDirsResponse, BeginQuorumEpochRequest, BeginQuorumEpochResponse, BrokerHeartbeatRequest, BrokerHeartbeatResponse, BrokerRegistrationRequest, - BrokerRegistrationResponse, ControlledShutdownRequest, ControlledShutdownResponse, - CreateAclsRequest, CreateAclsResponse, CreateDelegationTokenRequest, - CreateDelegationTokenResponse, CreatePartitionsRequest, CreatePartitionsResponse, - CreateTopicsRequest, CreateTopicsResponse, DeleteAclsRequest, DeleteAclsResponse, - DeleteGroupsRequest, DeleteGroupsResponse, DeleteRecordsRequest, DeleteRecordsResponse, - DeleteTopicsRequest, DeleteTopicsResponse, DescribeAclsRequest, DescribeAclsResponse, - DescribeClientQuotasRequest, DescribeClientQuotasResponse, DescribeClusterRequest, - DescribeClusterResponse, DescribeConfigsRequest, DescribeConfigsResponse, - DescribeDelegationTokenRequest, DescribeDelegationTokenResponse, DescribeGroupsRequest, - DescribeGroupsResponse, DescribeLogDirsRequest, DescribeLogDirsResponse, + BrokerRegistrationResponse, ConsumerGroupHeartbeatRequest, ConsumerGroupHeartbeatResponse, + ControlledShutdownRequest, ControlledShutdownResponse, ControllerRegistrationRequest, + ControllerRegistrationResponse, CreateAclsRequest, CreateAclsResponse, + CreateDelegationTokenRequest, CreateDelegationTokenResponse, CreatePartitionsRequest, + CreatePartitionsResponse, CreateTopicsRequest, CreateTopicsResponse, DeleteAclsRequest, + DeleteAclsResponse, DeleteGroupsRequest, DeleteGroupsResponse, DeleteRecordsRequest, + DeleteRecordsResponse, DeleteTopicsRequest, DeleteTopicsResponse, DescribeAclsRequest, + DescribeAclsResponse, DescribeClientQuotasRequest, DescribeClientQuotasResponse, + DescribeClusterRequest, DescribeClusterResponse, DescribeConfigsRequest, + DescribeConfigsResponse, DescribeDelegationTokenRequest, DescribeDelegationTokenResponse, + DescribeGroupsRequest, DescribeGroupsResponse, DescribeLogDirsRequest, DescribeLogDirsResponse, DescribeProducersRequest, DescribeProducersResponse, DescribeQuorumRequest, DescribeQuorumResponse, DescribeTransactionsRequest, DescribeTransactionsResponse, DescribeUserScramCredentialsRequest, DescribeUserScramCredentialsResponse, ElectLeadersRequest, ElectLeadersResponse, EndQuorumEpochRequest, EndQuorumEpochResponse, EndTxnRequest, EndTxnResponse, EnvelopeRequest, EnvelopeResponse, ExpireDelegationTokenRequest, ExpireDelegationTokenResponse, FetchRequest, FetchResponse, FetchSnapshotRequest, - FetchSnapshotResponse, FindCoordinatorRequest, FindCoordinatorResponse, HeartbeatRequest, + FetchSnapshotResponse, FindCoordinatorRequest, FindCoordinatorResponse, + GetTelemetrySubscriptionsRequest, GetTelemetrySubscriptionsResponse, HeartbeatRequest, HeartbeatResponse, IncrementalAlterConfigsRequest, IncrementalAlterConfigsResponse, InitProducerIdRequest, InitProducerIdResponse, JoinGroupRequest, JoinGroupResponse, LeaderAndIsrRequest, LeaderAndIsrResponse, LeaveGroupRequest, LeaveGroupResponse, - ListGroupsRequest, ListGroupsResponse, ListOffsetsRequest, ListOffsetsResponse, - ListPartitionReassignmentsRequest, ListPartitionReassignmentsResponse, ListTransactionsRequest, - ListTransactionsResponse, MetadataRequest, MetadataResponse, OffsetCommitRequest, - OffsetCommitResponse, OffsetDeleteRequest, OffsetDeleteResponse, OffsetFetchRequest, - OffsetFetchResponse, OffsetForLeaderEpochRequest, OffsetForLeaderEpochResponse, ProduceRequest, - ProduceResponse, RenewDelegationTokenRequest, RenewDelegationTokenResponse, RequestHeader, - ResponseHeader, SaslAuthenticateRequest, SaslAuthenticateResponse, SaslHandshakeRequest, - SaslHandshakeResponse, StopReplicaRequest, StopReplicaResponse, SyncGroupRequest, - SyncGroupResponse, TxnOffsetCommitRequest, TxnOffsetCommitResponse, UnregisterBrokerRequest, - UnregisterBrokerResponse, UpdateFeaturesRequest, UpdateFeaturesResponse, UpdateMetadataRequest, - UpdateMetadataResponse, VoteRequest, VoteResponse, WriteTxnMarkersRequest, - WriteTxnMarkersResponse, + ListClientMetricsResourcesRequest, ListClientMetricsResourcesResponse, ListGroupsRequest, + ListGroupsResponse, ListOffsetsRequest, ListOffsetsResponse, ListPartitionReassignmentsRequest, + ListPartitionReassignmentsResponse, ListTransactionsRequest, ListTransactionsResponse, + MetadataRequest, MetadataResponse, OffsetCommitRequest, OffsetCommitResponse, + OffsetDeleteRequest, OffsetDeleteResponse, OffsetFetchRequest, OffsetFetchResponse, + OffsetForLeaderEpochRequest, OffsetForLeaderEpochResponse, ProduceRequest, ProduceResponse, + PushTelemetryRequest, PushTelemetryResponse, RenewDelegationTokenRequest, + RenewDelegationTokenResponse, RequestHeader, ResponseHeader, SaslAuthenticateRequest, + SaslAuthenticateResponse, SaslHandshakeRequest, SaslHandshakeResponse, StopReplicaRequest, + StopReplicaResponse, SyncGroupRequest, SyncGroupResponse, TxnOffsetCommitRequest, + TxnOffsetCommitResponse, UnregisterBrokerRequest, UnregisterBrokerResponse, + UpdateFeaturesRequest, UpdateFeaturesResponse, UpdateMetadataRequest, UpdateMetadataResponse, + VoteRequest, VoteResponse, WriteTxnMarkersRequest, WriteTxnMarkersResponse, }; use kafka_protocol::protocol::{Decodable, Encodable, HeaderVersion}; use std::fmt::{Display, Formatter, Result as FmtResult}; @@ -177,6 +181,12 @@ pub enum RequestBody { AlterClientQuotas(AlterClientQuotasRequest), DescribeQuorum(DescribeQuorumRequest), AlterUserScramCredentials(AlterUserScramCredentialsRequest), + ConsumerGroupHeartbeat(ConsumerGroupHeartbeatRequest), + ControllerRegistration(ControllerRegistrationRequest), + GetTelemetrySubscriptions(GetTelemetrySubscriptionsRequest), + PushTelemetry(PushTelemetryRequest), + AssignReplicasToDirs(AssignReplicasToDirsRequest), + ListClientMetricsResources(ListClientMetricsResourcesRequest), } #[derive(Debug, PartialEq, Clone)] @@ -249,6 +259,12 @@ pub enum ResponseBody { DescribeConfigs(DescribeConfigsResponse), OffsetDelete(OffsetDeleteResponse), DeleteGroups(DeleteGroupsResponse), + ConsumerGroupHeartbeat(ConsumerGroupHeartbeatResponse), + ControllerRegistration(ControllerRegistrationResponse), + GetTelemetrySubscriptions(GetTelemetrySubscriptionsResponse), + PushTelemetry(PushTelemetryResponse), + AssignReplicasToDirs(AssignReplicasToDirsResponse), + ListClientMetricsResources(ListClientMetricsResourcesResponse), } impl ResponseBody { @@ -360,6 +376,22 @@ impl ResponseBody { ResponseBody::DescribeConfigs(_) => DescribeConfigsResponse::header_version(version), ResponseBody::OffsetDelete(_) => OffsetDeleteResponse::header_version(version), ResponseBody::DeleteGroups(_) => DeleteGroupsResponse::header_version(version), + ResponseBody::ConsumerGroupHeartbeat(_) => { + ConsumerGroupHeartbeatResponse::header_version(version) + } + ResponseBody::ControllerRegistration(_) => { + ControllerRegistrationResponse::header_version(version) + } + ResponseBody::GetTelemetrySubscriptions(_) => { + GetTelemetrySubscriptionsResponse::header_version(version) + } + ResponseBody::PushTelemetry(_) => PushTelemetryResponse::header_version(version), + ResponseBody::AssignReplicasToDirs(_) => { + AssignReplicasToDirsResponse::header_version(version) + } + ResponseBody::ListClientMetricsResources(_) => { + ListClientMetricsResourcesResponse::header_version(version) + } } } } @@ -523,6 +555,22 @@ impl KafkaFrame { ApiKey::DescribeClusterKey => { RequestBody::DescribeCluster(decode(&mut bytes, version)?) } + ApiKey::ConsumerGroupHeartbeatKey => { + RequestBody::ConsumerGroupHeartbeat(decode(&mut bytes, version)?) + } + ApiKey::ControllerRegistrationKey => { + RequestBody::ControllerRegistration(decode(&mut bytes, version)?) + } + ApiKey::GetTelemetrySubscriptionsKey => { + RequestBody::GetTelemetrySubscriptions(decode(&mut bytes, version)?) + } + ApiKey::PushTelemetryKey => RequestBody::PushTelemetry(decode(&mut bytes, version)?), + ApiKey::AssignReplicasToDirsKey => { + RequestBody::AssignReplicasToDirs(decode(&mut bytes, version)?) + } + ApiKey::ListClientMetricsResourcesKey => { + RequestBody::ListClientMetricsResources(decode(&mut bytes, version)?) + } }; Ok(KafkaFrame::Request { header, body }) @@ -672,6 +720,22 @@ impl KafkaFrame { ApiKey::AllocateProducerIdsKey => { ResponseBody::AllocateProducerIds(decode(&mut bytes, version)?) } + ApiKey::ConsumerGroupHeartbeatKey => { + ResponseBody::ConsumerGroupHeartbeat(decode(&mut bytes, version)?) + } + ApiKey::ControllerRegistrationKey => { + ResponseBody::ControllerRegistration(decode(&mut bytes, version)?) + } + ApiKey::GetTelemetrySubscriptionsKey => { + ResponseBody::GetTelemetrySubscriptions(decode(&mut bytes, version)?) + } + ApiKey::PushTelemetryKey => ResponseBody::PushTelemetry(decode(&mut bytes, version)?), + ApiKey::AssignReplicasToDirsKey => { + ResponseBody::AssignReplicasToDirs(decode(&mut bytes, version)?) + } + ApiKey::ListClientMetricsResourcesKey => { + ResponseBody::ListClientMetricsResources(decode(&mut bytes, version)?) + } }; Ok(KafkaFrame::Response { @@ -766,6 +830,12 @@ impl KafkaFrame { RequestBody::AllocateProducerIds(x) => encode(x, bytes, version)?, RequestBody::DescribeCluster(x) => encode(x, bytes, version)?, RequestBody::AlterScramCredentials(x) => encode(x, bytes, version)?, + RequestBody::ConsumerGroupHeartbeat(x) => encode(x, bytes, version)?, + RequestBody::ControllerRegistration(x) => encode(x, bytes, version)?, + RequestBody::GetTelemetrySubscriptions(x) => encode(x, bytes, version)?, + RequestBody::PushTelemetry(x) => encode(x, bytes, version)?, + RequestBody::AssignReplicasToDirs(x) => encode(x, bytes, version)?, + RequestBody::ListClientMetricsResources(x) => encode(x, bytes, version)?, } } KafkaFrame::Response { @@ -843,6 +913,12 @@ impl KafkaFrame { ResponseBody::AllocateProducerIds(x) => encode(x, bytes, version)?, ResponseBody::DescribeConfigs(x) => encode(x, bytes, version)?, ResponseBody::DeleteGroups(x) => encode(x, bytes, version)?, + ResponseBody::ConsumerGroupHeartbeat(x) => encode(x, bytes, version)?, + ResponseBody::ControllerRegistration(x) => encode(x, bytes, version)?, + ResponseBody::GetTelemetrySubscriptions(x) => encode(x, bytes, version)?, + ResponseBody::PushTelemetry(x) => encode(x, bytes, version)?, + ResponseBody::AssignReplicasToDirs(x) => encode(x, bytes, version)?, + ResponseBody::ListClientMetricsResources(x) => encode(x, bytes, version)?, } } } diff --git a/shotover/src/transforms/protect/key_management.rs b/shotover/src/transforms/protect/key_management.rs index abe3b0daa..592490aa3 100644 --- a/shotover/src/transforms/protect/key_management.rs +++ b/shotover/src/transforms/protect/key_management.rs @@ -156,7 +156,7 @@ mod key_manager_tests { let result = futures::executor::block_on(config.build()).unwrap_err(); assert_eq!( result.to_string(), - "Invalid byte 61, offset 43.".to_string() + "Invalid symbol 61, offset 43.".to_string() ); } }