diff --git a/Cargo.lock b/Cargo.lock index 4d0ccb0e..82fe90ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -53,9 +53,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" dependencies = [ "memchr", ] @@ -288,40 +288,13 @@ dependencies = [ "fs_extra", ] -[[package]] -name = "axum" -version = "0.7.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" -dependencies = [ - "async-trait", - "axum-core 0.4.5", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "itoa", - "matchit 0.7.3", - "memchr", - "mime", - "percent-encoding", - "pin-project-lite", - "rustversion", - "serde", - "sync_wrapper", - "tower 0.5.2", - "tower-layer", - "tower-service", -] - [[package]] name = "axum" version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871" dependencies = [ - "axum-core 0.5.5", + "axum-core", "bytes", "form_urlencoded", "futures-util", @@ -331,7 +304,7 @@ dependencies = [ "hyper", "hyper-util", "itoa", - "matchit 0.8.4", + "matchit", "memchr", "mime", "percent-encoding", @@ -342,32 +315,12 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", "tracing", ] -[[package]] -name = "axum-core" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" -dependencies = [ - "async-trait", - "bytes", - "futures-util", - "http", - "http-body", - "http-body-util", - "mime", - "pin-project-lite", - "rustversion", - "sync_wrapper", - "tower-layer", - "tower-service", -] - [[package]] name = "axum-core" version = "0.5.5" @@ -396,7 +349,7 @@ dependencies = [ "anyhow", "assert-json-diff", "auto-future", - "axum 0.8.6", + "axum", "bytes", "bytesize", "cookie", @@ -413,7 +366,7 @@ dependencies = [ "serde_urlencoded", "smallvec", "tokio", - "tower 0.5.2", + "tower", "url", ] @@ -476,11 +429,11 @@ dependencies = [ [[package]] name = "bitflags" -version = "2.9.4" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -494,9 +447,9 @@ dependencies = [ [[package]] name = "bounded-integer" -version = "0.5.8" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "102dbef1187b1893e6dfe05a774e79fd52265f49f214f6879c8ff49f52c8188b" +checksum = "ddfb439fc02606b667a4422a1667bfa6e4574223f7f6062518a41d399697a657" dependencies = [ "serde", ] @@ -521,12 +474,11 @@ checksum = "f5c434ae3cf0089ca203e9019ebe529c47ff45cefe8af7c85ecb734ef541822f" [[package]] name = "caps" -version = "0.5.5" +version = "0.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" +checksum = "fd1ddba47aba30b6a889298ad0109c3b8dcb0e8fc993b459daa7067d46f865e0" dependencies = [ "libc", - "thiserror 1.0.69", ] [[package]] @@ -546,9 +498,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.41" +version = "1.2.44" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" +checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3" dependencies = [ "find-msvc-tools", "jobserver", @@ -636,9 +588,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.49" +version = "4.5.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4512b90fa68d3a9932cea5184017c5d200f5921df706d45e853537dea51508f" +checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5" dependencies = [ "clap_builder", "clap_derive", @@ -646,9 +598,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.49" +version = "4.5.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0025e98baa12e766c67ba13ff4695a887a1eba19569aad00a472546795bd6730" +checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a" dependencies = [ "anstream", "anstyle", @@ -704,6 +656,20 @@ name = "compact_str" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3b79c4069c6cad78e2e0cdfcbd26275770669fb39fd308a752dc110e83b9af32" +dependencies = [ + "castaway", + "cfg-if", + "itoa", + "rustversion", + "ryu", + "static_assertions", +] + +[[package]] +name = "compact_str" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fdb1325a1cece981e8a296ab8f0f9b63ae357bd0784a9faaf548cc7b480707a" dependencies = [ "castaway", "cfg-if", @@ -714,6 +680,18 @@ dependencies = [ "static_assertions", ] +[[package]] +name = "const-hex" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bb320cac8a0750d7f25280aa97b09c26edfe161164238ecbbb31092b079e735" +dependencies = [ + "cfg-if", + "cpufeatures", + "proptest", + "serde_core", +] + [[package]] name = "cookie" version = "0.18.1" @@ -750,6 +728,15 @@ version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" +[[package]] +name = "cpufeatures" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" +dependencies = [ + "libc", +] + [[package]] name = "criterion" version = "0.5.1" @@ -862,9 +849,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.5.4" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071" +checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" dependencies = [ "powerfmt", ] @@ -943,7 +930,7 @@ name = "envoy-data-plane-api" version = "0.1.0" dependencies = [ "glob", - "prost", + "prost 0.14.1", "prost-build", "prost-reflect", "serde", @@ -952,6 +939,8 @@ dependencies = [ "tonic", "tonic-build", "tonic-health", + "tonic-prost", + "tonic-prost-build", ] [[package]] @@ -972,9 +961,9 @@ dependencies = [ [[package]] name = "exponential-backoff" -version = "1.2.1" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "949eb68d436415e37b7a69c49a9900d5337616b0e420377ccc48038b86261e16" +checksum = "020662aa57307d8884be79fca464cce073745cfe6ac70805770972113ca6ee95" dependencies = [ "fastrand 2.3.0", ] @@ -1163,7 +1152,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.11.4", + "indexmap", "slab", "tokio", "tokio-util", @@ -1181,12 +1170,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.14.5" @@ -1394,8 +1377,9 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.15" -source = "git+https://github.com/awgn/hyper-util.git?branch=event-handler#7ad092d0f5528e0edf3830a194719235d2fa0cc3" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c6995591a8f1380fcb4ba966a252a4b29188d51d2b89e3a252f5305be65aea8" dependencies = [ "base64 0.22.1", "bytes", @@ -1409,8 +1393,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "scopeguard", - "socket2 0.5.10", + "socket2 0.6.1", "system-configuration", "tokio", "tower-service", @@ -1469,9 +1452,9 @@ dependencies = [ [[package]] name = "icu_collections" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" +checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" dependencies = [ "displaydoc", "potential_utf", @@ -1482,9 +1465,9 @@ dependencies = [ [[package]] name = "icu_locale_core" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" +checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" dependencies = [ "displaydoc", "litemap", @@ -1495,11 +1478,10 @@ dependencies = [ [[package]] name = "icu_normalizer" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" +checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" dependencies = [ - "displaydoc", "icu_collections", "icu_normalizer_data", "icu_properties", @@ -1510,42 +1492,38 @@ dependencies = [ [[package]] name = "icu_normalizer_data" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" +checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" [[package]] name = "icu_properties" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" +checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" dependencies = [ - "displaydoc", "icu_collections", "icu_locale_core", "icu_properties_data", "icu_provider", - "potential_utf", "zerotrie", "zerovec", ] [[package]] name = "icu_properties_data" -version = "2.0.1" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" +checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" [[package]] name = "icu_provider" -version = "2.0.0" +version = "2.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" +checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" dependencies = [ "displaydoc", "icu_locale_core", - "stable_deref_trait", - "tinystr", "writeable", "yoke", "zerofrom", @@ -1586,19 +1564,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown 0.12.3", -] - -[[package]] -name = "indexmap" -version = "2.11.4" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", "hashbrown 0.16.0", @@ -1646,20 +1614,20 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.16" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" +checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "is_terminal_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" [[package]] name = "itertools" @@ -1726,9 +1694,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.81" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" +checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" dependencies = [ "once_cell", "wasm-bindgen", @@ -1787,9 +1755,9 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" [[package]] name = "litemap" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" +checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" [[package]] name = "lock_api" @@ -1830,12 +1798,6 @@ dependencies = [ "regex-automata", ] -[[package]] -name = "matchit" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" - [[package]] name = "matchit" version = "0.8.4" @@ -1887,13 +1849,13 @@ checksum = "c505b3e17ed6b70a7ed2e67fbb2c560ee327353556120d6e72f5232b6880d536" [[package]] name = "mio" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" dependencies = [ "libc", "wasi", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2000,9 +1962,9 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "once_cell_polyfill" -version = "1.70.1" +version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "oorandom" @@ -2018,9 +1980,9 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "opentelemetry" -version = "0.29.1" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e87237e2775f74896f9ad219d26a2081751187eb7c9f5c58dde20a23b95d16c" +checksum = "b84bcd6ae87133e903af7ef497404dda70c60d0ea14895fc8a5e6722754fc2a0" dependencies = [ "futures-core", "futures-sink", @@ -2032,9 +1994,9 @@ dependencies = [ [[package]] name = "opentelemetry-http" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46d7ab32b827b5b495bd90fa95a6cb65ccc293555dcc3199ae2937d2d237c8ed" +checksum = "d7a6d09a73194e6b66df7c8f1b680f156d916a1a942abf2de06823dd02b7855d" dependencies = [ "async-trait", "bytes", @@ -2045,22 +2007,20 @@ dependencies = [ "opentelemetry", "reqwest", "tokio", - "tracing", ] [[package]] name = "opentelemetry-otlp" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d899720fe06916ccba71c01d04ecd77312734e2de3467fd30d9d580c8ce85656" +checksum = "7a2366db2dca4d2ad033cad11e6ee42844fd727007af5ad04a1730f4cb8163bf" dependencies = [ - "futures-core", "http", "opentelemetry", "opentelemetry-http", "opentelemetry-proto", "opentelemetry_sdk", - "prost", + "prost 0.14.1", "reqwest", "serde", "serde_json", @@ -2072,35 +2032,34 @@ dependencies = [ [[package]] name = "opentelemetry-proto" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c40da242381435e18570d5b9d50aca2a4f4f4d8e146231adb4e7768023309b3" +checksum = "a7175df06de5eaee9909d4805a3d07e28bb752c34cab57fa9cff549da596b30f" dependencies = [ "base64 0.22.1", - "hex", + "const-hex", "opentelemetry", "opentelemetry_sdk", - "prost", + "prost 0.14.1", "serde", + "serde_json", "tonic", + "tonic-prost", ] [[package]] name = "opentelemetry_sdk" -version = "0.29.0" +version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afdefb21d1d47394abc1ba6c57363ab141be19e27cc70d0e422b7f303e4d290b" +checksum = "e14ae4f5991976fd48df6d843de219ca6d31b01daaab2dad5af2badeded372bd" dependencies = [ "futures-channel", "futures-executor", "futures-util", - "glob", "opentelemetry", "percent-encoding", "rand 0.9.2", - "serde_json", "thiserror 2.0.17", - "tracing", ] [[package]] @@ -2121,7 +2080,7 @@ dependencies = [ "bounded-integer", "bytes", "clap", - "compact_str", + "compact_str 0.9.0", "exponential-backoff", "http", "http-serde-ext", @@ -2135,8 +2094,8 @@ dependencies = [ "orion-error", "orion-format", "orion-interner", - "prost", - "prost-types", + "prost 0.13.5", + "prost-types 0.13.5", "regex", "serde", "serde_json", @@ -2144,7 +2103,7 @@ dependencies = [ "serde_regex", "serde_yaml", "tempfile", - "thiserror 1.0.69", + "thiserror 2.0.17", "tracing", "tracing-appender", "tracing-subscriber", @@ -2163,10 +2122,10 @@ dependencies = [ "hyper-util", "serde", "serde_yaml", - "thiserror 1.0.69", + "thiserror 2.0.17", "tokio", "tokio-stream", - "tower 0.5.2", + "tower", "tracing", ] @@ -2181,7 +2140,7 @@ dependencies = [ "ahash", "bitflags", "chrono", - "compact_str", + "compact_str 0.8.1", "criterion", "dhat", "http", @@ -2193,7 +2152,7 @@ dependencies = [ "ptrie", "serde", "smol_str", - "thiserror 1.0.69", + "thiserror 2.0.17", "thread_local", "traceparent", "uuid", @@ -2210,7 +2169,7 @@ dependencies = [ name = "orion-interner" version = "0.1.0" dependencies = [ - "compact_str", + "compact_str 0.9.0", "http", "lasso", "serde", @@ -2228,7 +2187,7 @@ dependencies = [ "atomic-time", "bounded-integer", "bytes", - "compact_str", + "compact_str 0.9.0", "enum_dispatch", "exponential-backoff", "futures", @@ -2274,14 +2233,14 @@ dependencies = [ "serde_yaml", "smol_str", "socket2 0.6.1", - "thiserror 1.0.69", + "thiserror 2.0.17", "thread-id", "thread_local", "tokio", "tokio-rustls", "tokio-stream", "tokio-util", - "tower 0.5.2", + "tower", "tower-service", "traceparent", "tracing", @@ -2322,10 +2281,10 @@ version = "0.1.0" dependencies = [ "abort-on-drop", "affinity", - "axum 0.8.6", + "axum", "axum-test", "caps", - "compact_str", + "compact_str 0.9.0", "dhat", "futures", "http", @@ -2346,11 +2305,11 @@ dependencies = [ "regex", "serde", "serde_json", - "thiserror 1.0.69", + "thiserror 2.0.17", "tikv-jemallocator", "tokio", "tokio-util", - "tower 0.5.2", + "tower", "tracing", "tracing-appender", "tracing-subscriber", @@ -2364,7 +2323,7 @@ dependencies = [ "arc-swap", "arrayvec", "bounded-integer", - "compact_str", + "compact_str 0.9.0", "http", "opentelemetry", "opentelemetry-otlp", @@ -2377,7 +2336,7 @@ dependencies = [ "rand 0.9.2", "serde", "smol_str", - "thiserror 1.0.69", + "thiserror 2.0.17", "thread-id", "traceparent", "tracing", @@ -2403,7 +2362,7 @@ dependencies = [ "thiserror 2.0.17", "tokio", "tokio-stream", - "tower 0.5.2", + "tower", "tracing", "tracing-subscriber", "uuid", @@ -2451,7 +2410,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3672b37090dbd86368a4145bc067582552b29c27377cad4e0a306c97f9bd7772" dependencies = [ "fixedbitset", - "indexmap 2.11.4", + "indexmap", ] [[package]] @@ -2536,9 +2495,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" [[package]] name = "potential_utf" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" +checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" dependencies = [ "zerovec", ] @@ -2595,9 +2554,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.103" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" dependencies = [ "unicode-ident", ] @@ -2641,6 +2600,21 @@ dependencies = [ "thiserror 2.0.17", ] +[[package]] +name = "proptest" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bee689443a2bd0a16ab0348b52ee43e3b2d1b1f931c8aa5c9f8de4c86fbe8c40" +dependencies = [ + "bitflags", + "num-traits", + "rand 0.9.2", + "rand_chacha 0.9.0", + "rand_xorshift", + "regex-syntax", + "unarray", +] + [[package]] name = "prost" version = "0.13.5" @@ -2648,14 +2622,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2796faa41db3ec313a31f7624d9286acf277b52de526150b7e69f3debf891ee5" dependencies = [ "bytes", - "prost-derive", + "prost-derive 0.13.5", +] + +[[package]] +name = "prost" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7231bd9b3d3d33c86b58adbac74b5ec0ad9f496b19d22801d773636feaa95f3d" +dependencies = [ + "bytes", + "prost-derive 0.14.1", ] [[package]] name = "prost-build" -version = "0.13.5" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" +checksum = "ac6c3320f9abac597dcbc668774ef006702672474aad53c6d596b62e487b40b1" dependencies = [ "heck", "itertools 0.14.0", @@ -2664,8 +2648,10 @@ dependencies = [ "once_cell", "petgraph", "prettyplease", - "prost", - "prost-types", + "prost 0.14.1", + "prost-types 0.14.1", + "pulldown-cmark", + "pulldown-cmark-to-cmark", "regex", "syn", "tempfile", @@ -2684,26 +2670,38 @@ dependencies = [ "syn", ] +[[package]] +name = "prost-derive" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9120690fafc389a67ba3803df527d0ec9cbbc9cc45e4cc20b332996dfb672425" +dependencies = [ + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "prost-reflect" -version = "0.14.7" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b5edd582b62f5cde844716e66d92565d7faf7ab1445c8cebce6e00fba83ddb2" +checksum = "89a3ac73ec9a9118131a4594c9d336631a07852220a1d0ae03ee36b04503a063" dependencies = [ "base64 0.22.1", - "once_cell", - "prost", + "prost 0.14.1", "prost-reflect-derive", - "prost-types", + "prost-types 0.14.1", "serde", "serde-value", ] [[package]] name = "prost-reflect-derive" -version = "0.14.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4fce6b22f15cc8d8d400a2b98ad29202b33bd56c7d9ddd815bc803a807ecb65" +checksum = "7b6d90e29fa6c0d13c2c19ba5e4b3fb0efbf5975d27bcf4e260b7b15455bcabe" dependencies = [ "proc-macro2", "quote", @@ -2716,7 +2714,16 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52c2c1bf36ddb1a1c396b3601a3cec27c2462e45f07c386894ec3ccf5332bd16" dependencies = [ - "prost", + "prost 0.13.5", +] + +[[package]] +name = "prost-types" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9b4db3d6da204ed77bb26ba83b6122a73aeb2e87e25fbf7ad2e84c4ccbf8f72" +dependencies = [ + "prost 0.14.1", ] [[package]] @@ -2745,6 +2752,26 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4debfffbf1669869b4bea1bab297f8e9ec11900a9ff2dcf659c2a1c4918c811a" +[[package]] +name = "pulldown-cmark" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e8bbe1a966bd2f362681a44f6edce3c2310ac21e4d5067a6e7ec396297a6ea0" +dependencies = [ + "bitflags", + "memchr", + "unicase", +] + +[[package]] +name = "pulldown-cmark-to-cmark" +version = "21.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5b6a0769a491a08b31ea5c62494a8f144ee0987d86d670a8af4df1e1b7cde75" +dependencies = [ + "pulldown-cmark", +] + [[package]] name = "quote" version = "1.0.41" @@ -2819,6 +2846,15 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_xorshift" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "513962919efc330f829edb2535844d1b912b0fbe2ca165d613e4e8788bb05a5a" +dependencies = [ + "rand_core 0.9.3", +] + [[package]] name = "rayon" version = "1.11.0" @@ -2902,7 +2938,7 @@ dependencies = [ "serde_urlencoded", "sync_wrapper", "tokio", - "tower 0.5.2", + "tower", "tower-http", "tower-service", "url", @@ -3010,15 +3046,15 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.33" +version = "0.23.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "751e04a496ca00bb97a5e043158d23d66b5aabf2e1d5aa2a0aaebb1aafe6f82c" +checksum = "6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7" dependencies = [ "aws-lc-rs", "log", "once_cell", "rustls-pki-types", - "rustls-webpki 0.103.7", + "rustls-webpki 0.103.8", "subtle", "zeroize", ] @@ -3059,9 +3095,9 @@ dependencies = [ [[package]] name = "rustls-pki-types" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" +checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" dependencies = [ "zeroize", ] @@ -3106,9 +3142,9 @@ dependencies = [ [[package]] name = "rustls-webpki" -version = "0.103.7" +version = "0.103.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf" +checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" dependencies = [ "aws-lc-rs", "ring", @@ -3281,7 +3317,7 @@ version = "0.9.34+deprecated" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" dependencies = [ - "indexmap 2.11.4", + "indexmap", "itoa", "ryu", "serde", @@ -3326,12 +3362,12 @@ checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" [[package]] name = "smol_str" -version = "0.3.2" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d" +checksum = "3498b0a27f93ef1402f20eefacfaa1691272ac4eca1cdc8c596cb0a245d6cbf5" dependencies = [ "borsh", - "serde", + "serde_core", ] [[package]] @@ -3380,9 +3416,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" -version = "2.0.106" +version = "2.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" dependencies = [ "proc-macro2", "quote", @@ -3572,9 +3608,9 @@ dependencies = [ [[package]] name = "tinystr" -version = "0.8.1" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" +checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" dependencies = [ "displaydoc", "zerovec", @@ -3657,9 +3693,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.16" +version = "0.7.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" +checksum = "2efa149fe76073d6e8fd97ef4f4eca7b67f599660115591483572e406e165594" dependencies = [ "bytes", "futures-core", @@ -3670,13 +3706,12 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "eb7613188ce9f7df5bfe185db26c5814347d110db17920415cf2fbcad85e7203" dependencies = [ - "async-stream", "async-trait", - "axum 0.7.9", + "axum", "base64 0.22.1", "bytes", "h2", @@ -3688,11 +3723,11 @@ dependencies = [ "hyper-util", "percent-encoding", "pin-project", - "prost", - "socket2 0.5.10", + "socket2 0.6.1", + "sync_wrapper", "tokio", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", @@ -3700,49 +3735,54 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "4c40aaccc9f9eccf2cd82ebc111adc13030d23e887244bc9cfa5d1d636049de3" dependencies = [ "prettyplease", "proc-macro2", - "prost-build", - "prost-types", "quote", "syn", ] [[package]] name = "tonic-health" -version = "0.12.3" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1eaf34ddb812120f5c601162d5429933c9b527d901ab0e7f930d3147e33a09b2" +checksum = "2a82868bf299e0a1d2e8dce0dc33a46c02d6f045b2c1f1d6cc8dc3d0bf1812ef" dependencies = [ - "async-stream", - "prost", + "prost 0.14.1", "tokio", "tokio-stream", "tonic", + "tonic-prost", ] [[package]] -name = "tower" -version = "0.4.13" +name = "tonic-prost" +version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" +checksum = "66bd50ad6ce1252d87ef024b3d64fe4c3cf54a86fb9ef4c631fdd0ded7aeaa67" dependencies = [ - "futures-core", - "futures-util", - "indexmap 1.9.3", - "pin-project", - "pin-project-lite", - "rand 0.8.5", - "slab", - "tokio", - "tokio-util", - "tower-layer", - "tower-service", - "tracing", + "bytes", + "prost 0.14.1", + "tonic", +] + +[[package]] +name = "tonic-prost-build" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4a16cba4043dc3ff43fcb3f96b4c5c154c64cbd18ca8dce2ab2c6a451d058a2" +dependencies = [ + "prettyplease", + "proc-macro2", + "prost-build", + "prost-types 0.14.1", + "quote", + "syn", + "tempfile", + "tonic-build", ] [[package]] @@ -3753,9 +3793,12 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", + "tokio-util", "tower-layer", "tower-service", "tracing", @@ -3774,7 +3817,7 @@ dependencies = [ "http-body", "iri-string", "pin-project-lite", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", ] @@ -3934,11 +3977,23 @@ dependencies = [ "syn", ] +[[package]] +name = "unarray" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" + +[[package]] +name = "unicase" +version = "2.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" + [[package]] name = "unicode-ident" -version = "1.0.19" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" [[package]] name = "unsafe-libyaml" @@ -4035,9 +4090,9 @@ dependencies = [ [[package]] name = "wasm-bindgen" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" +checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" dependencies = [ "cfg-if", "once_cell", @@ -4046,25 +4101,11 @@ dependencies = [ "wasm-bindgen-shared", ] -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.104" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" -dependencies = [ - "bumpalo", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - [[package]] name = "wasm-bindgen-futures" -version = "0.4.54" +version = "0.4.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" +checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" dependencies = [ "cfg-if", "js-sys", @@ -4075,9 +4116,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" +checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -4085,31 +4126,31 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" +checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" dependencies = [ + "bumpalo", "proc-macro2", "quote", "syn", - "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.104" +version = "0.2.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" +checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" dependencies = [ "unicode-ident", ] [[package]] name = "web-sys" -version = "0.3.81" +version = "0.3.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" +checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" dependencies = [ "js-sys", "wasm-bindgen", @@ -4121,14 +4162,14 @@ version = "0.26.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "521bc38abb08001b01866da9f51eb7c5d647a19260e00054a8c7fd5f9e57f7a9" dependencies = [ - "webpki-roots 1.0.3", + "webpki-roots 1.0.4", ] [[package]] name = "webpki-roots" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b130c0d2d49f8b6889abc456e795e82525204f27c42cf767cf0d7734e089b8" +checksum = "b2878ef029c47c6e8cf779119f20fcf52bde7ad42a731b2a304bc221df17571e" dependencies = [ "rustls-pki-types", ] @@ -4513,9 +4554,9 @@ checksum = "f17a85883d4e6d00e8a97c586de764dabcc06133f7f1d55dce5cdc070ad7fe59" [[package]] name = "writeable" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" +checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" [[package]] name = "x509-parser" @@ -4542,11 +4583,10 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" [[package]] name = "yoke" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" +checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" dependencies = [ - "serde", "stable_deref_trait", "yoke-derive", "zerofrom", @@ -4554,9 +4594,9 @@ dependencies = [ [[package]] name = "yoke-derive" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" +checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" dependencies = [ "proc-macro2", "quote", @@ -4613,9 +4653,9 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" [[package]] name = "zerotrie" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" +checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" dependencies = [ "displaydoc", "yoke", @@ -4624,9 +4664,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" +checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" dependencies = [ "yoke", "zerofrom", @@ -4635,11 +4675,16 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" +checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" dependencies = [ "proc-macro2", "quote", "syn", ] + +[[patch.unused]] +name = "hyper-util" +version = "0.1.15" +source = "git+https://github.com/awgn/hyper-util.git?branch=event-handler#7ad092d0f5528e0edf3830a194719235d2fa0cc3" diff --git a/Cargo.toml b/Cargo.toml index e2ac9004..61d30499 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -41,35 +41,49 @@ orion-tracing = { path = "orion-tracing" } orion-xds = { path = "orion-xds" } abort-on-drop = "0.2" -bounded-integer = "0.5.8" +bounded-integer = "0.6.1" bytes = "1" -compact_str = { version = "0.8.0", features = ["serde"] } -exponential-backoff = "1.2.0" +compact_str = { version = "0.9", features = ["serde"] } +exponential-backoff = "2.1" futures = "0.3" -http = "1.0" +http = "1.3" http-body = "1.0" -http-body-util = "0.1.0" +http-body-util = "0.1.3" num_cpus = "1" +opentelemetry = "0.31" +opentelemetry-otlp = {version = "0.31", features = [ + "tonic", + "tokio", + "grpc-tonic", + "hyper-client", + "serde", + "serde_json", + "serialize", + "http-json", +] } +opentelemetry_sdk = "0.31" ppp = "2.3" -prost = "0.13" -prost-build = "^0.13" -prost-reflect = { version = "0.14", features = ["derive", "serde"] } -regex = "1.10.2" +prost = "0.14" +prost-build = "0.14" +prost-reflect = { version = "0.16", features = ["derive", "serde"] } +regex = "1.12.2" serde = { version = "1", features = ["derive", "rc"] } serde_json = { version = "1" } serde_yaml = "0.9.34" -thiserror = "1.0.57" -tokio = { version = "1.37", features = ["full"] } -tokio-stream = { version = "0.1.15", features = ["net", "sync"] } -tonic = "^0.12" -tonic-build = "^0.12" -tonic-health = "^0.12" -tower = { version = "0.5.1", features = ["make"] } +thiserror = "2.0.17" +tokio = { version = "1.48", features = ["full"] } +tokio-stream = { version = "0.1.17", features = ["net", "sync"] } +tonic = "0.14" +tonic-build = "0.14" +tonic-prost = "0.14" +tonic-prost-build = "0.14" +tonic-health = "0.14" +tower = { version = "0.5.2", features = ["make"] } tracing = "0.1" tracing-subscriber = "0.3" tracing-test = { version = "0.2", features = ["no-env-filter"] } url = "2" -hyper-util = { version = "0.1.15", features = ["full"] } +hyper-util = { version = "0.1.17", features = ["full"] } [profile.release] diff --git a/envoy-data-plane-api/Cargo.toml b/envoy-data-plane-api/Cargo.toml index 6a7b6f4e..6bc7e0fe 100644 --- a/envoy-data-plane-api/Cargo.toml +++ b/envoy-data-plane-api/Cargo.toml @@ -13,6 +13,7 @@ serde.workspace = true serde_json.workspace = true serde_yaml.workspace = true tonic.workspace = true +tonic-prost.workspace = true tonic-health.workspace = true [build-dependencies] @@ -20,7 +21,7 @@ glob = "^0.3" prost-build.workspace = true prost-reflect.workspace = true tonic-build.workspace = true - +tonic-prost-build.workspace = true [lib] doctest = false diff --git a/envoy-data-plane-api/build.rs b/envoy-data-plane-api/build.rs index d12dedc0..e700f356 100644 --- a/envoy-data-plane-api/build.rs +++ b/envoy-data-plane-api/build.rs @@ -1,6 +1,22 @@ -use std::path::PathBuf; +// Copyright 2025 The kmesh Authors +// +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// use glob::glob; +use std::path::{Path, PathBuf}; /// std::env::set_var("PROTOC", The Path of Protoc); fn main() -> std::io::Result<()> { @@ -15,16 +31,16 @@ fn main() -> std::io::Result<()> { protos.extend(custom_protos); let include_paths = [ - "data-plane-api/", - "xds/", - "protoc-gen-validate/", - "googleapis/", - "opencensus-proto/src/", - "opentelemetry-proto/", - "prometheus-client-model/", - "cel-spec/proto", - "protobuf/src/", - "udpa/udpa/type/v1", + "./data-plane-api/", + "./xds/", + "./protoc-gen-validate/", + "./googleapis/", + "./opencensus-proto/src/", + "./opentelemetry-proto/", + "./prometheus-client-model/", + "./cel-spec/proto", + "./protobuf/src/", + "./udpa/udpa/type/v1", "../proto/", ]; @@ -52,13 +68,11 @@ fn main() -> std::io::Result<()> { .type_attribute(full_name, format!(r#"#[prost_reflect(message_name = "{}")]"#, full_name,)) .type_attribute(full_name, pool_attribute); } - + let include_paths = include_paths.into_iter().map(|p| Path::new(p).to_path_buf()).collect::>(); // Proceed w/ tonic_build - tonic_build::configure().build_server(true).build_client(true).compile_protos_with_config( + tonic_prost_build::configure().build_server(true).build_client(true).compile_with_config( config, &protos, &include_paths, - )?; - - Ok(()) + ) } diff --git a/orion-configuration/Cargo.toml b/orion-configuration/Cargo.toml index cbfddc77..7dc803f2 100644 --- a/orion-configuration/Cargo.toml +++ b/orion-configuration/Cargo.toml @@ -11,33 +11,29 @@ version.workspace = true [dependencies] base64 = "0.22.1" base64-serde = "0.7.0" -bounded-integer = { version = "0.5.8", features = ["serde", "types"] } +bounded-integer = { version = "0.6.1", features = ["serde1"] } bytes.workspace = true -clap = { version = "4.5.46", features = ["derive"] } +clap = { version = "4.5.51", features = ["derive"] } compact_str.workspace = true exponential-backoff.workspace = true http.workspace = true http-serde-ext = "1.0.2" humantime-serde = "1.1.1" -ipnet = { version = "2.9", features = ["serde"] } +ipnet = { version = "2.11", features = ["serde"] } itertools = "0.14.0" num_cpus.workspace = true num-traits = "0.2.19" -opentelemetry-otlp = { version = "0.29.0", features = [ - "serde", - "serde_json", - "serialize", -] } +opentelemetry-otlp.workspace=true orion-data-plane-api = { workspace = true, optional = true } orion-error.workspace = true orion-format.workspace = true orion-interner.workspace = true -prost = "0.13.0" -prost-types = "0.13.0" +prost = "0.13.5" +prost-types = "0.13.5" regex.workspace = true serde = { workspace = true, features = ["rc"] } serde_json.workspace = true -serde_path_to_error = "0.1.16" +serde_path_to_error = "0.1.20" serde_regex = "1.1.0" serde_yaml.workspace = true thiserror.workspace = true @@ -49,7 +45,7 @@ url.workspace = true [dev-dependencies] tracing-test.workspace = true -tempfile = "3.8" +tempfile = "3.23" [features] default = ["envoy-conversions"] diff --git a/orion-data-plane-api/tests/bootstrap.rs b/orion-data-plane-api/tests/bootstrap.rs index 39e14786..6d59e3c0 100644 --- a/orion-data-plane-api/tests/bootstrap.rs +++ b/orion-data-plane-api/tests/bootstrap.rs @@ -67,6 +67,7 @@ fn read_static_resource() { } #[test] +#[allow(deprecated)] fn read_dynamic_resource() { let mut path = PathBuf::from(env!("CARGO_MANIFEST_DIR")); path.push("tests"); @@ -92,6 +93,7 @@ fn read_dynamic_resource() { } #[test] +#[allow(deprecated)] fn read_ads_config() { const ADS_BOOTSTRAP: &str = r#" dynamic_resources: @@ -158,6 +160,7 @@ static_resources: } #[test] +#[allow(deprecated)] fn read_mixture_config() { const BOOTSTRAP: &str = r#" dynamic_resources: diff --git a/orion-format/Cargo.toml b/orion-format/Cargo.toml index 47342e0f..1388c4eb 100644 --- a/orion-format/Cargo.toml +++ b/orion-format/Cargo.toml @@ -14,10 +14,10 @@ orion-http-header.workspace = true orion-interner.workspace = true thiserror.workspace = true -ahash = "0.8.11" -bitflags = { version = "2.9.0", features = ["serde"] } -chrono = "0.4.40" -compact_str = "0.8.0" +ahash = "0.8.12" +bitflags = { version = "2.10.0", features = ["serde"] } +chrono = "0.4.42" +compact_str = "0.8.1" criterion = "0.5.1" dhat = "0.3.3" http-serde-ext = "1.0.2" @@ -26,9 +26,9 @@ itoa = "1.0.15" ptrie = "0.7.2" serde = { workspace = true, features = ["rc"] } smol_str = { version = "0.3.2", features = ["serde"] } -thread_local = "1.1.8" +thread_local = "1.1.9" traceparent = "0.0.3" -uuid = { version = "1.16.0", features = ["v4"] } +uuid = { version = "1.18.1", features = ["v4"] } [features] dhat-heap = [] diff --git a/orion-lib/Cargo.toml b/orion-lib/Cargo.toml index 247fa9d8..f58815b0 100644 --- a/orion-lib/Cargo.toml +++ b/orion-lib/Cargo.toml @@ -7,30 +7,30 @@ version.workspace = true [dependencies] abort-on-drop.workspace = true -ahash = "0.8.11" +ahash = "0.8.12" arc-swap = "1.7.1" arrayvec = "0.7.6" async-stream = "0.3" -atomic-time = "0.1.4" +atomic-time = "0.1.5" bytes.workspace = true compact_str.workspace = true enum_dispatch = "0.3.13" exponential-backoff.workspace = true futures.workspace = true futures-util = { version = "0.3", default-features = false } -h2 = "0.4.5" +h2 = "0.4.12" hickory-resolver = { version = "0.24", features = ["system-config"] } http.workspace = true http-body.workspace = true http-body-util.workspace = true hyper = { version = "1", features = ["full"] } -hyper-rustls = { version = "0.27.1", features = ["default", "http2"] } +hyper-rustls = { version = "0.27.7", features = ["default", "http2"] } if-addrs = "0.14" -ipnet = "2.9" +ipnet = "2.11" lru_time_cache = "0.11.11" -multimap = "0.10.0" -once_cell = { version = "1.19" } -opentelemetry = "0.29.0" +multimap = "0.10.1" +once_cell = { version = "1.21" } +opentelemetry.workspace = true hyper-util.workspace = true orion-configuration.workspace = true orion-data-plane-api.workspace = true @@ -41,9 +41,9 @@ orion-interner.workspace = true orion-metrics.workspace = true orion-tracing.workspace = true orion-xds.workspace = true -parking_lot = "0.12.3" +parking_lot = "0.12.5" bounded-integer.workspace = true -pin-project = "1.1.5" +pin-project = "1.1.10" pingora-timeout = "0.3.0" ppp.workspace = true pretty-duration = "0.1.1" @@ -51,7 +51,7 @@ rand = { version = "0.8.5", features = ["small_rng"] } regex.workspace = true rustc-hash = "1.1.0" rustls = "0.23" -rustls-pemfile = "2.1" +rustls-pemfile = "2.2" rustls-platform-verifier = { version = "0.3" } rustls-webpki = "0.102" scopeguard = "1.2.0" @@ -60,19 +60,19 @@ serde.workspace = true smol_str = "0.3.2" thiserror.workspace = true thread-id = "5.0.0" -thread_local = "1.1.8" +thread_local = "1.1.9" tokio.workspace = true tokio-rustls = "0.26" tokio-stream.workspace = true tower.workspace = true -tower-service = "0.3.2" +tower-service = "0.3.3" traceparent = "0.0.3" tracing.workspace = true tracing-appender = "0.2.3" twox-hash = "1.6.3" typed-builder = "0.18.2" url.workspace = true -uuid = { version = "1.17.0", features = ["v4"] } +uuid = { version = "1.18.1", features = ["v4"] } x509-parser = { version = "0.17", features = ["default"] } hyperlocal = "0.9.1" tokio-util = "0.7.16" diff --git a/orion-lib/src/clusters/cluster/dynamic.rs b/orion-lib/src/clusters/cluster/dynamic.rs index c8d7e87a..9113e4e8 100644 --- a/orion-lib/src/clusters/cluster/dynamic.rs +++ b/orion-lib/src/clusters/cluster/dynamic.rs @@ -22,7 +22,6 @@ use orion_configuration::config::{ ClusterLoadAssignment as ClusterLoadAssignmentConfig, HealthCheck, HealthStatus, LbEndpoint as LbEndpointConfig, LbPolicy, LocalityLbEndpoints as LocalityLbEndpointsConfig, }, - core::envoy_conversions::Address, transport::BindDeviceOptions, }; diff --git a/orion-lib/src/listeners/listener.rs b/orion-lib/src/listeners/listener.rs index 0f050fd2..12148d6c 100644 --- a/orion-lib/src/listeners/listener.rs +++ b/orion-lib/src/listeners/listener.rs @@ -72,6 +72,7 @@ enum ListenerAddress { Internal(InternalListenerConfig), } +#[allow(dead_code)] #[derive(Debug, Clone)] struct InternalListenerConfig { buffer_size_kb: Option, diff --git a/orion-lib/src/transport/grpc_channel.rs b/orion-lib/src/transport/grpc_channel.rs index a959130c..dbf3e9f1 100644 --- a/orion-lib/src/transport/grpc_channel.rs +++ b/orion-lib/src/transport/grpc_channel.rs @@ -22,7 +22,7 @@ use http::{ }; use std::{iter::Cycle, sync::Arc, vec::IntoIter}; -use orion_xds::grpc_deps::{to_grpc_body, GrpcBody}; +use orion_xds::grpc_deps::GrpcBody; use tower::Service; use crate::{ @@ -70,7 +70,10 @@ impl GrpcService { let svc_resp = self.inner.to_response(&Arc::new(TransactionHandler::default()), RequestExt::new(http_req)).await?; - Ok(svc_resp.map(to_grpc_body)) + let (header, body) = svc_resp.into_parts(); + let body = GrpcBody::new(body); + let svc_resp = http::Response::from_parts(header, body); + Ok(svc_resp) } } diff --git a/orion-lib/src/transport/http_channel.rs b/orion-lib/src/transport/http_channel.rs index 98bb9de6..6bb2a029 100644 --- a/orion-lib/src/transport/http_channel.rs +++ b/orion-lib/src/transport/http_channel.rs @@ -70,8 +70,10 @@ use webpki::types::ServerName; #[cfg(feature = "metrics")] use { - hyper_util::client::legacy::pool::{ConnectionEvent, EventHandler, Tag}, - hyper_util::client::legacy::PoolKey, + hyper_util::client::legacy::{ + pool::{ConnectionEvent, EventHandler, Tag}, + PoolKey, + }, std::any::Any, }; const DEFAULT_IDLE_TIMEOUT: Duration = Duration::from_secs(30); @@ -510,6 +512,7 @@ impl HttpChannel { let mut total_requests = 0; for (index, back_off) in retry_policy.exponential_back_off().iter().enumerate() { + let back_off = back_off.unwrap_or(Duration::from_secs(1)); total_requests += 1; let cloned_body = BodyWithMetrics { inner: body.clone().into(), guard: guard.clone(), state: state.clone() }; diff --git a/orion-metrics/Cargo.toml b/orion-metrics/Cargo.toml index 1c36a549..6c616fa0 100644 --- a/orion-metrics/Cargo.toml +++ b/orion-metrics/Cargo.toml @@ -10,28 +10,19 @@ jemalloc = ["dep:tikv-jemalloc-ctl"] metrics = [] [dependencies] -ahash = "0.8.11" +ahash = "0.8.12" dashmap = "6.1.0" http.workspace = true memory-stats = "1.2.0" nohash = "0.2.0" -opentelemetry = "0.29.0" -opentelemetry-otlp = { version = "0.29.0", features = [ - "grpc-tonic", - "http-json", - "hyper-client", - "serde", - "serde_json", - "serialize", - "tokio", - "tonic", -] } -opentelemetry_sdk = "0.29.0" +opentelemetry.workspace = true +opentelemetry-otlp.workspace =true +opentelemetry_sdk.workspace = true orion-configuration.workspace = true orion-interner.workspace = true -parking_lot = "0.12.3" +parking_lot = "0.12.5" serde.workspace = true thread-id = "5.0.0" -tikv-jemalloc-ctl = { version = "0.6.0", optional = true, features = ["stats"] } +tikv-jemalloc-ctl = { version = "0.6.1", optional = true, features = ["stats"] } tracing.workspace = true tracing-subscriber.workspace = true diff --git a/orion-proxy/Cargo.toml b/orion-proxy/Cargo.toml index 0c21b055..bf8e165c 100644 --- a/orion-proxy/Cargo.toml +++ b/orion-proxy/Cargo.toml @@ -31,21 +31,21 @@ orion-lib.workspace = true orion-metrics.workspace = true orion-tracing.workspace = true orion-xds.workspace = true -parking_lot = "0.12.3" +parking_lot = "0.12.5" tokio.workspace = true tower.workspace = true tracing.workspace = true pingora-timeout = "0.3.0" -axum = "0.8.1" +axum = "0.8.6" compact_str.workspace = true http.workspace = true -opentelemetry = "0.29.0" +opentelemetry.workspace = true prometheus = { version = "0.14.0", features = ["process"] } -regex = "1.10.2" +regex = "1.12.2" serde = { version = "1.0", features = ["rc"] } -serde_json = "1.0.140" +serde_json = "1.0.145" thiserror.workspace = true tracing-appender = "0.2" tracing-subscriber = { workspace = true, features = [ @@ -65,7 +65,7 @@ caps = "0.5" affinity = "0.1.2" [dev-dependencies] -axum-test = "17.2.0" +axum-test = "17.3.0" orion-data-plane-api.workspace = true tracing-test.workspace = true diff --git a/orion-tracing/Cargo.toml b/orion-tracing/Cargo.toml index d76bdee5..97022ae1 100644 --- a/orion-tracing/Cargo.toml +++ b/orion-tracing/Cargo.toml @@ -19,25 +19,14 @@ serde.workspace = true compact_str.workspace = true thiserror.workspace = true http.workspace = true - -opentelemetry = "0.29.0" -opentelemetry-otlp = { version = "0.29.0", features = [ - "tonic", - "tokio", - "grpc-tonic", - "hyper-client", - "serde", - "serde_json", - "serialize", - "http-json", -] } - -opentelemetry_sdk = "0.29.0" -parking_lot = "0.12.3" +opentelemetry.workspace = true +opentelemetry-otlp.workspace = true +opentelemetry_sdk.workspace =true +parking_lot = "0.12.5" thread-id = "5.0.0" arc-swap = "1.7.1" -smol_str = "0.3.2" -uuid = { version = "1.18.0", features = ["v4"] } +smol_str = "0.3.4" +uuid = { version = "1.18.1", features = ["v4"] } rand = "0.9.2" arrayvec = "0.7.6" traceparent = "0.0.3" diff --git a/orion-xds/Cargo.toml b/orion-xds/Cargo.toml index 8f3ea45a..754e8b84 100644 --- a/orion-xds/Cargo.toml +++ b/orion-xds/Cargo.toml @@ -22,9 +22,9 @@ tracing.workspace = true async-stream = "0.3" atomic-take = "1.1.0" -thiserror = "2.0.11" +thiserror = "2.0.17" tokio-stream.workspace = true -uuid = { version = "1.7.0", features = ["v4"] } +uuid = { version = "1.18.1", features = ["v4"] } [dev-dependencies] orion-data-plane-api.workspace = true diff --git a/orion-xds/src/lib.rs b/orion-xds/src/lib.rs index df3bcc4b..aed73827 100644 --- a/orion-xds/src/lib.rs +++ b/orion-xds/src/lib.rs @@ -28,7 +28,7 @@ use orion_data_plane_api::envoy_data_plane_api::{ envoy::service::discovery::v3::aggregated_discovery_service_client::AggregatedDiscoveryServiceClient, tonic, }; use tonic::{ - body::BoxBody, + body::Body, codegen::StdError as TonicError, transport::{Channel, Endpoint}, }; @@ -38,11 +38,7 @@ use xds::client::{DeltaClientBackgroundWorker, DeltaDiscoverySubscriptionManager pub mod grpc_deps { pub use orion_data_plane_api::envoy_data_plane_api::{ - tonic::{ - body::{boxed as to_grpc_body, BoxBody as GrpcBody}, - codegen::StdError as Error, - Response, Status, - }, + tonic::{body::Body as GrpcBody, codegen::StdError as Error, Response, Status}, tonic_health, }; } @@ -83,7 +79,7 @@ pub fn start_aggregate_client_no_retry_loop( XdsError, > where - C: Service, Response = Response, Error = TonicError> + Send, + C: Service, Response = Response, Error = TonicError> + Send, C::Future: Send, { let underlying_client = diff --git a/orion-xds/src/xds/bindings.rs b/orion-xds/src/xds/bindings.rs index eb40c692..9f4fc741 100644 --- a/orion-xds/src/xds/bindings.rs +++ b/orion-xds/src/xds/bindings.rs @@ -84,7 +84,7 @@ pub struct AggregatedDiscoveryType { impl TypedXdsBinding for AggregatedDiscoveryType where - C: tower::Service, Response = http::Response> + Send, + C: tower::Service, Response = http::Response> + Send, C::Error: Into, C::Future: Send, { diff --git a/tools/hyper_unix_listener/Cargo.toml b/tools/hyper_unix_listener/Cargo.toml index ebeb78d4..ab6cd89a 100644 --- a/tools/hyper_unix_listener/Cargo.toml +++ b/tools/hyper_unix_listener/Cargo.toml @@ -9,7 +9,7 @@ version.workspace = true [dependencies] tokio.workspace = true hyper = { version = "1", features = ["full"] } -clap = { version = "4.5.46", features = ["derive"] } +clap = { version = "4.5.51", features = ["derive"] } hyperlocal = "0.9.1"