From 744e29e0bd6074ce3ca1995aee47b881d57726d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 10:59:35 -0400 Subject: [PATCH 01/38] build(deps): bump rangemap from 1.5.1 to 1.6.0 (#4028) Bumps [rangemap](https://github.com/jeffparsons/rangemap) from 1.5.1 to 1.6.0. - [Changelog](https://github.com/jeffparsons/rangemap/blob/main/CHANGELOG.md) - [Commits](https://github.com/jeffparsons/rangemap/commits) --- updated-dependencies: - dependency-name: rangemap dependency-version: 1.6.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9addc96a2..ba165bf71 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1430,7 +1430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -3580,9 +3580,9 @@ dependencies = [ [[package]] name = "rangemap" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f60fcc7d6849342eff22c4350c8b9a989ee8ceabc4b481253e8946b9fe83d684" +checksum = "f93e7e49bb0bf967717f7bd674458b3d6b0c5f48ec7e3038166026a69fc22223" [[package]] name = "rcgen" From 1d94082d4bafa6880c823d7128cd7fe8ea91ad39 Mon Sep 17 00:00:00 2001 From: katelyn martin Date: Tue, 29 Jul 2025 14:14:11 -0400 Subject: [PATCH 02/38] chore(deps): downgrade deranged from 0.4.1 to 0.4.0 (#4031) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - https://crates.io/crates/deranged/versions - https://crates.io/crates/deranged/0.4.1 this version has been yanked. this commit addresses this cargo deny warning: ``` warning[yanked]: detected yanked crate (try `cargo update -p deranged`) ┌─ /home/katie/linkerd/linkerd2-proxy/Cargo.lock:41:1 │ 41 │ deranged 0.4.1 registry+https://github.com/rust-lang/crates.io-index │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ yanked version │ ``` Signed-off-by: katelyn martin --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ba165bf71..5c765d27f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -531,9 +531,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.4.1" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28cfac68e08048ae1883171632c2aef3ebc555621ae56fbccce1cbf22dd7f058" +checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e" dependencies = [ "powerfmt", ] From db0ed469780116acf50921adba2daa30b6924918 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 31 Jul 2025 05:53:48 -0700 Subject: [PATCH 03/38] build(deps): bump rustls from 0.23.29 to 0.23.31 in the rustls group (#4034) Bumps the rustls group with 1 update: [rustls](https://github.com/rustls/rustls). Updates `rustls` from 0.23.29 to 0.23.31 - [Release notes](https://github.com/rustls/rustls/releases) - [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md) - [Commits](https://github.com/rustls/rustls/compare/v/0.23.29...v/0.23.31) --- updated-dependencies: - dependency-name: rustls dependency-version: 0.23.31 dependency-type: indirect update-type: version-update:semver-patch dependency-group: rustls ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5c765d27f..a0e17876a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1430,7 +1430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -3734,9 +3734,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.29" +version = "0.23.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2491382039b29b9b11ff08b76ff6c97cf287671dbb74f0be44bda389fffe9bd1" +checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc" dependencies = [ "aws-lc-rs", "log", From 8d56746c1f2a8b80478b28ed17333f7ae2408bdc Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Fri, 1 Aug 2025 13:26:12 -0400 Subject: [PATCH 04/38] feat!(ci): Remove arm/v7 support (#4037) This architecture has become too significant of a maintenance burden, and isn't used often enough to justify the associated maintenance cost. This removes arm/v7 from all the build infrastructure/dockerfiles/etc. Note that arm64 targets are still widely used and well supported. Related: https://github.com/linkerd/linkerd2/pull/14308 Signed-off-by: Scott Fleener --- .github/workflows/release.yml | 4 +--- deny.toml | 1 - justfile | 6 ++---- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7186612a..49c061318 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -79,7 +79,7 @@ jobs: exit 1 fi ( echo version="${VERSION#v}" - echo archs='["amd64", "arm64", "arm"]' + echo archs='["amd64", "arm64"]' echo oses='["linux", "windows"]' ) >> "$GITHUB_OUTPUT" @@ -135,8 +135,6 @@ jobs: exclude: - os: windows arch: arm64 - - os: windows - arch: arm # If we're not actually building on a release tag, don't short-circuit on # errors. This helps us know whether a failure is platform-specific. diff --git a/deny.toml b/deny.toml index 794ae7996..df91404ec 100644 --- a/deny.toml +++ b/deny.toml @@ -2,7 +2,6 @@ targets = [ { triple = "x86_64-unknown-linux-gnu" }, { triple = "aarch64-unknown-linux-gnu" }, - { triple = "armv7-unknown-linux-gnu" }, ] [advisories] diff --git a/justfile b/justfile index c42b65fd7..1781b2443 100644 --- a/justfile +++ b/justfile @@ -26,7 +26,7 @@ docker-repo := "localhost/linkerd/proxy" docker-tag := `git rev-parse --abbrev-ref HEAD | sed 's|/|.|g'` + "." + `git rev-parse --short HEAD` docker-image := docker-repo + ":" + docker-tag -# The architecture name to use for packages. Either 'amd64', 'arm64', or 'arm'. +# The architecture name to use for packages. Either 'amd64' or 'arm64'. arch := "amd64" # The OS name to use for packages. Either 'linux' or 'windows'. os := "linux" @@ -39,8 +39,6 @@ _target := if os + '-' + arch == "linux-amd64" { "x86_64-unknown-linux-" + libc } else if os + '-' + arch == "linux-arm64" { "aarch64-unknown-linux-" + libc - } else if os + '-' + arch == "linux-arm" { - "armv7-unknown-linux-" + libc + "eabihf" } else if os + '-' + arch == "windows-amd64" { "x86_64-pc-windows-" + libc } else { @@ -139,7 +137,7 @@ _strip: _package_bin := _package_dir / "bin" / "linkerd2-proxy" -# XXX {aarch64,arm}-musl builds do not enable PIE, so we use target-specific +# XXX aarch64-musl builds do not enable PIE, so we use target-specific # files to document those differences. _expected_checksec := '.checksec' / arch + '-' + libc + '.json' From ddc847ccc4151c7ff7cb2eaefaf1f1300ee1591d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 11:23:49 -0700 Subject: [PATCH 05/38] build(deps): bump serde_json from 1.0.141 to 1.0.142 (#4036) Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.141 to 1.0.142. - [Release notes](https://github.com/serde-rs/json/releases) - [Commits](https://github.com/serde-rs/json/compare/v1.0.141...v1.0.142) --- updated-dependencies: - dependency-name: serde_json dependency-version: 1.0.142 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a0e17876a..d7774c223 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1430,7 +1430,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -3830,9 +3830,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.141" +version = "1.0.142" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3" +checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7" dependencies = [ "itoa", "memchr", From 09333dc2b2db45f4c6f88f71a7e4d798ee885ea0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 1 Aug 2025 18:28:55 +0000 Subject: [PATCH 06/38] build(deps): bump the symbolic group with 2 updates (#4035) Bumps the symbolic group with 2 updates: [symbolic-common](https://github.com/getsentry/symbolic) and [symbolic-demangle](https://github.com/getsentry/symbolic). Updates `symbolic-common` from 12.16.0 to 12.16.1 - [Release notes](https://github.com/getsentry/symbolic/releases) - [Changelog](https://github.com/getsentry/symbolic/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/symbolic/compare/12.16.0...12.16.1) Updates `symbolic-demangle` from 12.16.0 to 12.16.1 - [Release notes](https://github.com/getsentry/symbolic/releases) - [Changelog](https://github.com/getsentry/symbolic/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/symbolic/compare/12.16.0...12.16.1) --- updated-dependencies: - dependency-name: symbolic-common dependency-version: 12.16.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: symbolic - dependency-name: symbolic-demangle dependency-version: 12.16.1 dependency-type: indirect update-type: version-update:semver-patch dependency-group: symbolic ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Oliver Gould --- Cargo.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d7774c223..2b4873328 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3952,9 +3952,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "symbolic-common" -version = "12.16.0" +version = "12.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c5199e46f23c77c611aa2a383b2f72721dfee4fb2bf85979eea1e0f26ba6e35" +checksum = "70f4d06896c59fabe3fe36d7bc003c975f0a0af67d380e14a95eaebffe4f8de5" dependencies = [ "debugid", "memmap2", @@ -3964,9 +3964,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "12.16.0" +version = "12.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa3c03956e32254f74e461a330b9522a2689686d80481708fb2014780d8d3959" +checksum = "bd3903bafe2ed4c3512ff4c6eb77cc22b6f43662f3b9f7e3fe4f152927f54ec8" dependencies = [ "cpp_demangle", "rustc-demangle", From 842452368ce6b2ba51ae464e20eb88e182b07fb9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 11:07:17 -0400 Subject: [PATCH 07/38] build(deps): bump rustc-demangle from 0.1.25 to 0.1.26 (#4026) Bumps [rustc-demangle](https://github.com/rust-lang/rustc-demangle) from 0.1.25 to 0.1.26. - [Release notes](https://github.com/rust-lang/rustc-demangle/releases) - [Changelog](https://github.com/rust-lang/rustc-demangle/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/rustc-demangle/commits/rustc-demangle-v0.1.26) --- updated-dependencies: - dependency-name: rustc-demangle dependency-version: 0.1.26 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b4873328..a38b677b4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3672,9 +3672,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "989e6739f80c4ad5b13e0fd7fe89531180375b18520cc8c82080e4dc4035b84f" +checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" [[package]] name = "rustc-hash" From 9eaf1425a759bd2aecece0503a3d77a7fbf64f4a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 08:08:41 -0700 Subject: [PATCH 08/38] build(deps): bump signal-hook-registry from 1.4.5 to 1.4.6 (#4039) Bumps [signal-hook-registry](https://github.com/vorner/signal-hook) from 1.4.5 to 1.4.6. - [Changelog](https://github.com/vorner/signal-hook/blob/master/CHANGELOG.md) - [Commits](https://github.com/vorner/signal-hook/compare/registry-v1.4.5...registry-v1.4.6) --- updated-dependencies: - dependency-name: signal-hook-registry dependency-version: 1.4.6 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a38b677b4..fd18dc9dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3868,9 +3868,9 @@ checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signal-hook-registry" -version = "1.4.5" +version = "1.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9203b8055f63a2a00e2f593bb0510367fe707d7ff1e5c872de2f537b339e5410" +checksum = "b2a4719bff48cee6b39d12c020eeb490953ad2443b7055bd0b21fca26bd8c28b" dependencies = [ "libc", ] From 40078c96cafe3c0050859c1c1030b6cd832f52b4 Mon Sep 17 00:00:00 2001 From: katelyn martin Date: Mon, 4 Aug 2025 12:04:02 -0400 Subject: [PATCH 09/38] chore(deps): update from tokio 1.45 to 1.47 (#4032) * build(deps): bump tokio from 1.45.0 to 1.47.0 Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.45.0 to 1.47.0. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.45.0...tokio-1.47.0) --- updated-dependencies: - dependency-name: tokio dependency-version: 1.47.0 dependency-type: direct:production update-type: version-update:semver-minor ... --- chore(deny): ignore socket2@v0.5 there is now a v0.6 used by the latest tokio. while we wait for this new version to propagate through the ecosystem, allow for two socket2 dependencies. Signed-off-by: katelyn martin * chore(app/integration): remove inbound_io_err test > @cratelyn I think it would be appropriate to remove these tests, given > that they can no longer behave properly. I don't think that this test > case is particularly meaningful or load bearing, it's best just to > unblock the dependency updates. \- Co-authored-by: Oliver Gould Signed-off-by: katelyn martin * chore(app/integration): remove inbound_multi test this test exercises the same thing that the previous two tests do, as the comment at the top of it points out. this test is redundant, and we have removed the i/o error coverage that this was redunant with. let's remove it. Signed-off-by: katelyn martin --------- Signed-off-by: katelyn martin Co-authored-by: Oliver Gould --- Cargo.lock | 41 ++++++++++--- deny.toml | 2 + .../src/tests/telemetry/tcp_errors.rs | 58 ------------------- 3 files changed, 34 insertions(+), 67 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index fd18dc9dd..b96cc1541 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1146,7 +1146,7 @@ dependencies = [ "hyper", "libc", "pin-project-lite", - "socket2", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -1279,13 +1279,24 @@ dependencies = [ "hashbrown 0.15.2", ] +[[package]] +name = "io-uring" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93587f37623a1a17d94ef2bc9ada592f5465fe7732084ab7beefabe5c77c0c4" +dependencies = [ + "bitflags 2.4.2", + "cfg-if", + "libc", +] + [[package]] name = "ipconfig" version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.10", "widestring", "windows-sys 0.48.0", "winreg", @@ -1649,7 +1660,7 @@ dependencies = [ "regex", "rustls-pemfile", "serde_json", - "socket2", + "socket2 0.5.10", "tokio", "tokio-rustls", "tokio-stream", @@ -2572,7 +2583,7 @@ dependencies = [ "linkerd-error", "linkerd-io", "linkerd-stack", - "socket2", + "socket2 0.5.10", "thiserror 2.0.12", "tokio", "tokio-stream", @@ -3909,6 +3920,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "spiffe-proto" version = "0.1.0" @@ -4157,20 +4178,22 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.45.0" +version = "1.47.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2513ca694ef9ede0fb23fe71a4ee4107cb102b9dc1930f6d0fd77aae068ae165" +checksum = "43864ed400b6043a4757a25c7a64a8efde741aed79a056a2fb348a406701bb35" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "parking_lot", "pin-project-lite", "signal-hook-registry", - "socket2", + "slab", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4276,7 +4299,7 @@ dependencies = [ "percent-encoding", "pin-project", "prost 0.13.5", - "socket2", + "socket2 0.5.10", "tokio", "tokio-stream", "tower 0.4.13", diff --git a/deny.toml b/deny.toml index df91404ec..315c49ee4 100644 --- a/deny.toml +++ b/deny.toml @@ -75,6 +75,8 @@ skip-tree = [ { name = "pprof" }, # aws-lc-rs uses a slightly outdated version of bindgen { name = "bindgen", version = "0.69.5" }, + # socket v0.6 is still propagating through the ecosystem + { name = "socket2", version = "0.5" }, ] [sources] diff --git a/linkerd/app/integration/src/tests/telemetry/tcp_errors.rs b/linkerd/app/integration/src/tests/telemetry/tcp_errors.rs index 1e5c675be..e8e13d6b7 100644 --- a/linkerd/app/integration/src/tests/telemetry/tcp_errors.rs +++ b/linkerd/app/integration/src/tests/telemetry/tcp_errors.rs @@ -124,26 +124,6 @@ async fn inbound_timeout() { .await; } -/// Tests that the detect metric is labeled and incremented on I/O error. -#[tokio::test] -async fn inbound_io_err() { - let _trace = trace_init(); - - let (proxy, metrics) = Test::default().run().await; - let client = crate::tcp::client(proxy.inbound); - - let tcp_client = client.connect().await; - - tcp_client.write(TcpFixture::HELLO_MSG).await; - drop(tcp_client); - - metric(&proxy) - .label("error", "i/o") - .value(1u64) - .assert_in(&metrics) - .await; -} - /// Tests that the detect metric is not incremented when TLS is successfully /// detected. #[tokio::test] @@ -189,44 +169,6 @@ async fn inbound_success() { metric.assert_in(&metrics).await; } -/// Tests both of the above cases together. -#[tokio::test] -async fn inbound_multi() { - let _trace = trace_init(); - - let (proxy, metrics) = Test::default().run().await; - let client = crate::tcp::client(proxy.inbound); - - let metric = metric(&proxy); - let timeout_metric = metric.clone().label("error", "tls detection timeout"); - let io_metric = metric.label("error", "i/o"); - - let tcp_client = client.connect().await; - - tokio::time::sleep(TIMEOUT + Duration::from_millis(15)) // just in case - .await; - - timeout_metric.clone().value(1u64).assert_in(&metrics).await; - drop(tcp_client); - - let tcp_client = client.connect().await; - - tcp_client.write(TcpFixture::HELLO_MSG).await; - drop(tcp_client); - - io_metric.clone().value(1u64).assert_in(&metrics).await; - timeout_metric.clone().value(1u64).assert_in(&metrics).await; - - let tcp_client = client.connect().await; - - tokio::time::sleep(TIMEOUT + Duration::from_millis(15)) // just in case - .await; - - io_metric.clone().value(1u64).assert_in(&metrics).await; - timeout_metric.clone().value(2u64).assert_in(&metrics).await; - drop(tcp_client); -} - /// Tests that TLS detect failure metrics are collected for the direct stack. #[tokio::test] async fn inbound_direct_multi() { From 1b837b7f9196a7698ddb79d74d4e35972f20df83 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 14:59:00 -0700 Subject: [PATCH 10/38] build(deps): bump tokio-util from 0.7.15 to 0.7.16 (#4041) Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.15 to 0.7.16. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.15...tokio-util-0.7.16) --- updated-dependencies: - dependency-name: tokio-util dependency-version: 0.7.16 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b96cc1541..57a7c2049 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4267,9 +4267,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.15" +version = "0.7.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a539a9ad6d5d281510d5bd368c973d636c02dbf8a67300bfb6b950696ad7df" +checksum = "14307c986784f72ef81c89db7d9e28d6ac26d16213b109ea501696195e6e3ce5" dependencies = [ "bytes", "futures-core", From 0df8cdbedb85386caf2cc651d1da172bf23fd002 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 4 Aug 2025 14:59:55 -0700 Subject: [PATCH 11/38] build(deps): bump cc from 1.2.30 to 1.2.31 (#4042) Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.30 to 1.2.31. - [Release notes](https://github.com/rust-lang/cc-rs/releases) - [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.30...cc-v1.2.31) --- updated-dependencies: - dependency-name: cc dependency-version: 1.2.31 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 57a7c2049..07821a8c1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -379,9 +379,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.2.30" +version = "1.2.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7" +checksum = "c3a42d84bb6b69d3a8b3eaacf0d88f179e1929695e1ad012b6cf64d9caaa5fd2" dependencies = [ "jobserver", "libc", From 168c4bff7d442176d6f297015d8bc74597c02ef0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 09:44:53 -0400 Subject: [PATCH 12/38] build(deps): bump tokio from 1.45.0 to 1.47.1 (#4040) Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.45.0 to 1.47.1. - [Release notes](https://github.com/tokio-rs/tokio/releases) - [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.45.0...tokio-1.47.1) --- updated-dependencies: - dependency-name: tokio dependency-version: 1.47.1 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 07821a8c1..c44e6a1bd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1146,7 +1146,7 @@ dependencies = [ "hyper", "libc", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.0", "tokio", "tower-service", "tracing", @@ -4178,9 +4178,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.0" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43864ed400b6043a4757a25c7a64a8efde741aed79a056a2fb348a406701bb35" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", From 4f563fab68b18cb5a16b303a403f1118dd76179b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 07:50:44 -0700 Subject: [PATCH 13/38] build(deps): bump tokio-metrics from 0.4.2 to 0.4.3 (#3995) Bumps [tokio-metrics](https://github.com/tokio-rs/tokio-metrics) from 0.4.2 to 0.4.3. - [Release notes](https://github.com/tokio-rs/tokio-metrics/releases) - [Changelog](https://github.com/tokio-rs/tokio-metrics/blob/main/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/tokio-metrics/compare/v0.4.2...v0.4.3) --- updated-dependencies: - dependency-name: tokio-metrics dependency-version: 0.4.3 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c44e6a1bd..c4a447412 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -644,7 +644,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1335,7 +1335,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -1441,7 +1441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -3727,7 +3727,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -3740,7 +3740,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.2", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -4038,7 +4038,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix 1.0.2", - "windows-sys 0.59.0", + "windows-sys 0.52.0", ] [[package]] @@ -4220,9 +4220,9 @@ dependencies = [ [[package]] name = "tokio-metrics" -version = "0.4.2" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7817b32d36c9b94744d7aa3f8fc13526aa0f5112009d7045f3c659413a6e44ac" +checksum = "23ff82f660c98e4ff60da5eb8fa864a4130f34b56d92d5cd23d6fdfcc14e95fa" dependencies = [ "futures-util", "pin-project-lite", From 01e7ec0820ad8d1d8556a0b4d5ca1d54a14b90f7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 13:00:54 -0700 Subject: [PATCH 14/38] build(deps): bump zerovec from 0.11.2 to 0.11.3 (#4044) Bumps [zerovec](https://github.com/unicode-org/icu4x) from 0.11.2 to 0.11.3. - [Release notes](https://github.com/unicode-org/icu4x/releases) - [Changelog](https://github.com/unicode-org/icu4x/blob/main/CHANGELOG.md) - [Commits](https://github.com/unicode-org/icu4x/commits/ind/zerovec@0.11.3) --- updated-dependencies: - dependency-name: zerovec dependency-version: 0.11.3 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c4a447412..7bf354d3f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5064,9 +5064,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a05eb080e015ba39cc9e23bbe5e7fb04d5fb040350f99f34e338d5fdd294428" +checksum = "bdbb9122ea75b11bf96e7492afb723e8a7fbe12c67417aa95e7e3d18144d37cd" dependencies = [ "yoke", "zerofrom", From 894d3506dff8759ae19287e220eed40af4b0f2c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 13:09:56 -0700 Subject: [PATCH 15/38] build(deps): bump socket2 from 0.5.10 to 0.6.0 (#4003) * build(deps): bump socket2 from 0.5.10 to 0.6.0 Bumps [socket2](https://github.com/rust-lang/socket2) from 0.5.10 to 0.6.0. - [Release notes](https://github.com/rust-lang/socket2/releases) - [Changelog](https://github.com/rust-lang/socket2/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/socket2/commits) --- updated-dependencies: - dependency-name: socket2 dependency-version: 0.6.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore(proxy/transport): use `original_dst_v*` methods these have been renamed. Signed-off-by: katelyn martin --------- Signed-off-by: dependabot[bot] Signed-off-by: katelyn martin Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: katelyn martin --- Cargo.lock | 4 ++-- linkerd/app/integration/Cargo.toml | 2 +- linkerd/proxy/transport/Cargo.toml | 2 +- linkerd/proxy/transport/src/orig_dst.rs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7bf354d3f..00031ed86 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1660,7 +1660,7 @@ dependencies = [ "regex", "rustls-pemfile", "serde_json", - "socket2 0.5.10", + "socket2 0.6.0", "tokio", "tokio-rustls", "tokio-stream", @@ -2583,7 +2583,7 @@ dependencies = [ "linkerd-error", "linkerd-io", "linkerd-stack", - "socket2 0.5.10", + "socket2 0.6.0", "thiserror 2.0.12", "tokio", "tokio-stream", diff --git a/linkerd/app/integration/Cargo.toml b/linkerd/app/integration/Cargo.toml index 349b1008b..f09170e98 100644 --- a/linkerd/app/integration/Cargo.toml +++ b/linkerd/app/integration/Cargo.toml @@ -35,7 +35,7 @@ maplit = "1" parking_lot = "0.12" regex = "1" rustls-pemfile = "2.2" -socket2 = "0.5" +socket2 = "0.6" tokio = { version = "1", features = ["io-util", "net", "rt", "macros"] } tokio-rustls = { workspace = true } tokio-stream = { version = "0.1", features = ["sync"] } diff --git a/linkerd/proxy/transport/Cargo.toml b/linkerd/proxy/transport/Cargo.toml index d6f6b004e..36302191b 100644 --- a/linkerd/proxy/transport/Cargo.toml +++ b/linkerd/proxy/transport/Cargo.toml @@ -14,7 +14,7 @@ futures = { version = "0.3", default-features = false } linkerd-error = { path = "../../error" } linkerd-io = { path = "../../io" } linkerd-stack = { path = "../../stack" } -socket2 = "0.5" +socket2 = "0.6" thiserror = "2" tokio = { version = "1", features = ["macros", "net"] } tokio-stream = { version = "0.1", features = ["net"] } diff --git a/linkerd/proxy/transport/src/orig_dst.rs b/linkerd/proxy/transport/src/orig_dst.rs index a3aa5c300..10e5c910e 100644 --- a/linkerd/proxy/transport/src/orig_dst.rs +++ b/linkerd/proxy/transport/src/orig_dst.rs @@ -103,8 +103,8 @@ fn orig_dst(sock: TcpStream, client_addr: ClientAddr) -> io::Result<(OrigDstAddr // IPv4-mapped IPv6 addresses are unwrapped by BindTcp::bind() and received here as // SocketAddr::V4. We must call getsockopt with IPv4 constants (via // orig_dst_addr_v4) even if it originally was an IPv6 - ClientAddr(SocketAddr::V4(_)) => sock.original_dst()?, - ClientAddr(SocketAddr::V6(_)) => sock.original_dst_ipv6()?, + ClientAddr(SocketAddr::V4(_)) => sock.original_dst_v4()?, + ClientAddr(SocketAddr::V6(_)) => sock.original_dst_v6()?, }; let orig_dst = orig_dst.as_socket().ok_or(io::Error::new( From b558ce5320e092b742d1bef0ee51e27bd86824f1 Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Tue, 5 Aug 2025 16:22:26 -0400 Subject: [PATCH 16/38] chore(meshtls-rustls): use aws-lc as the default crypto backend (#4043) The broader ecosystem has mostly moved to `aws-lc-rs` as the primary `rustls` backend, and we should follow suit. This will also simplify the maintenance of the proxy's TLS implementation in the long term. This requires some extra configuration for successful cross-compilation, ideally we can remove this extra configuration once linkerd/dev v48 is available. This doesn't remove `ring` as a crypto backend, that can come in a follow-up at https://github.com/linkerd/linkerd2-proxy/pull/4029 --- .github/workflows/release.yml | 5 +++++ Dockerfile | 6 +++++- justfile | 4 ++++ linkerd/meshtls/rustls/Cargo.toml | 2 +- linkerd2-proxy/Cargo.toml | 2 +- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 49c061318..fa566959d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -150,6 +150,11 @@ jobs: - name: Install MiniGW if: matrix.os == 'windows' run: apt-get update && apt-get install mingw-w64 -y + # TODO: these packages will be included in dev v48 + - name: Install cross compilation toolchain + if: matrix.arch == 'arm64' + run: apt-get update && apt-get install --no-install-recommends -y \ + binutils-aarch64-linux-gnu - name: Configure git run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 diff --git a/Dockerfile b/Dockerfile index fb9b8a9a5..cfc246a61 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,11 +14,16 @@ FROM $LINKERD2_IMAGE as linkerd2 FROM --platform=$BUILDPLATFORM $RUST_IMAGE as fetch ARG PROXY_FEATURES="" +ARG TARGETARCH="amd64" RUN apt-get update && \ apt-get install -y time && \ if [[ "$PROXY_FEATURES" =~ .*meshtls-boring.* ]] ; then \ apt-get install -y golang ; \ fi && \ + case "$TARGETARCH" in \ + amd64) true ;; \ + arm64) apt-get install --no-install-recommends -y binutils-aarch64-linux-gnu ;; \ + esac && \ rm -rf /var/lib/apt/lists/* ENV CARGO_NET_RETRY=10 @@ -33,7 +38,6 @@ RUN --mount=type=cache,id=cargo,target=/usr/local/cargo/registry \ FROM fetch as build ENV CARGO_INCREMENTAL=0 ENV RUSTFLAGS="-D warnings -A deprecated --cfg tokio_unstable" -ARG TARGETARCH="amd64" ARG PROFILE="release" ARG LINKERD2_PROXY_VERSION="" ARG LINKERD2_PROXY_VENDOR="" diff --git a/justfile b/justfile index 1781b2443..24015333e 100644 --- a/justfile +++ b/justfile @@ -18,6 +18,10 @@ features := "" export LINKERD2_PROXY_VERSION := env_var_or_default("LINKERD2_PROXY_VERSION", "0.0.0-dev" + `git rev-parse --short HEAD`) export LINKERD2_PROXY_VENDOR := env_var_or_default("LINKERD2_PROXY_VENDOR", `whoami` + "@" + `hostname`) +# TODO: these variables will be included in dev v48 +export AWS_LC_SYS_CFLAGS_aarch64_unknown_linux_gnu := env_var_or_default("AWS_LC_SYS_CFLAGS_aarch64_unknown_linux_gnu", "-fuse-ld=/usr/aarch64-linux-gnu/bin/ld") +export AWS_LC_SYS_CFLAGS_aarch64_unknown_linux_musl := env_var_or_default("AWS_LC_SYS_CFLAGS_aarch64_unknown_linux_musl", "-fuse-ld=/usr/aarch64-linux-gnu/bin/ld") + # The version name to use for packages. package_version := "v" + LINKERD2_PROXY_VERSION diff --git a/linkerd/meshtls/rustls/Cargo.toml b/linkerd/meshtls/rustls/Cargo.toml index 213afacb7..f5b34dddc 100644 --- a/linkerd/meshtls/rustls/Cargo.toml +++ b/linkerd/meshtls/rustls/Cargo.toml @@ -7,7 +7,7 @@ edition = "2018" publish = { workspace = true } [features] -default = ["ring"] +default = ["aws-lc"] ring = ["tokio-rustls/ring", "rustls-webpki/ring"] aws-lc = ["tokio-rustls/aws-lc-rs", "rustls-webpki/aws-lc-rs"] aws-lc-fips = ["aws-lc", "tokio-rustls/fips"] diff --git a/linkerd2-proxy/Cargo.toml b/linkerd2-proxy/Cargo.toml index 544147ab7..429a49430 100644 --- a/linkerd2-proxy/Cargo.toml +++ b/linkerd2-proxy/Cargo.toml @@ -8,7 +8,7 @@ publish = { workspace = true } description = "The main proxy executable" [features] -default = ["meshtls-rustls-ring"] +default = ["meshtls-rustls-aws-lc"] meshtls-boring = ["linkerd-meshtls/boring"] meshtls-boring-fips = ["linkerd-meshtls/boring-fips"] meshtls-rustls-aws-lc = ["linkerd-meshtls/rustls-aws-lc"] From c0f921af33a60c7eafebb92698825ca48b515a67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 09:48:31 -0400 Subject: [PATCH 17/38] build(deps): bump zerovec from 0.11.3 to 0.11.4 (#4046) Bumps [zerovec](https://github.com/unicode-org/icu4x) from 0.11.3 to 0.11.4. - [Release notes](https://github.com/unicode-org/icu4x/releases) - [Changelog](https://github.com/unicode-org/icu4x/blob/main/CHANGELOG.md) - [Commits](https://github.com/unicode-org/icu4x/compare/ind/zerovec@0.11.3...ind/zerovec@0.11.4) --- updated-dependencies: - dependency-name: zerovec dependency-version: 0.11.4 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 00031ed86..920d90ad0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5064,9 +5064,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdbb9122ea75b11bf96e7492afb723e8a7fbe12c67417aa95e7e3d18144d37cd" +checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" dependencies = [ "yoke", "zerofrom", From 775843683180f597defa65f77f58b49ee86eae91 Mon Sep 17 00:00:00 2001 From: Oliver Gould Date: Wed, 6 Aug 2025 07:29:05 -0700 Subject: [PATCH 18/38] chore(ci): exercise all release platforms on workflow change (#4047) We only build linux/amd64 during typical release CI runs. This means that the platform- specific builds are not exercised. This change updates the release workflow so that all platforms are built whenever the workflow itself is changed. --- .github/workflows/release.yml | 69 +++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 28 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fa566959d..275635f1c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,7 +61,23 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - id: meta + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + if: github.event_name == 'pull_request' + - id: workflow + if: github.event_name == 'pull_request' + uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c + with: + files: | + .github/workflows/release.yml + - id: build + if: github.event_name == 'pull_request' + uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c + with: + files: | + justfile + Cargo.toml + + - id: version env: VERSION: ${{ inputs.version }} shell: bash @@ -69,40 +85,38 @@ jobs: set -euo pipefail shopt -s extglob if [[ "$GITHUB_EVENT_NAME" == pull_request ]]; then - echo version="0.0.0-test.${GITHUB_SHA:0:7}" - echo archs='["amd64"]' - echo oses='["linux"]' + echo version="0.0.0-test.${GITHUB_SHA:0:7}" >> "$GITHUB_OUTPUT" exit 0 - fi >> "$GITHUB_OUTPUT" + fi if ! [[ "$VERSION" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[0-9A-Za-z-]+)?(\+[0-9A-Za-z-]+)?$ ]]; then echo "Invalid version: $VERSION" >&2 exit 1 fi - ( echo version="${VERSION#v}" - echo archs='["amd64", "arm64"]' + echo version="${VERSION#v}" >> "$GITHUB_OUTPUT" + + - id: platform + shell: bash + env: + WORKFLOW_CHANGED: ${{ steps.workflow.outputs.any_changed }} + run: | + if [[ "$GITHUB_EVENT_NAME" == pull_request && "$WORKFLOW_CHANGED" != 'true' ]]; then + ( echo archs='["amd64"]' + echo oses='["linux"]' ) >> "$GITHUB_OUTPUT" + exit 0 + fi + ( echo archs='["amd64", "arm64"]' echo oses='["linux", "windows"]' ) >> "$GITHUB_OUTPUT" - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - if: github.event_name == 'pull_request' - - id: changed - if: github.event_name == 'pull_request' - uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c - with: - files: | - .github/workflows/release.yml - justfile - Cargo.toml - outputs: - archs: ${{ steps.meta.outputs.archs }} - oses: ${{ steps.meta.outputs.oses }} - version: ${{ steps.meta.outputs.version }} - package: ${{ github.event_name == 'workflow_dispatch' || steps.changed.outputs.any_changed == 'true' }} + archs: ${{ steps.platform.outputs.archs }} + oses: ${{ steps.platform.outputs.oses }} + version: ${{ steps.version.outputs.version }} + package: ${{ github.event_name == 'workflow_dispatch' || steps.build.outputs.any_changed == 'true' || steps.workflow.outputs.any_changed == 'true' }} profile: ${{ inputs.profile || 'release' }} publish: ${{ inputs.publish }} ref: ${{ inputs.ref || github.sha }} - tag: "${{ inputs.tag-prefix || 'release/' }}v${{ steps.meta.outputs.version }}" + tag: "${{ inputs.tag-prefix || 'release/' }}v${{ steps.version.outputs.version }}" prerelease: ${{ inputs.prerelease }} draft: ${{ inputs.draft }} latest: ${{ inputs.latest }} @@ -149,12 +163,11 @@ jobs: # TODO: add to dev image - name: Install MiniGW if: matrix.os == 'windows' - run: apt-get update && apt-get install mingw-w64 -y - # TODO: these packages will be included in dev v48 + run: apt-get update && apt-get install -y mingw-w64 - name: Install cross compilation toolchain if: matrix.arch == 'arm64' - run: apt-get update && apt-get install --no-install-recommends -y \ - binutils-aarch64-linux-gnu + run: apt-get update && apt-get install -y binutils-aarch64-linux-gnu + - name: Configure git run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 @@ -162,7 +175,7 @@ jobs: ref: ${{ needs.meta.outputs.ref }} - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 with: - key: ${{ matrix.arch }} + key: ${{ matrix.os }}-${{ matrix.arch }} - run: just fetch - run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} os=${{ matrix.os }} rustup - run: just arch=${{ matrix.arch }} libc=${{ matrix.libc }} os=${{ matrix.os }} profile=${{ needs.meta.outputs.profile }} build From 43e3f630ec7b5825e23b990d395a9cf563e8df28 Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Tue, 29 Jul 2025 15:03:13 -0400 Subject: [PATCH 19/38] feat(tls): Include rustls crypto provider metrics This includes a small set of metrics about the currently installed rustls crypto provider and the algorithms it is configured to use. We don't have 100% assurance that a default crypto provider has been installed before registering the metric, but in local testing it never appeared to be a problem. When we refactor the rustls initialization we can add an extra guarantee that we've initialized it by this point. Example metric: ``` # HELP rustls_info Proxy TLS info. # TYPE rustls_info gauge rustls_info{tls_suites="TLS13_AES_128_GCM_SHA256,TLS13_AES_256_GCM_SHA384,TLS13_CHACHA20_POLY1305_SHA256,",tls_kx_groups="X25519,secp256r1,secp384r1,X25519MLKEM768,",tls_rand="AwsLcRs",tls_key_provider="AwsLcRs",tls_fips="false"} 1 ``` Signed-off-by: Scott Fleener --- Cargo.lock | 1 + linkerd/app/core/Cargo.toml | 1 + linkerd/app/core/src/lib.rs | 1 + linkerd/app/core/src/tls_info.rs | 76 ++++++++++++++++++++++++++++++++ linkerd/app/src/lib.rs | 2 + 5 files changed, 81 insertions(+) create mode 100644 linkerd/app/core/src/tls_info.rs diff --git a/Cargo.lock b/Cargo.lock index 920d90ad0..10d592ec9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1566,6 +1566,7 @@ dependencies = [ "serde_json", "thiserror 2.0.12", "tokio", + "tokio-rustls", "tokio-stream", "tonic", "tower 0.5.2", diff --git a/linkerd/app/core/Cargo.toml b/linkerd/app/core/Cargo.toml index 6daa8b20b..213d371bd 100644 --- a/linkerd/app/core/Cargo.toml +++ b/linkerd/app/core/Cargo.toml @@ -27,6 +27,7 @@ regex = "1" serde_json = "1" thiserror = "2" tokio = { version = "1", features = ["macros", "sync", "parking_lot"] } +tokio-rustls = { workspace = true } tokio-stream = { version = "0.1", features = ["time"] } tonic = { workspace = true, default-features = false, features = ["prost"] } tracing = { workspace = true } diff --git a/linkerd/app/core/src/lib.rs b/linkerd/app/core/src/lib.rs index 0d08e2bc2..03a107d32 100644 --- a/linkerd/app/core/src/lib.rs +++ b/linkerd/app/core/src/lib.rs @@ -25,6 +25,7 @@ pub mod metrics; pub mod proxy; pub mod serve; pub mod svc; +pub mod tls_info; pub mod transport; pub use self::build_info::{BuildInfo, BUILD_INFO}; diff --git a/linkerd/app/core/src/tls_info.rs b/linkerd/app/core/src/tls_info.rs new file mode 100644 index 000000000..5b7da486d --- /dev/null +++ b/linkerd/app/core/src/tls_info.rs @@ -0,0 +1,76 @@ +use linkerd_metrics::prom; +use prometheus_client::encoding::{EncodeLabelSet, EncodeLabelValue, LabelValueEncoder}; +use std::{ + fmt::{Error, Write}, + sync::{Arc, OnceLock}, +}; +use tracing::error; + +static TLS_INFO: OnceLock> = OnceLock::new(); + +#[derive(Clone, Debug, Default, Hash, PartialEq, Eq, EncodeLabelSet)] +pub struct TlsInfo { + tls_suites: MetricValueList, + tls_kx_groups: MetricValueList, + tls_rand: String, + tls_key_provider: String, + tls_fips: bool, +} + +#[derive(Clone, Debug, Default, Hash, PartialEq, Eq)] +struct MetricValueList { + values: Vec<&'static str>, +} + +impl FromIterator<&'static str> for MetricValueList { + fn from_iter>(iter: T) -> Self { + MetricValueList { + values: iter.into_iter().collect(), + } + } +} + +impl EncodeLabelValue for MetricValueList { + fn encode(&self, encoder: &mut LabelValueEncoder<'_>) -> Result<(), Error> { + for value in &self.values { + value.encode(encoder)?; + encoder.write_char(',')?; + } + Ok(()) + } +} + +pub fn metric() -> prom::Family { + let fam = prom::Family::::new_with_constructor(|| { + prom::ConstGauge::new(1) + }); + + let Some(provider) = tokio_rustls::rustls::crypto::CryptoProvider::get_default() else { + // If the crypto provider hasn't been initialized, we return the metrics family with an + // empty set of metrics. + error!("Initializing TLS info metric before crypto provider initialized, this is a bug!"); + return fam; + }; + + let tls_info = TLS_INFO.get_or_init(|| { + let tls_suites = provider + .cipher_suites + .iter() + .flat_map(|cipher_suite| cipher_suite.suite().as_str()) + .collect::(); + let tls_kx_groups = provider + .kx_groups + .iter() + .flat_map(|suite| suite.name().as_str()) + .collect::(); + Arc::new(TlsInfo { + tls_suites, + tls_kx_groups, + tls_rand: format!("{:?}", provider.secure_random), + tls_key_provider: format!("{:?}", provider.key_provider), + tls_fips: provider.fips(), + }) + }); + let _ = fam.get_or_create(tls_info); + fam +} diff --git a/linkerd/app/src/lib.rs b/linkerd/app/src/lib.rs index 29d4e5a60..24ec71290 100644 --- a/linkerd/app/src/lib.rs +++ b/linkerd/app/src/lib.rs @@ -22,6 +22,7 @@ use linkerd_app_core::{ metrics::{prom, FmtMetrics}, serve, svc::Param, + tls_info, transport::{addrs::*, listen::Bind}, Error, ProxyRuntime, }; @@ -304,6 +305,7 @@ impl Config { error!(%error, "Failed to register process metrics"); } registry.register("proxy_build_info", "Proxy build info", BUILD_INFO.metric()); + registry.register("rustls_info", "Proxy TLS info", tls_info::metric()); let admin = { let identity = identity.receiver().server(); From 7f58cd56ed97db19a1ddae38cf6bb56e87a15b00 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 10:37:00 -0400 Subject: [PATCH 20/38] build(deps): bump tokio-metrics from 0.4.3 to 0.4.4 (#4048) Bumps [tokio-metrics](https://github.com/tokio-rs/tokio-metrics) from 0.4.3 to 0.4.4. - [Release notes](https://github.com/tokio-rs/tokio-metrics/releases) - [Changelog](https://github.com/tokio-rs/tokio-metrics/blob/main/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/tokio-metrics/commits) --- updated-dependencies: - dependency-name: tokio-metrics dependency-version: 0.4.4 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 10d592ec9..cc963a816 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1146,7 +1146,7 @@ dependencies = [ "hyper", "libc", "pin-project-lite", - "socket2 0.6.0", + "socket2 0.5.10", "tokio", "tower-service", "tracing", @@ -4221,9 +4221,9 @@ dependencies = [ [[package]] name = "tokio-metrics" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23ff82f660c98e4ff60da5eb8fa864a4130f34b56d92d5cd23d6fdfcc14e95fa" +checksum = "7f960dc1df82e5a0cff5a77e986a10ec7bfabf23ff2377922e012af742878e12" dependencies = [ "futures-util", "pin-project-lite", From 6b323d84579d5d7774e733052a281602465ccc2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Aug 2025 10:37:18 -0400 Subject: [PATCH 21/38] build(deps): bump governor from 0.10.0 to 0.10.1 (#4049) Bumps [governor](https://github.com/boinkor-net/governor) from 0.10.0 to 0.10.1. - [Release notes](https://github.com/boinkor-net/governor/releases) - [Changelog](https://github.com/boinkor-net/governor/blob/master/release.toml) - [Commits](https://github.com/boinkor-net/governor/compare/v0.10.0...v0.10.1) --- updated-dependencies: - dependency-name: governor dependency-version: 0.10.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index cc963a816..f39c74bb4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -644,7 +644,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "778e2ac28f6c47af28e4907f13ffd1e1ddbd400980a9abd7c8df189bf578a5ad" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -901,9 +901,9 @@ checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" [[package]] name = "governor" -version = "0.10.0" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3cbe789d04bf14543f03c4b60cd494148aa79438c8440ae7d81a7778147745c3" +checksum = "444405bbb1a762387aa22dd569429533b54a1d8759d35d3b64cb39b0293eaa19" dependencies = [ "cfg-if", "futures-sink", @@ -1335,7 +1335,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1441,7 +1441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -3728,7 +3728,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.4.15", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -3741,7 +3741,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.9.2", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -4039,7 +4039,7 @@ dependencies = [ "getrandom 0.3.1", "once_cell", "rustix 1.0.2", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] From d850fa6f73e7635990cd2e044d000ce25c47033c Mon Sep 17 00:00:00 2001 From: katelyn martin Date: Thu, 7 Aug 2025 15:33:17 -0400 Subject: [PATCH 22/38] refactor(metrics): introduce a `legacy` namespace (#4050) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `linkerd-metrics` contains a suite of facilities for defining, registering, and serving Prometheus metrics. these predate the [`prometheus-client`](https://crates.io/crates/prometheus-client/) crate, which should now be used for our metrics. `linkerd-metrics` defines a `prom` namespace, which reëxports symbols from the `prometheus-client` library. as the documentation comment for this submodule notes, this should be used for all new metrics. https://github.com/linkerd/linkerd2-proxy/blob/6b323d84579d5d7774e733052a281602465ccc2c/linkerd/metrics/src/lib.rs#L30-L60 `linkerd-metrics` still provides its legacy types in the public surface of this library today, which can make it difficult to differentiate between our two metrics implementations. this branch introduces a new `legacy` namespace, to help clarify the distinction between these two Prometheus implementations, and to smooth the road to further adoption of `prometheus-client` interfaces across the proxy. --- * refactor(metrics): introduce empty `legacy` namespace Signed-off-by: katelyn martin * refactor: move `Counter` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `Gauge` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `Histogram` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `Metric` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `FmtMetric` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `FmtMetrics` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `FmtLabels` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `LastUpdate` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `Store` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `SharedStore` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `Serve` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `NewMetrics` into `legacy` namespace Signed-off-by: katelyn martin * refactor: move `Factor` into `legacy` namespace Signed-off-by: katelyn martin --------- Signed-off-by: katelyn martin --- linkerd/app/admin/src/server.rs | 6 +- linkerd/app/admin/src/stack.rs | 2 +- linkerd/app/core/src/metrics.rs | 29 ++++----- linkerd/app/core/src/transport/labels.rs | 2 +- linkerd/app/inbound/src/metrics.rs | 2 +- linkerd/app/inbound/src/metrics/authz.rs | 5 +- linkerd/app/inbound/src/metrics/error.rs | 2 +- linkerd/app/inbound/src/metrics/error/http.rs | 5 +- linkerd/app/inbound/src/metrics/error/tcp.rs | 5 +- linkerd/app/outbound/src/metrics.rs | 4 +- linkerd/app/outbound/src/metrics/error.rs | 2 +- .../app/outbound/src/metrics/error/http.rs | 5 +- linkerd/app/outbound/src/metrics/error/tcp.rs | 5 +- linkerd/app/src/lib.rs | 2 +- linkerd/http/metrics/src/lib.rs | 2 +- linkerd/http/metrics/src/requests.rs | 7 ++- linkerd/http/metrics/src/requests/report.rs | 3 +- linkerd/http/metrics/src/requests/service.rs | 2 +- linkerd/http/metrics/src/retries.rs | 2 +- linkerd/metrics/src/counter.rs | 2 +- linkerd/metrics/src/histogram.rs | 2 +- linkerd/metrics/src/lib.rs | 62 +++++++++++-------- linkerd/metrics/src/new_metrics.rs | 2 +- linkerd/metrics/src/serve.rs | 2 +- linkerd/metrics/src/store.rs | 2 +- linkerd/opencensus/src/metrics.rs | 5 +- linkerd/opentelemetry/src/metrics.rs | 5 +- linkerd/stack/metrics/src/lib.rs | 5 +- linkerd/transport-metrics/src/lib.rs | 7 ++- linkerd/transport-metrics/src/report.rs | 2 +- 30 files changed, 114 insertions(+), 74 deletions(-) diff --git a/linkerd/app/admin/src/server.rs b/linkerd/app/admin/src/server.rs index 272a01932..e4c04bcca 100644 --- a/linkerd/app/admin/src/server.rs +++ b/linkerd/app/admin/src/server.rs @@ -13,7 +13,7 @@ use futures::future::{self, TryFutureExt}; use http::StatusCode; use linkerd_app_core::{ - metrics::{self as metrics, FmtMetrics}, + metrics::{self as metrics, legacy::FmtMetrics}, proxy::http::{Body, BoxBody, ClientHandle, Request, Response}, trace, Error, Result, }; @@ -32,7 +32,7 @@ pub use self::readiness::{Latch, Readiness}; #[derive(Clone)] pub struct Admin { - metrics: metrics::Serve, + metrics: metrics::legacy::Serve, tracing: trace::Handle, ready: Readiness, shutdown_tx: mpsc::UnboundedSender<()>, @@ -52,7 +52,7 @@ impl Admin { tracing: trace::Handle, ) -> Self { Self { - metrics: metrics::Serve::new(metrics), + metrics: metrics::legacy::Serve::new(metrics), ready, shutdown_tx, enable_shutdown, diff --git a/linkerd/app/admin/src/stack.rs b/linkerd/app/admin/src/stack.rs index 381243f46..3eb65ad6e 100644 --- a/linkerd/app/admin/src/stack.rs +++ b/linkerd/app/admin/src/stack.rs @@ -2,7 +2,7 @@ use linkerd_app_core::{ classify, config::ServerConfig, drain, errors, identity, - metrics::{self, FmtMetrics}, + metrics::{self, legacy::FmtMetrics}, proxy::http, serve, svc::{self, ExtractParam, InsertParam, Param}, diff --git a/linkerd/app/core/src/metrics.rs b/linkerd/app/core/src/metrics.rs index c6f887f96..1bb7f72c4 100644 --- a/linkerd/app/core/src/metrics.rs +++ b/linkerd/app/core/src/metrics.rs @@ -166,7 +166,7 @@ where // === impl Metrics === impl Metrics { - pub fn new(retain_idle: Duration) -> (Self, impl FmtMetrics + Clone + Send + 'static) { + pub fn new(retain_idle: Duration) -> (Self, impl legacy::FmtMetrics + Clone + Send + 'static) { let (control, control_report) = { let m = http_metrics::Requests::::default(); let r = m.clone().into_report(retain_idle).with_prefix("control"); @@ -223,6 +223,7 @@ impl Metrics { opentelemetry, }; + use legacy::FmtMetrics as _; let report = endpoint_report .and_report(profile_route_report) .and_report(retry_report) @@ -248,7 +249,7 @@ impl svc::Param for control::ControlAddr { } } -impl FmtLabels for ControlLabels { +impl legacy::FmtLabels for ControlLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { addr, server_id } = self; @@ -281,7 +282,7 @@ impl ProfileRouteLabels { } } -impl FmtLabels for ProfileRouteLabels { +impl legacy::FmtLabels for ProfileRouteLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { direction, @@ -314,7 +315,7 @@ impl From for EndpointLabels { } } -impl FmtLabels for EndpointLabels { +impl legacy::FmtLabels for EndpointLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { Self::Inbound(i) => (Direction::In, i).fmt_labels(f), @@ -323,7 +324,7 @@ impl FmtLabels for EndpointLabels { } } -impl FmtLabels for InboundEndpointLabels { +impl legacy::FmtLabels for InboundEndpointLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { tls, @@ -343,7 +344,7 @@ impl FmtLabels for InboundEndpointLabels { } } -impl FmtLabels for ServerLabel { +impl legacy::FmtLabels for ServerLabel { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self(meta, port) = self; write!( @@ -374,7 +375,7 @@ impl prom::EncodeLabelSetMut for ServerLabel { } } -impl FmtLabels for ServerAuthzLabels { +impl legacy::FmtLabels for ServerAuthzLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { server, authz } = self; @@ -389,7 +390,7 @@ impl FmtLabels for ServerAuthzLabels { } } -impl FmtLabels for RouteLabels { +impl legacy::FmtLabels for RouteLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { server, route } = self; @@ -404,7 +405,7 @@ impl FmtLabels for RouteLabels { } } -impl FmtLabels for RouteAuthzLabels { +impl legacy::FmtLabels for RouteAuthzLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { route, authz } = self; @@ -425,7 +426,7 @@ impl svc::Param for OutboundEndpointLabels { } } -impl FmtLabels for OutboundEndpointLabels { +impl legacy::FmtLabels for OutboundEndpointLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { server_id, @@ -462,20 +463,20 @@ impl fmt::Display for Direction { } } -impl FmtLabels for Direction { +impl legacy::FmtLabels for Direction { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { write!(f, "direction=\"{self}\"") } } -impl FmtLabels for Authority<'_> { +impl legacy::FmtLabels for Authority<'_> { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self(authority) = self; write!(f, "authority=\"{authority}\"") } } -impl FmtLabels for Class { +impl legacy::FmtLabels for Class { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let class = |ok: bool| if ok { "success" } else { "failure" }; @@ -523,7 +524,7 @@ impl StackLabels { } } -impl FmtLabels for StackLabels { +impl legacy::FmtLabels for StackLabels { fn fmt_labels(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { let Self { direction, diff --git a/linkerd/app/core/src/transport/labels.rs b/linkerd/app/core/src/transport/labels.rs index 9ebcd6c06..c7e06e8cd 100644 --- a/linkerd/app/core/src/transport/labels.rs +++ b/linkerd/app/core/src/transport/labels.rs @@ -1,7 +1,7 @@ use crate::metrics::ServerLabel as PolicyServerLabel; pub use crate::metrics::{Direction, OutboundEndpointLabels}; use linkerd_conditional::Conditional; -use linkerd_metrics::FmtLabels; +use linkerd_metrics::legacy::FmtLabels; use linkerd_tls as tls; use std::{fmt, net::SocketAddr}; diff --git a/linkerd/app/inbound/src/metrics.rs b/linkerd/app/inbound/src/metrics.rs index 4c4ad8f33..313d47827 100644 --- a/linkerd/app/inbound/src/metrics.rs +++ b/linkerd/app/inbound/src/metrics.rs @@ -50,7 +50,7 @@ impl InboundMetrics { } } -impl FmtMetrics for InboundMetrics { +impl legacy::FmtMetrics for InboundMetrics { fn fmt_metrics(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { self.http_authz.fmt_metrics(f)?; self.http_errors.fmt_metrics(f)?; diff --git a/linkerd/app/inbound/src/metrics/authz.rs b/linkerd/app/inbound/src/metrics/authz.rs index 026745877..2039299cc 100644 --- a/linkerd/app/inbound/src/metrics/authz.rs +++ b/linkerd/app/inbound/src/metrics/authz.rs @@ -1,8 +1,9 @@ use crate::policy::{AllowPolicy, HttpRoutePermit, Meta, ServerPermit}; use linkerd_app_core::{ metrics::{ - metrics, Counter, FmtLabels, FmtMetrics, RouteAuthzLabels, RouteLabels, ServerAuthzLabels, - ServerLabel, TargetAddr, TlsAccept, + legacy::{Counter, FmtLabels, FmtMetrics}, + metrics, RouteAuthzLabels, RouteLabels, ServerAuthzLabels, ServerLabel, TargetAddr, + TlsAccept, }, tls, transport::OrigDstAddr, diff --git a/linkerd/app/inbound/src/metrics/error.rs b/linkerd/app/inbound/src/metrics/error.rs index b83313117..bd58b3ec8 100644 --- a/linkerd/app/inbound/src/metrics/error.rs +++ b/linkerd/app/inbound/src/metrics/error.rs @@ -8,7 +8,7 @@ use crate::{ }; use linkerd_app_core::{ errors::{FailFastError, LoadShedError}, - metrics::FmtLabels, + metrics::legacy::FmtLabels, tls, }; use std::fmt; diff --git a/linkerd/app/inbound/src/metrics/error/http.rs b/linkerd/app/inbound/src/metrics/error/http.rs index 9cc9d9f08..3d023e2c6 100644 --- a/linkerd/app/inbound/src/metrics/error/http.rs +++ b/linkerd/app/inbound/src/metrics/error/http.rs @@ -1,6 +1,9 @@ use super::ErrorKind; use linkerd_app_core::{ - metrics::{metrics, Counter, FmtMetrics, ServerLabel}, + metrics::{ + legacy::{Counter, FmtMetrics}, + metrics, ServerLabel, + }, svc::{self, stack::NewMonitor}, transport::{labels::TargetAddr, OrigDstAddr}, Error, diff --git a/linkerd/app/inbound/src/metrics/error/tcp.rs b/linkerd/app/inbound/src/metrics/error/tcp.rs index 0271a2722..8895c5a30 100644 --- a/linkerd/app/inbound/src/metrics/error/tcp.rs +++ b/linkerd/app/inbound/src/metrics/error/tcp.rs @@ -1,6 +1,9 @@ use super::ErrorKind; use linkerd_app_core::{ - metrics::{metrics, Counter, FmtMetrics}, + metrics::{ + legacy::{Counter, FmtMetrics}, + metrics, + }, svc::{self, stack::NewMonitor}, transport::{labels::TargetAddr, OrigDstAddr}, Error, diff --git a/linkerd/app/outbound/src/metrics.rs b/linkerd/app/outbound/src/metrics.rs index 8f1f7a204..386e46e8b 100644 --- a/linkerd/app/outbound/src/metrics.rs +++ b/linkerd/app/outbound/src/metrics.rs @@ -130,7 +130,7 @@ impl OutboundMetrics { } } -impl FmtMetrics for OutboundMetrics { +impl legacy::FmtMetrics for OutboundMetrics { fn fmt_metrics(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { self.http_errors.fmt_metrics(f)?; self.tcp_errors.fmt_metrics(f)?; @@ -243,7 +243,7 @@ impl EncodeLabelSet for RouteRef { // === impl ConcreteLabels === -impl FmtLabels for ConcreteLabels { +impl legacy::FmtLabels for ConcreteLabels { fn fmt_labels(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let ConcreteLabels(parent, backend) = self; diff --git a/linkerd/app/outbound/src/metrics/error.rs b/linkerd/app/outbound/src/metrics/error.rs index f6f9586d6..8aacc9862 100644 --- a/linkerd/app/outbound/src/metrics/error.rs +++ b/linkerd/app/outbound/src/metrics/error.rs @@ -5,7 +5,7 @@ pub(crate) use self::{http::Http, tcp::Tcp}; use crate::http::IdentityRequired; use linkerd_app_core::{ errors::{FailFastError, LoadShedError}, - metrics::FmtLabels, + metrics::legacy::FmtLabels, proxy::http::ResponseTimeoutError, }; use std::fmt; diff --git a/linkerd/app/outbound/src/metrics/error/http.rs b/linkerd/app/outbound/src/metrics/error/http.rs index 5ea1194ec..023c4d14d 100644 --- a/linkerd/app/outbound/src/metrics/error/http.rs +++ b/linkerd/app/outbound/src/metrics/error/http.rs @@ -1,6 +1,9 @@ use super::ErrorKind; use linkerd_app_core::{ - metrics::{metrics, Counter, FmtMetrics}, + metrics::{ + legacy::{Counter, FmtMetrics}, + metrics, + }, svc, Error, }; use parking_lot::RwLock; diff --git a/linkerd/app/outbound/src/metrics/error/tcp.rs b/linkerd/app/outbound/src/metrics/error/tcp.rs index 59a22b4e2..aa692785f 100644 --- a/linkerd/app/outbound/src/metrics/error/tcp.rs +++ b/linkerd/app/outbound/src/metrics/error/tcp.rs @@ -1,6 +1,9 @@ use super::ErrorKind; use linkerd_app_core::{ - metrics::{metrics, Counter, FmtMetrics}, + metrics::{ + legacy::{Counter, FmtMetrics}, + metrics, + }, svc, transport::{labels::TargetAddr, OrigDstAddr}, Error, diff --git a/linkerd/app/src/lib.rs b/linkerd/app/src/lib.rs index 24ec71290..68fcbb0f0 100644 --- a/linkerd/app/src/lib.rs +++ b/linkerd/app/src/lib.rs @@ -19,7 +19,7 @@ use linkerd_app_core::{ config::ServerConfig, control::{ControlAddr, Metrics as ControlMetrics}, dns, drain, - metrics::{prom, FmtMetrics}, + metrics::{legacy::FmtMetrics, prom}, serve, svc::Param, tls_info, diff --git a/linkerd/http/metrics/src/lib.rs b/linkerd/http/metrics/src/lib.rs index cfadf887a..62d280678 100644 --- a/linkerd/http/metrics/src/lib.rs +++ b/linkerd/http/metrics/src/lib.rs @@ -2,7 +2,7 @@ #![forbid(unsafe_code)] pub use self::{requests::Requests, retries::Retries}; -use linkerd_metrics::SharedStore; +use linkerd_metrics::legacy::SharedStore; use parking_lot::Mutex; use std::{fmt, hash::Hash, time::Duration}; diff --git a/linkerd/http/metrics/src/requests.rs b/linkerd/http/metrics/src/requests.rs index 83b0af2e8..14670bb34 100644 --- a/linkerd/http/metrics/src/requests.rs +++ b/linkerd/http/metrics/src/requests.rs @@ -4,7 +4,10 @@ mod service; pub use self::service::{NewHttpMetrics, ResponseBody}; use super::Report; use linkerd_http_classify::ClassifyResponse; -use linkerd_metrics::{latency, Counter, FmtMetrics, Histogram, LastUpdate, NewMetrics}; +use linkerd_metrics::{ + latency, + legacy::{Counter, FmtMetrics, Histogram, LastUpdate, NewMetrics}, +}; use linkerd_stack::{self as svc, layer}; use std::{collections::HashMap, fmt::Debug, hash::Hash}; use tokio::time::{Duration, Instant}; @@ -146,7 +149,7 @@ impl ClassMetrics { mod tests { #[test] fn expiry() { - use linkerd_metrics::FmtLabels; + use linkerd_metrics::legacy::FmtLabels; use std::fmt; use tokio::time::{Duration, Instant}; diff --git a/linkerd/http/metrics/src/requests/report.rs b/linkerd/http/metrics/src/requests/report.rs index 96384d49a..08454be32 100644 --- a/linkerd/http/metrics/src/requests/report.rs +++ b/linkerd/http/metrics/src/requests/report.rs @@ -1,7 +1,8 @@ use super::{ClassMetrics, Metrics, StatusMetrics}; use crate::{Prefixed, Report}; use linkerd_metrics::{ - latency, Counter, FmtLabels, FmtMetric, FmtMetrics, Histogram, Metric, Store, + latency, + legacy::{Counter, FmtLabels, FmtMetric, FmtMetrics, Histogram, Metric, Store}, }; use parking_lot::Mutex; use std::{fmt, hash::Hash}; diff --git a/linkerd/http/metrics/src/requests/service.rs b/linkerd/http/metrics/src/requests/service.rs index 6745211b2..5937fd826 100644 --- a/linkerd/http/metrics/src/requests/service.rs +++ b/linkerd/http/metrics/src/requests/service.rs @@ -3,7 +3,7 @@ use futures::{ready, TryFuture}; use http_body::{Body, Frame}; use linkerd_error::Error; use linkerd_http_classify::{ClassifyEos, ClassifyResponse}; -use linkerd_metrics::NewMetrics; +use linkerd_metrics::legacy::NewMetrics; use linkerd_stack::Proxy; use parking_lot::Mutex; use pin_project::{pin_project, pinned_drop}; diff --git a/linkerd/http/metrics/src/retries.rs b/linkerd/http/metrics/src/retries.rs index 84974bb81..c8f3b1524 100644 --- a/linkerd/http/metrics/src/retries.rs +++ b/linkerd/http/metrics/src/retries.rs @@ -1,5 +1,5 @@ use super::{Prefixed, Registry, Report}; -use linkerd_metrics::{Counter, FmtLabels, FmtMetric, FmtMetrics, LastUpdate, Metric}; +use linkerd_metrics::legacy::{Counter, FmtLabels, FmtMetric, FmtMetrics, LastUpdate, Metric}; use parking_lot::Mutex; use std::{fmt, hash::Hash, sync::Arc}; use tokio::time::{Duration, Instant}; diff --git a/linkerd/metrics/src/counter.rs b/linkerd/metrics/src/counter.rs index 3dc422672..ba1f4a2fc 100644 --- a/linkerd/metrics/src/counter.rs +++ b/linkerd/metrics/src/counter.rs @@ -1,6 +1,6 @@ use super::{ fmt::{FmtLabels, FmtMetric}, - Factor, + legacy::Factor, }; use std::fmt::{self, Display}; use std::sync::atomic::{AtomicU64, Ordering}; diff --git a/linkerd/metrics/src/histogram.rs b/linkerd/metrics/src/histogram.rs index cfd8220b6..a6743395e 100644 --- a/linkerd/metrics/src/histogram.rs +++ b/linkerd/metrics/src/histogram.rs @@ -2,7 +2,7 @@ use std::fmt; use std::marker::PhantomData; use std::{cmp, iter, slice}; -use super::{Counter, Factor, FmtLabels, FmtMetric}; +use super::legacy::{Counter, Factor, FmtLabels, FmtMetric}; /// A series of latency values and counts. #[derive(Debug)] diff --git a/linkerd/metrics/src/lib.rs b/linkerd/metrics/src/lib.rs index 111ae1ee8..b06cd5bdd 100644 --- a/linkerd/metrics/src/lib.rs +++ b/linkerd/metrics/src/lib.rs @@ -16,16 +16,37 @@ mod store; #[cfg(feature = "process")] pub use kubert_prometheus_process as process; -#[cfg(feature = "stack")] -pub use self::new_metrics::NewMetrics; -pub use self::{ - counter::Counter, - fmt::{FmtLabels, FmtMetric, FmtMetrics, Metric}, - gauge::Gauge, - histogram::Histogram, - serve::Serve, - store::{LastUpdate, SharedStore, Store}, -}; +/// A legacy metrics implementation. +/// +/// New metrics should use the interfaces in [`prom`] instead. +pub mod legacy { + // TODO(kate): we will move types like `Counter` and `Gauge` into this module. + // + // this will help us differentiate in dependent systems which components rely on our legacy + // metrics implementation. + pub use super::{ + counter::Counter, + fmt::{FmtLabels, FmtMetric, FmtMetrics, Metric}, + gauge::Gauge, + histogram::Histogram, + serve::Serve, + store::{LastUpdate, SharedStore, Store}, + }; + + #[cfg(feature = "stack")] + pub use super::new_metrics::NewMetrics; + + pub trait Factor { + fn factor(n: u64) -> f64; + } + + impl Factor for () { + #[inline] + fn factor(n: u64) -> f64 { + super::to_f64(n) + } + } +} /// Integration with the [`prometheus_client`]` crate. /// @@ -51,7 +72,7 @@ pub mod prom { pub type Report = Arc; - impl crate::FmtMetrics for Report { + impl crate::legacy::FmtMetrics for Report { #[inline] fn fmt_metrics(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { encoding::text::encode(f, self) @@ -64,8 +85,8 @@ macro_rules! metrics { { $( $name:ident : $kind:ty { $help:expr } ),+ } => { $( #[allow(non_upper_case_globals)] - const $name: $crate::Metric<'static, &str, $kind> = - $crate::Metric { + const $name: $crate::legacy::Metric<'static, &str, $kind> = + $crate::legacy::Metric { name: stringify!($name), help: $help, _p: ::std::marker::PhantomData, @@ -74,8 +95,8 @@ macro_rules! metrics { } } -pub trait Factor { - fn factor(n: u64) -> f64; +pub fn to_f64(n: u64) -> f64 { + n.wrapping_rem(MAX_PRECISE_UINT64 + 1) as f64 } /// Largest `u64` that can fit without loss of precision in `f64` (2^53). @@ -84,14 +105,3 @@ pub trait Factor { /// mantissa), thus integer values over 2^53 are not guaranteed to be correctly /// exposed. const MAX_PRECISE_UINT64: u64 = 0x20_0000_0000_0000; - -impl Factor for () { - #[inline] - fn factor(n: u64) -> f64 { - to_f64(n) - } -} - -pub fn to_f64(n: u64) -> f64 { - n.wrapping_rem(MAX_PRECISE_UINT64 + 1) as f64 -} diff --git a/linkerd/metrics/src/new_metrics.rs b/linkerd/metrics/src/new_metrics.rs index 8f4f4c6c8..a139a3635 100644 --- a/linkerd/metrics/src/new_metrics.rs +++ b/linkerd/metrics/src/new_metrics.rs @@ -1,4 +1,4 @@ -use crate::SharedStore; +use crate::legacy::SharedStore; use linkerd_stack as svc; use std::{fmt, hash::Hash, marker::PhantomData, sync::Arc}; diff --git a/linkerd/metrics/src/serve.rs b/linkerd/metrics/src/serve.rs index 6993a89e3..68695a61e 100644 --- a/linkerd/metrics/src/serve.rs +++ b/linkerd/metrics/src/serve.rs @@ -4,7 +4,7 @@ use linkerd_http_box::BoxBody; use std::io::Write; use tracing::trace; -use super::FmtMetrics; +use super::legacy::FmtMetrics; /// Serve Prometheues metrics. #[derive(Debug, Clone)] diff --git a/linkerd/metrics/src/store.rs b/linkerd/metrics/src/store.rs index 53e16d814..9e50bbc0b 100644 --- a/linkerd/metrics/src/store.rs +++ b/linkerd/metrics/src/store.rs @@ -1,4 +1,4 @@ -use crate::{FmtLabels, FmtMetric, Metric}; +use crate::legacy::{FmtLabels, FmtMetric, Metric}; use parking_lot::Mutex; use std::{ borrow::Borrow, diff --git a/linkerd/opencensus/src/metrics.rs b/linkerd/opencensus/src/metrics.rs index 4f456adcf..c2af2061d 100644 --- a/linkerd/opencensus/src/metrics.rs +++ b/linkerd/opencensus/src/metrics.rs @@ -1,4 +1,7 @@ -use linkerd_metrics::{metrics, Counter, FmtMetrics}; +use linkerd_metrics::{ + legacy::{Counter, FmtMetrics}, + metrics, +}; use std::fmt; use std::sync::Arc; diff --git a/linkerd/opentelemetry/src/metrics.rs b/linkerd/opentelemetry/src/metrics.rs index 5c785de9d..4b54ac1e8 100644 --- a/linkerd/opentelemetry/src/metrics.rs +++ b/linkerd/opentelemetry/src/metrics.rs @@ -1,4 +1,7 @@ -use linkerd_metrics::{metrics, Counter, FmtMetrics}; +use linkerd_metrics::{ + legacy::{Counter, FmtMetrics}, + metrics, +}; use std::fmt; use std::sync::Arc; diff --git a/linkerd/stack/metrics/src/lib.rs b/linkerd/stack/metrics/src/lib.rs index 138621887..06f462d6d 100644 --- a/linkerd/stack/metrics/src/lib.rs +++ b/linkerd/stack/metrics/src/lib.rs @@ -6,7 +6,10 @@ mod service; pub use self::layer::TrackServiceLayer; pub use self::service::TrackService; -use linkerd_metrics::{metrics, Counter, FmtLabels, FmtMetrics}; +use linkerd_metrics::{ + legacy::{Counter, FmtLabels, FmtMetrics}, + metrics, +}; use parking_lot::Mutex; use std::{collections::HashMap, fmt, hash::Hash, sync::Arc}; diff --git a/linkerd/transport-metrics/src/lib.rs b/linkerd/transport-metrics/src/lib.rs index d6281449e..223b83f8a 100644 --- a/linkerd/transport-metrics/src/lib.rs +++ b/linkerd/transport-metrics/src/lib.rs @@ -14,7 +14,10 @@ pub use self::{ server::NewServer, }; use linkerd_errno::Errno; -use linkerd_metrics::{metrics, Counter, FmtLabels, Gauge, LastUpdate, Store}; +use linkerd_metrics::{ + legacy::{Counter, FmtLabels, Gauge, LastUpdate, Store}, + metrics, +}; use parking_lot::Mutex; use std::{collections::HashMap, fmt, hash::Hash, sync::Arc}; use tokio::time::{Duration, Instant}; @@ -113,7 +116,7 @@ impl Default for ByEos { mod tests { #[test] fn expiry() { - use linkerd_metrics::FmtLabels; + use linkerd_metrics::legacy::FmtLabels; use std::fmt; use tokio::time::{Duration, Instant}; diff --git a/linkerd/transport-metrics/src/report.rs b/linkerd/transport-metrics/src/report.rs index dfa0bab6b..ba26175c6 100644 --- a/linkerd/transport-metrics/src/report.rs +++ b/linkerd/transport-metrics/src/report.rs @@ -2,7 +2,7 @@ use super::{ tcp_close_total, tcp_open_connections, tcp_open_total, tcp_read_bytes_total, tcp_write_bytes_total, EosMetrics, Inner, }; -use linkerd_metrics::{FmtLabels, FmtMetric, FmtMetrics, Metric}; +use linkerd_metrics::legacy::{FmtLabels, FmtMetric, FmtMetrics, Metric}; use parking_lot::Mutex; use std::{fmt, hash::Hash, sync::Arc}; use tokio::time::{Duration, Instant}; From 3305a890b027528c40ba60400b1bc0487b324f32 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 13:28:01 -0400 Subject: [PATCH 23/38] build(deps): bump slab from 0.4.10 to 0.4.11 (#4052) Bumps [slab](https://github.com/tokio-rs/slab) from 0.4.10 to 0.4.11. - [Release notes](https://github.com/tokio-rs/slab/releases) - [Changelog](https://github.com/tokio-rs/slab/blob/master/CHANGELOG.md) - [Commits](https://github.com/tokio-rs/slab/compare/v0.4.10...v0.4.11) --- updated-dependencies: - dependency-name: slab dependency-version: 0.4.11 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f39c74bb4..948d1fac5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1146,7 +1146,7 @@ dependencies = [ "hyper", "libc", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.0", "tokio", "tower-service", "tracing", @@ -3901,9 +3901,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.10" +version = "0.4.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04dc19736151f35336d325007ac991178d504a119863a2fcb3758cdb5e52c50d" +checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "smallvec" From d46e7c0c82c3e5c6866178c5166c7d6773a868f9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Aug 2025 13:28:21 -0400 Subject: [PATCH 24/38] build(deps): bump cc from 1.2.31 to 1.2.32 (#4051) Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.31 to 1.2.32. - [Release notes](https://github.com/rust-lang/cc-rs/releases) - [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md) - [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.31...cc-v1.2.32) --- updated-dependencies: - dependency-name: cc dependency-version: 1.2.32 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 948d1fac5..c0aa17fcb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -379,9 +379,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" [[package]] name = "cc" -version = "1.2.31" +version = "1.2.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3a42d84bb6b69d3a8b3eaacf0d88f179e1929695e1ad012b6cf64d9caaa5fd2" +checksum = "2352e5597e9c544d5e6d9c95190d5d27738ade584fa8db0a16e130e5c2b5296e" dependencies = [ "jobserver", "libc", From 25cf0c7f110c36aa8eea301e97d1b0e6125ff3ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 14:52:05 +0000 Subject: [PATCH 25/38] build(deps): bump proc-macro2 from 1.0.95 to 1.0.96 (#4054) Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.95 to 1.0.96. - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.95...1.0.96) --- updated-dependencies: - dependency-name: proc-macro2 dependency-version: 1.0.96 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c0aa17fcb..16be3916e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3355,9 +3355,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.95" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +checksum = "beef09f85ae72cea1ef96ba6870c51e6382ebfa4f0e85b643459331f3daa5be0" dependencies = [ "unicode-ident", ] From 1b07f277d7a32f993b39b5266b6c21e2993713fe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 11:05:34 -0400 Subject: [PATCH 26/38] build(deps): bump rustversion from 1.0.21 to 1.0.22 (#4056) Bumps [rustversion](https://github.com/dtolnay/rustversion) from 1.0.21 to 1.0.22. - [Release notes](https://github.com/dtolnay/rustversion/releases) - [Commits](https://github.com/dtolnay/rustversion/compare/1.0.21...1.0.22) --- updated-dependencies: - dependency-name: rustversion dependency-version: 1.0.22 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 16be3916e..84ace3799 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3792,9 +3792,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.21" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" [[package]] name = "ryu" From b4e2b7e24f1054647c9d2d6b053b76e9c0a97052 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 11:05:55 -0400 Subject: [PATCH 27/38] build(deps): bump glob from 0.3.2 to 0.3.3 (#4055) Bumps [glob](https://github.com/rust-lang/glob) from 0.3.2 to 0.3.3. - [Release notes](https://github.com/rust-lang/glob/releases) - [Changelog](https://github.com/rust-lang/glob/blob/master/CHANGELOG.md) - [Commits](https://github.com/rust-lang/glob/compare/v0.3.2...v0.3.3) --- updated-dependencies: - dependency-name: glob dependency-version: 0.3.3 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 84ace3799..a85b5c87c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -895,9 +895,9 @@ checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "glob" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8d1add55171497b4705a648c6b583acafb01d58050a51727785f0b2c8e0a2b2" +checksum = "0cc23270f6e1808e30a928bdc84dea0b9b4136a8bc82338574f23baf47bbd280" [[package]] name = "governor" From fdd7f218a3766a70cf037f9b476fce24d281d52c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 11:06:10 -0400 Subject: [PATCH 28/38] build(deps): bump actions/checkout from 4.2.2 to 4.3.0 (#4053) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 4.3.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/11bd71901bbe5b1630ceea73d27597364c9af683...08eba0b27e820071cde6df949e0beb9ba4906955) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 4.3.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/beta.yml | 2 +- .github/workflows/coverage.yml | 4 ++-- .github/workflows/fuzzers.yml | 4 ++-- .github/workflows/markdown.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/pr.yml | 12 ++++++------ .github/workflows/release-weekly.yml | 2 +- .github/workflows/release.yml | 6 +++--- .github/workflows/shellcheck.yml | 2 +- .github/workflows/toolchain.yml | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 13c9b66ea..9066c6f93 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -28,7 +28,7 @@ jobs: continue-on-error: true steps: - run: rustup toolchain install --profile=minimal beta - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - run: just toolchain=beta fetch - run: just toolchain=beta build diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 2085ee4bb..a421b0cec 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -23,7 +23,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - id: changed uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c with: @@ -48,7 +48,7 @@ jobs: env: CXX: "/usr/bin/clang++-19" steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 - run: cargo tarpaulin --locked --workspace --exclude=linkerd2-proxy --exclude=linkerd-transport-header --exclude=opencensus-proto --exclude=spire-proto --no-run - run: cargo tarpaulin --locked --workspace --exclude=linkerd2-proxy --exclude=linkerd-transport-header --exclude=opencensus-proto --exclude=spire-proto --skip-clean --ignore-tests --no-fail-fast --out=Xml diff --git a/.github/workflows/fuzzers.yml b/.github/workflows/fuzzers.yml index 0ef272138..7a3a25057 100644 --- a/.github/workflows/fuzzers.yml +++ b/.github/workflows/fuzzers.yml @@ -30,7 +30,7 @@ jobs: container: docker://rust:1.88.0 steps: - run: apt update && apt install -y jo - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c id: changed-files @@ -55,7 +55,7 @@ jobs: steps: - run: rustup toolchain add nightly - run: cargo install cargo-fuzz - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - working-directory: ${{matrix.dir}} run: cargo +nightly fetch diff --git a/.github/workflows/markdown.yml b/.github/workflows/markdown.yml index 4cf3c2db9..b4eb21c60 100644 --- a/.github/workflows/markdown.yml +++ b/.github/workflows/markdown.yml @@ -14,7 +14,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - uses: DavidAnson/markdownlint-cli2-action@992badcdf24e3b8eb7e87ff9287fe931bcb00c6e with: globs: "**/*.md" diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 14bad913c..81ed38bd7 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -28,7 +28,7 @@ jobs: continue-on-error: true steps: - run: rustup toolchain install --profile=minimal nightly - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - run: just toolchain=nightly fetch - run: just toolchain=nightly profile=release build diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 9e80da47c..afcca20d8 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - id: build uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c with: @@ -77,7 +77,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - uses: linkerd/dev/actions/setup-tools@v47 - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: just action-lint - run: just action-dev-check @@ -91,7 +91,7 @@ jobs: timeout-minutes: 20 steps: - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 - run: just fetch - run: cargo deny --all-features check bans licenses sources @@ -114,7 +114,7 @@ jobs: crate: ${{ fromJson(needs.meta.outputs.cargo_crates) }} steps: - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 - run: just fetch - run: just check-crate ${{ matrix.crate }} @@ -136,7 +136,7 @@ jobs: tag=$(linkerd version --client --short) echo "linkerd $tag" echo "LINKERD_TAG=$tag" >> "$GITHUB_ENV" - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: just docker - run: just k3d-create - run: just k3d-load-linkerd @@ -168,7 +168,7 @@ jobs: if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') run: exit 1 - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 if: needs.meta.outputs.is_dependabot == 'true' && needs.meta.outputs.any_changed == 'true' - name: "Merge dependabot changes" if: needs.meta.outputs.is_dependabot == 'true' && needs.meta.outputs.any_changed == 'true' diff --git a/.github/workflows/release-weekly.yml b/.github/workflows/release-weekly.yml index 562e5eefa..15d7c6869 100644 --- a/.github/workflows/release-weekly.yml +++ b/.github/workflows/release-weekly.yml @@ -44,7 +44,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} timeout-minutes: 5 steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - name: Check if the most recent commit is after the last release id: recency env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 275635f1c..b8889cf7d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,7 +61,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 if: github.event_name == 'pull_request' - id: workflow if: github.event_name == 'pull_request' @@ -170,7 +170,7 @@ jobs: - name: Configure git run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 with: ref: ${{ needs.meta.outputs.ref }} - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 @@ -204,7 +204,7 @@ jobs: git config --global user.name "$GITHUB_USERNAME" git config --global user.email "$GITHUB_USERNAME"@users.noreply.github.com # Tag the release. - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 with: token: ${{ secrets.LINKERD2_PROXY_GITHUB_TOKEN || github.token }} ref: ${{ needs.meta.outputs.ref }} diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index 735aad1c9..3ff4faa5c 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -16,5 +16,5 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - uses: linkerd/dev/actions/setup-tools@v47 - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: just sh-lint diff --git a/.github/workflows/toolchain.yml b/.github/workflows/toolchain.yml index 819652485..d86904477 100644 --- a/.github/workflows/toolchain.yml +++ b/.github/workflows/toolchain.yml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} container: ghcr.io/linkerd/dev:v47-rust steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - run: | VERSION_REGEX='channel = "([0-9]+\.[0-9]+\.[0-9]+)"' @@ -38,7 +38,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - uses: linkerd/dev/actions/setup-tools@v47 - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 - shell: bash run: | VERSION_REGEX='channel = "([0-9]+\.[0-9]+\.[0-9]+)"' From feb5f8771334afbf15b2b7b3b32ec19ff14028df Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Aug 2025 12:14:04 -0400 Subject: [PATCH 29/38] build(deps): bump libc from 0.2.174 to 0.2.175 (#4057) Bumps [libc](https://github.com/rust-lang/libc) from 0.2.174 to 0.2.175. - [Release notes](https://github.com/rust-lang/libc/releases) - [Changelog](https://github.com/rust-lang/libc/blob/0.2.175/CHANGELOG.md) - [Commits](https://github.com/rust-lang/libc/compare/0.2.174...0.2.175) --- updated-dependencies: - dependency-name: libc dependency-version: 0.2.175 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a85b5c87c..d219c8ab1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1420,9 +1420,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.174" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libfuzzer-sys" From 69cd164da1652a7c49078a5ec9d33171b92e5fae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 15:56:38 +0000 Subject: [PATCH 30/38] build(deps): bump thiserror from 2.0.12 to 2.0.14 (#4059) Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.12 to 2.0.14. - [Release notes](https://github.com/dtolnay/thiserror/releases) - [Commits](https://github.com/dtolnay/thiserror/compare/2.0.12...2.0.14) --- updated-dependencies: - dependency-name: thiserror dependency-version: 2.0.14 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 100 ++++++++++++++++++++++++++--------------------------- 1 file changed, 50 insertions(+), 50 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d219c8ab1..077fa41c7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -87,7 +87,7 @@ dependencies = [ "nom", "num-traits", "rusticata-macros", - "thiserror 2.0.12", + "thiserror 2.0.14", "time", ] @@ -999,7 +999,7 @@ dependencies = [ "once_cell", "rand 0.9.2", "ring", - "thiserror 2.0.12", + "thiserror 2.0.14", "tinyvec", "tokio", "tracing", @@ -1022,7 +1022,7 @@ dependencies = [ "rand 0.9.2", "resolv-conf", "smallvec", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] @@ -1451,7 +1451,7 @@ dependencies = [ "http", "ipnet", "linkerd-dns-name", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -1472,7 +1472,7 @@ dependencies = [ "linkerd-workers", "rangemap", "regex", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tonic", @@ -1497,7 +1497,7 @@ dependencies = [ "pprof", "serde", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tower 0.5.2", "tracing", @@ -1564,7 +1564,7 @@ dependencies = [ "regex", "semver", "serde_json", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-rustls", "tokio-stream", @@ -1586,7 +1586,7 @@ dependencies = [ "linkerd-proxy-client-policy", "linkerd-proxy-server-policy", "once_cell", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-test", "tonic", @@ -1625,7 +1625,7 @@ dependencies = [ "once_cell", "parking_lot", "rangemap", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-test", "tonic", @@ -1710,7 +1710,7 @@ dependencies = [ "parking_lot", "pin-project", "prometheus-client", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-rustls", "tokio-test", @@ -1736,7 +1736,7 @@ dependencies = [ "linkerd-proxy-client-policy", "parking_lot", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-test", @@ -1773,7 +1773,7 @@ dependencies = [ "linkerd-dns-name", "linkerd-error", "prometheus-client", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] @@ -1782,7 +1782,7 @@ dependencies = [ name = "linkerd-dns-name" version = "0.1.0" dependencies = [ - "thiserror 2.0.12", + "thiserror 2.0.14", "untrusted", ] @@ -1807,7 +1807,7 @@ name = "linkerd-error" version = "0.1.0" dependencies = [ "futures", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -1828,7 +1828,7 @@ dependencies = [ "pin-project", "quickcheck", "rand 0.9.2", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", ] @@ -1892,7 +1892,7 @@ dependencies = [ "linkerd-stack", "linkerd-tracing", "prometheus-client", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-test", "tracing", @@ -1958,7 +1958,7 @@ dependencies = [ "parking_lot", "pin-project", "prometheus-client", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", ] @@ -1992,7 +1992,7 @@ dependencies = [ "linkerd-tracing", "parking_lot", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tower 0.5.2", "tracing", @@ -2007,7 +2007,7 @@ dependencies = [ "maplit", "rand 0.9.2", "regex", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", "url", ] @@ -2023,7 +2023,7 @@ dependencies = [ "linkerd-stack", "parking_lot", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tracing", ] @@ -2046,7 +2046,7 @@ dependencies = [ "linkerd-io", "linkerd-stack", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tower 0.5.2", "tracing", @@ -2058,7 +2058,7 @@ name = "linkerd-http-variant" version = "0.1.0" dependencies = [ "http", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -2069,7 +2069,7 @@ dependencies = [ "linkerd-error", "linkerd-metrics", "prometheus-client", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", "url", ] @@ -2161,7 +2161,7 @@ dependencies = [ "linkerd-tls-test-util", "rustls-pemfile", "rustls-webpki", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-rustls", "tracing", @@ -2261,7 +2261,7 @@ dependencies = [ "linkerd-pool", "linkerd-stack", "parking_lot", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tower-test", "tracing", @@ -2355,7 +2355,7 @@ dependencies = [ "parking_lot", "pin-project", "prometheus-client", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-test", @@ -2383,7 +2383,7 @@ dependencies = [ "once_cell", "prost-types 0.13.5", "quickcheck", - "thiserror 2.0.12", + "thiserror 2.0.14", "tonic", ] @@ -2447,7 +2447,7 @@ dependencies = [ "parking_lot", "pin-project", "rand 0.9.2", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-test", "tower 0.5.2", @@ -2470,7 +2470,7 @@ dependencies = [ "linkerd2-proxy-api", "parking_lot", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tonic", "tracing", @@ -2484,7 +2484,7 @@ dependencies = [ "linkerd-error", "linkerd-proxy-core", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tower 0.5.2", "tracing", ] @@ -2502,7 +2502,7 @@ dependencies = [ "maplit", "prost-types 0.13.5", "quickcheck", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", ] @@ -2520,7 +2520,7 @@ dependencies = [ "rcgen", "simple_asn1", "spiffe-proto", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-test", "tonic", @@ -2553,7 +2553,7 @@ dependencies = [ "prost-types 0.13.5", "quickcheck", "rand 0.9.2", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tonic", "tower 0.5.2", @@ -2585,7 +2585,7 @@ dependencies = [ "linkerd-io", "linkerd-stack", "socket2 0.6.0", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tracing", @@ -2628,7 +2628,7 @@ dependencies = [ "linkerd-error", "linkerd-stack", "parking_lot", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", ] @@ -2653,7 +2653,7 @@ dependencies = [ "prost-types 0.13.5", "quickcheck", "regex", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-stream", "tonic", @@ -2678,7 +2678,7 @@ dependencies = [ "linkerd-tracing", "parking_lot", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tokio-test", "tokio-util", @@ -2725,7 +2725,7 @@ dependencies = [ "linkerd-stack", "linkerd-tracing", "pin-project", - "thiserror 2.0.12", + "thiserror 2.0.14", "tokio", "tower 0.5.2", "tracing", @@ -2741,7 +2741,7 @@ dependencies = [ "linkerd2-proxy-api", "rand 0.9.2", "regex", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", ] @@ -2877,7 +2877,7 @@ dependencies = [ "prost 0.13.5", "prost-types 0.13.5", "quickcheck", - "thiserror 2.0.12", + "thiserror 2.0.14", "tonic", ] @@ -3162,7 +3162,7 @@ dependencies = [ "futures-sink", "js-sys", "pin-project-lite", - "thiserror 2.0.12", + "thiserror 2.0.14", "tracing", ] @@ -3189,7 +3189,7 @@ dependencies = [ "opentelemetry", "percent-encoding", "rand 0.9.2", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -3331,7 +3331,7 @@ dependencies = [ "spin", "symbolic-demangle", "tempfile", - "thiserror 2.0.12", + "thiserror 2.0.14", ] [[package]] @@ -3895,7 +3895,7 @@ checksum = "297f631f50729c8c99b84667867963997ec0b50f32b2a7dbcab828ef0541e8bb" dependencies = [ "num-bigint", "num-traits", - "thiserror 2.0.12", + "thiserror 2.0.14", "time", ] @@ -4063,11 +4063,11 @@ dependencies = [ [[package]] name = "thiserror" -version = "2.0.12" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" +checksum = "0b0949c3a6c842cbde3f1686d6eea5a010516deb7085f79db747562d4102f41e" dependencies = [ - "thiserror-impl 2.0.12", + "thiserror-impl 2.0.14", ] [[package]] @@ -4083,9 +4083,9 @@ dependencies = [ [[package]] name = "thiserror-impl" -version = "2.0.12" +version = "2.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" +checksum = "cc5b44b4ab9c2fdd0e0512e6bece8388e214c0749f5862b114cc5b7a25daf227" dependencies = [ "proc-macro2", "quote", @@ -4947,7 +4947,7 @@ dependencies = [ "nom", "oid-registry", "rusticata-macros", - "thiserror 2.0.12", + "thiserror 2.0.14", "time", ] From ccf91dfb3ecb5a2fba4fe06fcf1b13674a3f930d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:18:00 +0000 Subject: [PATCH 31/38] build(deps): bump actions/checkout from 4.3.0 to 5.0.0 (#4060) Bumps [actions/checkout](https://github.com/actions/checkout) from 4.3.0 to 5.0.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/08eba0b27e820071cde6df949e0beb9ba4906955...08c6903cd8c0fde910a37f88322edcfb5dd907a8) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 5.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/beta.yml | 2 +- .github/workflows/coverage.yml | 4 ++-- .github/workflows/fuzzers.yml | 4 ++-- .github/workflows/markdown.yml | 2 +- .github/workflows/nightly.yml | 2 +- .github/workflows/pr.yml | 12 ++++++------ .github/workflows/release-weekly.yml | 2 +- .github/workflows/release.yml | 6 +++--- .github/workflows/shellcheck.yml | 2 +- .github/workflows/toolchain.yml | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/beta.yml b/.github/workflows/beta.yml index 9066c6f93..8208b20c9 100644 --- a/.github/workflows/beta.yml +++ b/.github/workflows/beta.yml @@ -28,7 +28,7 @@ jobs: continue-on-error: true steps: - run: rustup toolchain install --profile=minimal beta - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - run: just toolchain=beta fetch - run: just toolchain=beta build diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index a421b0cec..201b3bcbc 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -23,7 +23,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - id: changed uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c with: @@ -48,7 +48,7 @@ jobs: env: CXX: "/usr/bin/clang++-19" steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 - run: cargo tarpaulin --locked --workspace --exclude=linkerd2-proxy --exclude=linkerd-transport-header --exclude=opencensus-proto --exclude=spire-proto --no-run - run: cargo tarpaulin --locked --workspace --exclude=linkerd2-proxy --exclude=linkerd-transport-header --exclude=opencensus-proto --exclude=spire-proto --skip-clean --ignore-tests --no-fail-fast --out=Xml diff --git a/.github/workflows/fuzzers.yml b/.github/workflows/fuzzers.yml index 7a3a25057..d32573be5 100644 --- a/.github/workflows/fuzzers.yml +++ b/.github/workflows/fuzzers.yml @@ -30,7 +30,7 @@ jobs: container: docker://rust:1.88.0 steps: - run: apt update && apt install -y jo - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c id: changed-files @@ -55,7 +55,7 @@ jobs: steps: - run: rustup toolchain add nightly - run: cargo install cargo-fuzz - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - working-directory: ${{matrix.dir}} run: cargo +nightly fetch diff --git a/.github/workflows/markdown.yml b/.github/workflows/markdown.yml index b4eb21c60..ce1e2b5b2 100644 --- a/.github/workflows/markdown.yml +++ b/.github/workflows/markdown.yml @@ -14,7 +14,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - uses: DavidAnson/markdownlint-cli2-action@992badcdf24e3b8eb7e87ff9287fe931bcb00c6e with: globs: "**/*.md" diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 81ed38bd7..5d114eafd 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -28,7 +28,7 @@ jobs: continue-on-error: true steps: - run: rustup toolchain install --profile=minimal nightly - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - run: just toolchain=nightly fetch - run: just toolchain=nightly profile=release build diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index afcca20d8..142342069 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -16,7 +16,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - id: build uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c with: @@ -77,7 +77,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - uses: linkerd/dev/actions/setup-tools@v47 - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just action-lint - run: just action-dev-check @@ -91,7 +91,7 @@ jobs: timeout-minutes: 20 steps: - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 - run: just fetch - run: cargo deny --all-features check bans licenses sources @@ -114,7 +114,7 @@ jobs: crate: ${{ fromJson(needs.meta.outputs.cargo_crates) }} steps: - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 - run: just fetch - run: just check-crate ${{ matrix.crate }} @@ -136,7 +136,7 @@ jobs: tag=$(linkerd version --client --short) echo "linkerd $tag" echo "LINKERD_TAG=$tag" >> "$GITHUB_ENV" - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just docker - run: just k3d-create - run: just k3d-load-linkerd @@ -168,7 +168,7 @@ jobs: if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') run: exit 1 - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 if: needs.meta.outputs.is_dependabot == 'true' && needs.meta.outputs.any_changed == 'true' - name: "Merge dependabot changes" if: needs.meta.outputs.is_dependabot == 'true' && needs.meta.outputs.any_changed == 'true' diff --git a/.github/workflows/release-weekly.yml b/.github/workflows/release-weekly.yml index 15d7c6869..9119f22f9 100644 --- a/.github/workflows/release-weekly.yml +++ b/.github/workflows/release-weekly.yml @@ -44,7 +44,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} timeout-minutes: 5 steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - name: Check if the most recent commit is after the last release id: recency env: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b8889cf7d..43a243932 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,7 +61,7 @@ jobs: timeout-minutes: 5 runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 if: github.event_name == 'pull_request' - id: workflow if: github.event_name == 'pull_request' @@ -170,7 +170,7 @@ jobs: - name: Configure git run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 with: ref: ${{ needs.meta.outputs.ref }} - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 @@ -204,7 +204,7 @@ jobs: git config --global user.name "$GITHUB_USERNAME" git config --global user.email "$GITHUB_USERNAME"@users.noreply.github.com # Tag the release. - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 with: token: ${{ secrets.LINKERD2_PROXY_GITHUB_TOKEN || github.token }} ref: ${{ needs.meta.outputs.ref }} diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml index 3ff4faa5c..184c03898 100644 --- a/.github/workflows/shellcheck.yml +++ b/.github/workflows/shellcheck.yml @@ -16,5 +16,5 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - uses: linkerd/dev/actions/setup-tools@v47 - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: just sh-lint diff --git a/.github/workflows/toolchain.yml b/.github/workflows/toolchain.yml index d86904477..946a08564 100644 --- a/.github/workflows/toolchain.yml +++ b/.github/workflows/toolchain.yml @@ -16,7 +16,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} container: ghcr.io/linkerd/dev:v47-rust steps: - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - run: git config --global --add safe.directory "$PWD" # actions/runner#2033 - run: | VERSION_REGEX='channel = "([0-9]+\.[0-9]+\.[0-9]+)"' @@ -38,7 +38,7 @@ jobs: runs-on: ${{ vars.LINKERD2_PROXY_RUNNER || 'ubuntu-24.04' }} steps: - uses: linkerd/dev/actions/setup-tools@v47 - - uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 + - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - shell: bash run: | VERSION_REGEX='channel = "([0-9]+\.[0-9]+\.[0-9]+)"' From af520dfd1215f58a6f6f88587774fdbfd32925ac Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 12:33:58 -0400 Subject: [PATCH 32/38] build(deps): bump proc-macro2 from 1.0.96 to 1.0.97 (#4061) Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.96 to 1.0.97. - [Release notes](https://github.com/dtolnay/proc-macro2/releases) - [Commits](https://github.com/dtolnay/proc-macro2/compare/1.0.96...1.0.97) --- updated-dependencies: - dependency-name: proc-macro2 dependency-version: 1.0.97 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 077fa41c7..f0afb4b0c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3355,9 +3355,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.96" +version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "beef09f85ae72cea1ef96ba6870c51e6382ebfa4f0e85b643459331f3daa5be0" +checksum = "d61789d7719defeb74ea5fe81f2fdfdbd28a803847077cecce2ff14e1472f6f1" dependencies = [ "unicode-ident", ] From 7030cc51ede78bcc8c119f3c9510cfeebfa88a9d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 18:39:04 +0000 Subject: [PATCH 33/38] build(deps): bump anyhow from 1.0.98 to 1.0.99 (#4062) Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.98 to 1.0.99. - [Release notes](https://github.com/dtolnay/anyhow/releases) - [Commits](https://github.com/dtolnay/anyhow/compare/1.0.98...1.0.99) --- updated-dependencies: - dependency-name: anyhow dependency-version: 1.0.99 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f0afb4b0c..b0fd23dd4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -62,9 +62,9 @@ checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" [[package]] name = "anyhow" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" +checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100" [[package]] name = "arbitrary" From bb612d3aac88cdf834a081d400cbe965bee91dd5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 12 Aug 2025 17:18:00 -0700 Subject: [PATCH 34/38] build(deps): bump the symbolic group with 2 updates (#4063) Bumps the symbolic group with 2 updates: [symbolic-common](https://github.com/getsentry/symbolic) and [symbolic-demangle](https://github.com/getsentry/symbolic). Updates `symbolic-common` from 12.16.1 to 12.16.2 - [Release notes](https://github.com/getsentry/symbolic/releases) - [Changelog](https://github.com/getsentry/symbolic/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/symbolic/compare/12.16.1...12.16.2) Updates `symbolic-demangle` from 12.16.1 to 12.16.2 - [Release notes](https://github.com/getsentry/symbolic/releases) - [Changelog](https://github.com/getsentry/symbolic/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/symbolic/compare/12.16.1...12.16.2) --- updated-dependencies: - dependency-name: symbolic-common dependency-version: 12.16.2 dependency-type: indirect update-type: version-update:semver-patch dependency-group: symbolic - dependency-name: symbolic-demangle dependency-version: 12.16.2 dependency-type: indirect update-type: version-update:semver-patch dependency-group: symbolic ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b0fd23dd4..9a28ec68b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1441,7 +1441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.52.6", + "windows-targets 0.48.5", ] [[package]] @@ -3974,9 +3974,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "symbolic-common" -version = "12.16.1" +version = "12.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70f4d06896c59fabe3fe36d7bc003c975f0a0af67d380e14a95eaebffe4f8de5" +checksum = "9da12f8fecbbeaa1ee62c1d50dc656407e007c3ee7b2a41afce4b5089eaef15e" dependencies = [ "debugid", "memmap2", @@ -3986,9 +3986,9 @@ dependencies = [ [[package]] name = "symbolic-demangle" -version = "12.16.1" +version = "12.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd3903bafe2ed4c3512ff4c6eb77cc22b6f43662f3b9f7e3fe4f152927f54ec8" +checksum = "6fd35afe0ef9d35d3dcd41c67ddf882fc832a387221338153b7cd685a105495c" dependencies = [ "cpp_demangle", "rustc-demangle", From 89c88caf5c5df1b3b4e8d512b18d2f694cc63ebd Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Wed, 13 Aug 2025 10:44:43 -0400 Subject: [PATCH 35/38] chore(deps): Manually remove unused dependencies (#4065) Signed-off-by: Scott Fleener --- Cargo.lock | 66 ------------------------ linkerd/app/core/Cargo.toml | 11 +--- linkerd/distribute/Cargo.toml | 1 - linkerd/dns/Cargo.toml | 5 +- linkerd/http/classify/Cargo.toml | 2 +- linkerd/http/metrics/Cargo.toml | 2 - linkerd/http/prom/Cargo.toml | 1 - linkerd/http/retry/Cargo.toml | 2 - linkerd/http/route/Cargo.toml | 3 -- linkerd/http/upgrade/Cargo.toml | 1 - linkerd/idle-cache/Cargo.toml | 3 -- linkerd/meshtls/boring/Cargo.toml | 2 - linkerd/metrics/Cargo.toml | 2 - linkerd/pool/p2c/Cargo.toml | 3 +- linkerd/proxy/api-resolve/Cargo.toml | 2 - linkerd/proxy/balance/Cargo.toml | 1 - linkerd/proxy/balance/queue/Cargo.toml | 3 -- linkerd/proxy/client-policy/Cargo.toml | 6 --- linkerd/proxy/http/Cargo.toml | 9 +--- linkerd/proxy/identity-client/Cargo.toml | 4 -- linkerd/proxy/spire-client/Cargo.toml | 2 - linkerd/proxy/tap/Cargo.toml | 1 - linkerd/proxy/tcp/Cargo.toml | 2 - linkerd/reconnect/Cargo.toml | 2 - linkerd/router/Cargo.toml | 1 - linkerd/service-profiles/Cargo.toml | 2 - linkerd/stack/tracing/Cargo.toml | 2 - linkerd/tls/Cargo.toml | 2 - linkerd/tls/route/Cargo.toml | 2 - linkerd/tonic-stream/Cargo.toml | 3 +- linkerd/tonic-watch/Cargo.toml | 1 - linkerd/transport-header/Cargo.toml | 2 - opencensus-proto/Cargo.toml | 1 - spiffe-proto/Cargo.toml | 2 - 34 files changed, 9 insertions(+), 145 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 9a28ec68b..bcdb1e7a1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1514,13 +1514,10 @@ dependencies = [ "http-body", "http-body-util", "hyper", - "hyper-util", "ipnet", "linkerd-addr", "linkerd-conditional", "linkerd-dns", - "linkerd-duplex", - "linkerd-errno", "linkerd-error", "linkerd-error-respond", "linkerd-exp-backoff", @@ -1557,13 +1554,9 @@ dependencies = [ "linkerd-tracing", "linkerd-transport-header", "linkerd-transport-metrics", - "parking_lot", "pin-project", "prometheus-client", - "quickcheck", - "regex", "semver", - "serde_json", "thiserror 2.0.14", "tokio", "tokio-rustls", @@ -1758,7 +1751,6 @@ dependencies = [ "linkerd-stack", "parking_lot", "rand 0.9.2", - "tokio", "tokio-test", "tower-test", "tracing", @@ -1768,7 +1760,6 @@ dependencies = [ name = "linkerd-dns" version = "0.1.0" dependencies = [ - "futures", "hickory-resolver", "linkerd-dns-name", "linkerd-error", @@ -1917,11 +1908,9 @@ dependencies = [ name = "linkerd-http-metrics" version = "0.1.0" dependencies = [ - "bytes", "futures", "http", "http-body", - "hyper", "linkerd-error", "linkerd-http-classify", "linkerd-metrics", @@ -1955,7 +1944,6 @@ dependencies = [ "linkerd-http-box", "linkerd-metrics", "linkerd-stack", - "parking_lot", "pin-project", "prometheus-client", "thiserror 2.0.14", @@ -1982,7 +1970,6 @@ dependencies = [ "http", "http-body", "http-body-util", - "hyper", "linkerd-error", "linkerd-exp-backoff", "linkerd-http-box", @@ -2004,7 +1991,6 @@ version = "0.1.0" dependencies = [ "http", "linkerd2-proxy-api", - "maplit", "rand 0.9.2", "regex", "thiserror 2.0.14", @@ -2032,7 +2018,6 @@ dependencies = [ name = "linkerd-http-upgrade" version = "0.1.0" dependencies = [ - "bytes", "drain", "futures", "http", @@ -2078,10 +2063,7 @@ dependencies = [ name = "linkerd-idle-cache" version = "0.1.0" dependencies = [ - "futures", - "linkerd-error", "linkerd-stack", - "linkerd-tracing", "parking_lot", "tokio", "tower 0.5.2", @@ -2130,13 +2112,11 @@ name = "linkerd-meshtls-boring" version = "0.1.0" dependencies = [ "boring", - "futures", "hex", "linkerd-dns-name", "linkerd-error", "linkerd-identity", "linkerd-io", - "linkerd-meshtls", "linkerd-meshtls-verifier", "linkerd-stack", "linkerd-tls", @@ -2185,9 +2165,7 @@ dependencies = [ "bytes", "deflate", "http", - "http-body", "http-body-util", - "hyper", "kubert-prometheus-process", "linkerd-http-box", "linkerd-stack", @@ -2274,7 +2252,6 @@ dependencies = [ "ahash", "futures", "futures-util", - "indexmap 2.10.0", "linkerd-error", "linkerd-metrics", "linkerd-pool", @@ -2307,8 +2284,6 @@ dependencies = [ "linkerd-tls", "linkerd-tonic-stream", "linkerd2-proxy-api", - "pin-project", - "prost 0.13.5", "tonic", "tower 0.5.2", "tracing", @@ -2326,7 +2301,6 @@ dependencies = [ "linkerd-proxy-balance-queue", "linkerd-proxy-core", "linkerd-stack", - "rand 0.9.2", "tokio", "tower 0.5.2", "tracing", @@ -2354,13 +2328,10 @@ dependencies = [ "linkerd-tracing", "parking_lot", "pin-project", - "prometheus-client", - "thiserror 2.0.14", "tokio", "tokio-stream", "tokio-test", "tokio-util", - "tower-test", "tracing", ] @@ -2370,19 +2341,15 @@ version = "0.1.0" dependencies = [ "ahash", "http", - "ipnet", "linkerd-error", "linkerd-exp-backoff", "linkerd-http-route", "linkerd-opaq-route", "linkerd-proxy-api-resolve", - "linkerd-proxy-core", "linkerd-tls-route", "linkerd2-proxy-api", - "maplit", "once_cell", "prost-types 0.13.5", - "quickcheck", "thiserror 2.0.14", "tonic", ] @@ -2416,7 +2383,6 @@ dependencies = [ name = "linkerd-proxy-http" version = "0.1.0" dependencies = [ - "async-trait", "bytes", "drain", "futures", @@ -2424,11 +2390,9 @@ dependencies = [ "http", "http-body", "http-body-util", - "httparse", "hyper", "hyper-balance", "hyper-util", - "linkerd-duplex", "linkerd-error", "linkerd-http-box", "linkerd-http-classify", @@ -2444,32 +2408,25 @@ dependencies = [ "linkerd-proxy-balance", "linkerd-stack", "linkerd-tracing", - "parking_lot", "pin-project", - "rand 0.9.2", "thiserror 2.0.14", "tokio", "tokio-test", "tower 0.5.2", "tower-test", "tracing", - "try-lock", ] [[package]] name = "linkerd-proxy-identity-client" version = "0.1.0" dependencies = [ - "futures", "http-body", "linkerd-dns-name", "linkerd-error", "linkerd-identity", - "linkerd-metrics", "linkerd-stack", "linkerd2-proxy-api", - "parking_lot", - "pin-project", "thiserror 2.0.14", "tokio", "tonic", @@ -2515,14 +2472,12 @@ dependencies = [ "linkerd-exp-backoff", "linkerd-identity", "linkerd-proxy-http", - "linkerd-stack", "linkerd-tonic-watch", "rcgen", "simple_asn1", "spiffe-proto", "thiserror 2.0.14", "tokio", - "tokio-test", "tonic", "tower 0.5.2", "tracing", @@ -2552,7 +2507,6 @@ dependencies = [ "pin-project", "prost-types 0.13.5", "quickcheck", - "rand 0.9.2", "thiserror 2.0.14", "tokio", "tonic", @@ -2569,8 +2523,6 @@ dependencies = [ "linkerd-error", "linkerd-proxy-balance", "linkerd-stack", - "pin-project", - "rand 0.9.2", "tokio", "tower 0.5.2", ] @@ -2599,11 +2551,9 @@ dependencies = [ "linkerd-error", "linkerd-stack", "linkerd-tracing", - "pin-project", "tokio", "tokio-stream", "tokio-test", - "tower 0.5.2", "tower-test", "tracing", ] @@ -2628,7 +2578,6 @@ dependencies = [ "linkerd-error", "linkerd-stack", "parking_lot", - "thiserror 2.0.14", "tracing", ] @@ -2636,14 +2585,12 @@ dependencies = [ name = "linkerd-service-profiles" version = "0.1.0" dependencies = [ - "bytes", "futures", "http", "http-body", "linkerd-addr", "linkerd-dns-name", "linkerd-error", - "linkerd-http-box", "linkerd-proxy-api-resolve", "linkerd-stack", "linkerd-tonic-stream", @@ -2703,8 +2650,6 @@ dependencies = [ name = "linkerd-stack-tracing" version = "0.1.0" dependencies = [ - "futures", - "linkerd-error", "linkerd-stack", "tower 0.5.2", "tracing", @@ -2714,7 +2659,6 @@ dependencies = [ name = "linkerd-tls" version = "0.1.0" dependencies = [ - "async-trait", "bytes", "futures", "linkerd-conditional", @@ -2727,7 +2671,6 @@ dependencies = [ "pin-project", "thiserror 2.0.14", "tokio", - "tower 0.5.2", "tracing", "untrusted", ] @@ -2739,8 +2682,6 @@ dependencies = [ "linkerd-dns", "linkerd-tls", "linkerd2-proxy-api", - "rand 0.9.2", - "regex", "thiserror 2.0.14", "tracing", ] @@ -2759,7 +2700,6 @@ dependencies = [ "pin-project", "tokio", "tokio-stream", - "tokio-test", "tonic", "tracing", ] @@ -2774,7 +2714,6 @@ dependencies = [ "linkerd-tracing", "tokio", "tokio-stream", - "tokio-test", "tonic", "tower-test", "tracing", @@ -2815,9 +2754,7 @@ name = "linkerd-transport-header" version = "0.1.0" dependencies = [ "arbitrary", - "async-trait", "bytes", - "futures", "libfuzzer-sys", "linkerd-dns-name", "linkerd-error", @@ -3134,7 +3071,6 @@ dependencies = [ name = "opencensus-proto" version = "0.1.0" dependencies = [ - "bytes", "prost 0.13.5", "prost-types 0.13.5", "tonic", @@ -3935,9 +3871,7 @@ dependencies = [ name = "spiffe-proto" version = "0.1.0" dependencies = [ - "bytes", "prost 0.13.5", - "prost-types 0.13.5", "tonic", "tonic-build", ] diff --git a/linkerd/app/core/Cargo.toml b/linkerd/app/core/Cargo.toml index 213d371bd..37e052442 100644 --- a/linkerd/app/core/Cargo.toml +++ b/linkerd/app/core/Cargo.toml @@ -13,32 +13,24 @@ independently of the inbound and outbound proxy logic. """ [dependencies] -bytes = { workspace = true } drain = { workspace = true, features = ["retain"] } http = { workspace = true } http-body = { workspace = true } -http-body-util = { workspace = true } hyper = { workspace = true, features = ["http1", "http2"] } -hyper-util = { workspace = true } futures = { version = "0.3", default-features = false } ipnet = "2.11" prometheus-client = { workspace = true } -regex = "1" -serde_json = "1" thiserror = "2" tokio = { version = "1", features = ["macros", "sync", "parking_lot"] } tokio-rustls = { workspace = true } tokio-stream = { version = "0.1", features = ["time"] } tonic = { workspace = true, default-features = false, features = ["prost"] } tracing = { workspace = true } -parking_lot = "0.12" pin-project = "1" linkerd-addr = { path = "../../addr" } linkerd-conditional = { path = "../../conditional" } linkerd-dns = { path = "../../dns" } -linkerd-duplex = { path = "../../duplex" } -linkerd-errno = { path = "../../errno" } linkerd-error = { path = "../../error" } linkerd-error-respond = { path = "../../error-respond" } linkerd-exp-backoff = { path = "../../exp-backoff" } @@ -84,5 +76,6 @@ features = ["make", "spawn-ready", "timeout", "util", "limit"] semver = "1" [dev-dependencies] +bytes = { workspace = true } +http-body-util = { workspace = true } linkerd-mock-http-body = { path = "../../mock/http-body" } -quickcheck = { version = "1", default-features = false } diff --git a/linkerd/distribute/Cargo.toml b/linkerd/distribute/Cargo.toml index 0d624aab5..bce256f44 100644 --- a/linkerd/distribute/Cargo.toml +++ b/linkerd/distribute/Cargo.toml @@ -11,7 +11,6 @@ ahash = "0.8" linkerd-stack = { path = "../stack" } parking_lot = "0.12" rand = { version = "0.9", features = ["small_rng"] } -tokio = { version = "1", features = ["macros"] } tracing = { workspace = true } [dev-dependencies] diff --git a/linkerd/dns/Cargo.toml b/linkerd/dns/Cargo.toml index 1b6422183..7aa9d1136 100644 --- a/linkerd/dns/Cargo.toml +++ b/linkerd/dns/Cargo.toml @@ -7,14 +7,15 @@ edition = { workspace = true } publish = { workspace = true } [dependencies] -futures = { version = "0.3", default-features = false } hickory-resolver = "0.25.2" linkerd-dns-name = { path = "./name" } -linkerd-error = { path = "../error" } prometheus-client = { workspace = true } thiserror = "2" tokio = { version = "1", features = ["rt", "sync", "time"] } tracing = { workspace = true } +[dev-dependencies] +linkerd-error = { path = "../error" } + [lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(fuzzing)'] } diff --git a/linkerd/http/classify/Cargo.toml b/linkerd/http/classify/Cargo.toml index e50028f5e..c7a7911e4 100644 --- a/linkerd/http/classify/Cargo.toml +++ b/linkerd/http/classify/Cargo.toml @@ -15,10 +15,10 @@ tokio = { version = "1", default-features = false } tracing = { workspace = true } linkerd-error = { path = "../../error" } -linkerd-http-box = { path = "../../http/box" } linkerd-stack = { path = "../../stack" } [dev-dependencies] tokio-test = "0.4" tower-test = { workspace = true } +linkerd-http-box = { path = "../../http/box" } linkerd-tracing = { path = "../../tracing", features = ["ansi"] } diff --git a/linkerd/http/metrics/Cargo.toml b/linkerd/http/metrics/Cargo.toml index 1c0ab01a3..e135bec90 100644 --- a/linkerd/http/metrics/Cargo.toml +++ b/linkerd/http/metrics/Cargo.toml @@ -10,11 +10,9 @@ publish = { workspace = true } test-util = [] [dependencies] -bytes = { workspace = true } futures = { version = "0.3", default-features = false } http = { workspace = true } http-body = { workspace = true } -hyper = { workspace = true, features = ["http1", "http2"] } parking_lot = "0.12" pin-project = "1" tokio = { version = "1", features = ["time"] } diff --git a/linkerd/http/prom/Cargo.toml b/linkerd/http/prom/Cargo.toml index 2ff2d3a1b..1877de811 100644 --- a/linkerd/http/prom/Cargo.toml +++ b/linkerd/http/prom/Cargo.toml @@ -17,7 +17,6 @@ bytes = { workspace = true } futures = { version = "0.3", default-features = false } http = { workspace = true } http-body = { workspace = true } -parking_lot = "0.12" pin-project = "1" prometheus-client = { workspace = true } thiserror = "2" diff --git a/linkerd/http/retry/Cargo.toml b/linkerd/http/retry/Cargo.toml index bb3a34260..3ce349caa 100644 --- a/linkerd/http/retry/Cargo.toml +++ b/linkerd/http/retry/Cargo.toml @@ -14,7 +14,6 @@ http-body-util = { workspace = true } http = { workspace = true } parking_lot = "0.12" pin-project = "1" -tokio = { version = "1", features = ["macros", "rt"] } tower = { workspace = true, features = ["retry"] } tracing = { workspace = true } thiserror = "2" @@ -26,7 +25,6 @@ linkerd-metrics = { path = "../../metrics" } linkerd-stack = { path = "../../stack" } [dev-dependencies] -hyper = { workspace = true } linkerd-tracing = { path = "../../tracing", features = ["ansi"] } linkerd-mock-http-body = { path = "../../mock/http-body" } tokio = { version = "1", features = ["macros", "rt"] } diff --git a/linkerd/http/route/Cargo.toml b/linkerd/http/route/Cargo.toml index da2aa6d29..b64e436bd 100644 --- a/linkerd/http/route/Cargo.toml +++ b/linkerd/http/route/Cargo.toml @@ -21,6 +21,3 @@ url = "2" workspace = true features = ["http-route", "grpc-route"] optional = true - -[dev-dependencies] -maplit = "1" diff --git a/linkerd/http/upgrade/Cargo.toml b/linkerd/http/upgrade/Cargo.toml index 35ecaed97..480f0ec3b 100644 --- a/linkerd/http/upgrade/Cargo.toml +++ b/linkerd/http/upgrade/Cargo.toml @@ -10,7 +10,6 @@ Facilities for HTTP/1 upgrades. """ [dependencies] -bytes = { workspace = true } drain = { workspace = true } futures = { version = "0.3", default-features = false } http = { workspace = true } diff --git a/linkerd/idle-cache/Cargo.toml b/linkerd/idle-cache/Cargo.toml index 60e0180bc..3d33b9395 100644 --- a/linkerd/idle-cache/Cargo.toml +++ b/linkerd/idle-cache/Cargo.toml @@ -10,8 +10,6 @@ publish = { workspace = true } test-util = [] [dependencies] -futures = { version = "0.3", default-features = false } -linkerd-error = { path = "../error" } linkerd-stack = { path = "../stack" } parking_lot = "0.12" tokio = { version = "1", default-features = false, features = [ @@ -28,4 +26,3 @@ tokio = { version = "1", default-features = false, features = [ "test-util", "time", ] } -linkerd-tracing = { path = "../tracing", features = ["ansi"] } diff --git a/linkerd/meshtls/boring/Cargo.toml b/linkerd/meshtls/boring/Cargo.toml index 1cf7755ea..c8ac2f93f 100644 --- a/linkerd/meshtls/boring/Cargo.toml +++ b/linkerd/meshtls/boring/Cargo.toml @@ -8,7 +8,6 @@ publish = { workspace = true } [dependencies] boring = "4" -futures = { version = "0.3", default-features = false } hex = "0.4" # used for debug logging tokio = { version = "1", features = ["macros", "sync"] } tokio-boring = "4" @@ -27,4 +26,3 @@ fips = ["boring/fips"] [dev-dependencies] linkerd-tls-test-util = { path = "../../tls/test-util" } -linkerd-meshtls = { path = "../../meshtls" } diff --git a/linkerd/metrics/Cargo.toml b/linkerd/metrics/Cargo.toml index 897684f7b..eecd0a9eb 100644 --- a/linkerd/metrics/Cargo.toml +++ b/linkerd/metrics/Cargo.toml @@ -16,9 +16,7 @@ test_util = [] bytes = { workspace = true } deflate = { version = "1", features = ["gzip"] } http = { workspace = true } -http-body = { workspace = true } http-body-util = { workspace = true } -hyper = { workspace = true, features = ["http1", "http2"] } kubert-prometheus-process = { version = "0.2", optional = true } parking_lot = "0.12" prometheus-client = { workspace = true } diff --git a/linkerd/pool/p2c/Cargo.toml b/linkerd/pool/p2c/Cargo.toml index 3c6746ca7..f9fafea01 100644 --- a/linkerd/pool/p2c/Cargo.toml +++ b/linkerd/pool/p2c/Cargo.toml @@ -9,10 +9,8 @@ publish = { workspace = true } [dependencies] ahash = "0.8" futures = { version = "0.3", default-features = false } -indexmap = "2" prometheus-client = { workspace = true } rand = { version = "0.9", features = ["small_rng"] } -tokio = { version = "1", features = ["rt", "sync", "time"] } tracing = { workspace = true } linkerd-error = { path = "../../error" } @@ -30,5 +28,6 @@ futures-util = { version = "0.3", default-features = false } linkerd-tracing = { path = "../../tracing" } parking_lot = "0.12" quickcheck = { version = "1", default-features = false } +tokio = { version = "1", features = ["rt", "sync", "time"] } tokio-test = "0.4" tower-test = { workspace = true } diff --git a/linkerd/proxy/api-resolve/Cargo.toml b/linkerd/proxy/api-resolve/Cargo.toml index 579d18d57..cbcb5ac8f 100644 --- a/linkerd/proxy/api-resolve/Cargo.toml +++ b/linkerd/proxy/api-resolve/Cargo.toml @@ -22,8 +22,6 @@ linkerd-tls = { path = "../../tls" } linkerd-identity = { path = "../../identity" } http = { workspace = true } http-body = { workspace = true } -pin-project = "1" -prost = { workspace = true } tonic = { workspace = true, default-features = false } tower = { workspace = true, default-features = false } tracing = { workspace = true } diff --git a/linkerd/proxy/balance/Cargo.toml b/linkerd/proxy/balance/Cargo.toml index 707334953..db23fd91c 100644 --- a/linkerd/proxy/balance/Cargo.toml +++ b/linkerd/proxy/balance/Cargo.toml @@ -8,7 +8,6 @@ publish = { workspace = true } [dependencies] futures = { version = "0.3", default-features = false } -rand = "0.9" tokio = { version = "1", features = ["time"] } tracing = { workspace = true } diff --git a/linkerd/proxy/balance/queue/Cargo.toml b/linkerd/proxy/balance/queue/Cargo.toml index 09195832b..c621dc83d 100644 --- a/linkerd/proxy/balance/queue/Cargo.toml +++ b/linkerd/proxy/balance/queue/Cargo.toml @@ -10,8 +10,6 @@ publish = { workspace = true } futures = { version = "0.3", default-features = false } parking_lot = "0.12" pin-project = "1" -prometheus-client = { workspace = true } -thiserror = "2" tokio = { version = "1", features = ["rt", "sync", "time"] } tokio-util = "0.7" tracing = { workspace = true } @@ -25,7 +23,6 @@ linkerd-stack = { path = "../../../stack" } [dev-dependencies] tokio-stream = { version = "0.1", features = ["sync"] } tokio-test = "0.4" -tower-test = { workspace = true } linkerd-pool-mock = { path = "../../../pool/mock" } linkerd-tracing = { path = "../../../tracing" } diff --git a/linkerd/proxy/client-policy/Cargo.toml b/linkerd/proxy/client-policy/Cargo.toml index 88d4356dc..8a219b9e2 100644 --- a/linkerd/proxy/client-policy/Cargo.toml +++ b/linkerd/proxy/client-policy/Cargo.toml @@ -17,7 +17,6 @@ proto = [ [dependencies] ahash = "0.8" -ipnet = "2" http = { workspace = true } once_cell = { version = "1" } prost-types = { workspace = true, optional = true } @@ -30,13 +29,8 @@ linkerd-http-route = { path = "../../http/route" } linkerd-tls-route = { path = "../../tls/route" } linkerd-opaq-route = { path = "../../opaq-route" } linkerd-proxy-api-resolve = { path = "../api-resolve" } -linkerd-proxy-core = { path = "../core" } [dependencies.linkerd2-proxy-api] workspace = true optional = true features = ["outbound"] - -[dev-dependencies] -maplit = "1" -quickcheck = { version = "1", default-features = false } diff --git a/linkerd/proxy/http/Cargo.toml b/linkerd/proxy/http/Cargo.toml index d1d4f7bac..32c706b31 100644 --- a/linkerd/proxy/http/Cargo.toml +++ b/linkerd/proxy/http/Cargo.toml @@ -12,14 +12,11 @@ This should probably be decomposed into smaller, decoupled crates. """ [dependencies] -async-trait = "0.1" -bytes = { workspace = true } drain = { workspace = true } futures = { version = "0.3", default-features = false } h2 = { workspace = true } http = { workspace = true } http-body = { workspace = true } -httparse = "1" hyper = { workspace = true, features = [ "client", "http1", @@ -35,16 +32,12 @@ hyper-util = { workspace = true, default-features = false, features = [ "tokio", "tracing", ] } -parking_lot = "0.12" pin-project = "1" -rand = "0.9" thiserror = "2" tokio = { version = "1", features = ["rt", "sync", "time"] } tower = { workspace = true, default-features = false } tracing = { workspace = true } -try-lock = "0.2" -linkerd-duplex = { path = "../../duplex" } linkerd-error = { path = "../../error" } linkerd-http-box = { path = "../../http/box" } linkerd-http-classify = { path = "../../http/classify" } @@ -61,8 +54,8 @@ linkerd-proxy-balance = { path = "../balance" } linkerd-stack = { path = "../../stack" } [dev-dependencies] +bytes = { workspace = true } http-body-util = { workspace = true, features = ["channel"] } -tokio-test = "0.4" tower-test = { workspace = true } linkerd-tracing = { path = "../../tracing", features = ["ansi"] } diff --git a/linkerd/proxy/identity-client/Cargo.toml b/linkerd/proxy/identity-client/Cargo.toml index 51cdae9f1..cef33a504 100644 --- a/linkerd/proxy/identity-client/Cargo.toml +++ b/linkerd/proxy/identity-client/Cargo.toml @@ -7,15 +7,11 @@ edition = { workspace = true } publish = { workspace = true } [dependencies] -futures = { version = "0.3", default-features = false } linkerd2-proxy-api = { workspace = true, features = ["identity"] } linkerd-dns-name = { path = "../../dns/name" } linkerd-error = { path = "../../error" } linkerd-identity = { path = "../../identity" } -linkerd-metrics = { path = "../../metrics" } linkerd-stack = { path = "../../stack" } -parking_lot = "0.12" -pin-project = "1" thiserror = "2" tokio = { version = "1", features = ["time", "sync"] } tonic = { workspace = true, default-features = false } diff --git a/linkerd/proxy/spire-client/Cargo.toml b/linkerd/proxy/spire-client/Cargo.toml index 20fd3448b..a0691728b 100644 --- a/linkerd/proxy/spire-client/Cargo.toml +++ b/linkerd/proxy/spire-client/Cargo.toml @@ -14,7 +14,6 @@ linkerd-identity = { path = "../../identity" } spiffe-proto = { path = "../../../spiffe-proto" } linkerd-tonic-watch = { path = "../../tonic-watch" } linkerd-exp-backoff = { path = "../../exp-backoff" } -linkerd-stack = { path = "../../stack" } tokio = { version = "1", features = ["time", "sync"] } tonic = { workspace = true } tower = { workspace = true } @@ -25,4 +24,3 @@ thiserror = "2" [dev-dependencies] rcgen = { version = "0.14.3", default-features = false, features = ["crypto", "pem", "aws_lc_rs"] } -tokio-test = "0.4" diff --git a/linkerd/proxy/tap/Cargo.toml b/linkerd/proxy/tap/Cargo.toml index 265eca2d9..f0b9156ca 100644 --- a/linkerd/proxy/tap/Cargo.toml +++ b/linkerd/proxy/tap/Cargo.toml @@ -24,7 +24,6 @@ linkerd-stack = { path = "../../stack" } linkerd-tls = { path = "../../tls" } parking_lot = "0.12" prost-types = { workspace = true } -rand = { version = "0.9" } thiserror = "2" tokio = { version = "1", features = ["time"] } tower = { workspace = true, default-features = false } diff --git a/linkerd/proxy/tcp/Cargo.toml b/linkerd/proxy/tcp/Cargo.toml index dbe9f1737..9c3a38bd1 100644 --- a/linkerd/proxy/tcp/Cargo.toml +++ b/linkerd/proxy/tcp/Cargo.toml @@ -12,7 +12,5 @@ linkerd-duplex = { path = "../../duplex" } linkerd-error = { path = "../../error" } linkerd-proxy-balance = { path = "../../proxy/balance" } linkerd-stack = { path = "../../stack" } -rand = "0.9" tokio = { version = "1" } tower = { workspace = true, default-features = false } -pin-project = "1" diff --git a/linkerd/reconnect/Cargo.toml b/linkerd/reconnect/Cargo.toml index 690975081..39f5da8be 100644 --- a/linkerd/reconnect/Cargo.toml +++ b/linkerd/reconnect/Cargo.toml @@ -10,9 +10,7 @@ publish = { workspace = true } linkerd-error = { path = "../error" } linkerd-stack = { path = "../stack" } futures = { version = "0.3", default-features = false } -tower = { workspace = true, default-features = false } tracing = { workspace = true } -pin-project = "1" [dev-dependencies] linkerd-tracing = { path = "../tracing" } diff --git a/linkerd/router/Cargo.toml b/linkerd/router/Cargo.toml index b172d09ac..9c8b1d9e5 100644 --- a/linkerd/router/Cargo.toml +++ b/linkerd/router/Cargo.toml @@ -10,7 +10,6 @@ publish = { workspace = true } ahash = "0.8" futures = { version = "0.3", default-features = false } parking_lot = "0.12" -thiserror = "2" tracing = { workspace = true } linkerd-error = { path = "../error" } linkerd-stack = { path = "../stack" } diff --git a/linkerd/service-profiles/Cargo.toml b/linkerd/service-profiles/Cargo.toml index f2fd526e0..d63bdf35d 100644 --- a/linkerd/service-profiles/Cargo.toml +++ b/linkerd/service-profiles/Cargo.toml @@ -10,7 +10,6 @@ Implements client layers for Linkerd ServiceProfiles. """ [dependencies] -bytes = { workspace = true } futures = { version = "0.3", default-features = false } http = { workspace = true } http-body = { workspace = true } @@ -28,7 +27,6 @@ tracing = { workspace = true } linkerd-addr = { path = "../addr" } linkerd-dns-name = { path = "../dns/name" } linkerd-error = { path = "../error" } -linkerd-http-box = { path = "../http/box" } linkerd-proxy-api-resolve = { path = "../proxy/api-resolve" } linkerd-stack = { path = "../stack" } linkerd-tonic-stream = { path = "../tonic-stream" } diff --git a/linkerd/stack/tracing/Cargo.toml b/linkerd/stack/tracing/Cargo.toml index 5319f570f..ea8c4bb73 100644 --- a/linkerd/stack/tracing/Cargo.toml +++ b/linkerd/stack/tracing/Cargo.toml @@ -7,8 +7,6 @@ edition = { workspace = true } publish = { workspace = true } [dependencies] -futures = { version = "0.3", default-features = false } -linkerd-error = { path = "../../error" } linkerd-stack = { path = ".." } tower = { workspace = true } tracing = { workspace = true } diff --git a/linkerd/tls/Cargo.toml b/linkerd/tls/Cargo.toml index caa2bc469..1cb9f8b74 100644 --- a/linkerd/tls/Cargo.toml +++ b/linkerd/tls/Cargo.toml @@ -7,7 +7,6 @@ edition = { workspace = true } publish = { workspace = true } [dependencies] -async-trait = "0.1" bytes = { workspace = true } futures = { version = "0.3", default-features = false } linkerd-conditional = { path = "../conditional" } @@ -19,7 +18,6 @@ linkerd-stack = { path = "../stack" } pin-project = "1" thiserror = "2" tokio = { version = "1", features = ["macros", "time"] } -tower = { workspace = true } tracing = { workspace = true } untrusted = "0.9" diff --git a/linkerd/tls/route/Cargo.toml b/linkerd/tls/route/Cargo.toml index 290b5b99c..8bb307196 100644 --- a/linkerd/tls/route/Cargo.toml +++ b/linkerd/tls/route/Cargo.toml @@ -10,8 +10,6 @@ publish = { workspace = true } proto = ["linkerd2-proxy-api"] [dependencies] -regex = "1" -rand = "0.9" thiserror = "2" tracing = { workspace = true } linkerd-tls = { path = "../" } diff --git a/linkerd/tonic-stream/Cargo.toml b/linkerd/tonic-stream/Cargo.toml index 5856751b7..9e87c92da 100644 --- a/linkerd/tonic-stream/Cargo.toml +++ b/linkerd/tonic-stream/Cargo.toml @@ -15,7 +15,6 @@ tokio = { version = "1", features = ["time"] } tracing = { workspace = true } [dev-dependencies] -tokio = { version = "1", features = ["macros"] } -tokio-test = "0.4" +tokio = { version = "1", features = ["macros", "test-util"] } tokio-stream = { version = "0.1", features = ["sync"] } linkerd-tracing = { path = "../tracing" } diff --git a/linkerd/tonic-watch/Cargo.toml b/linkerd/tonic-watch/Cargo.toml index 9ec1f4ec8..16522ea9d 100644 --- a/linkerd/tonic-watch/Cargo.toml +++ b/linkerd/tonic-watch/Cargo.toml @@ -21,5 +21,4 @@ tracing = { workspace = true } linkerd-tracing = { path = "../tracing" } tokio = { version = "1", features = ["macros"] } tokio-stream = { version = "0.1", features = ["sync", "time"] } -tokio-test = "0.4" tower-test = { workspace = true } diff --git a/linkerd/transport-header/Cargo.toml b/linkerd/transport-header/Cargo.toml index 6aa7137ad..50b4db09d 100644 --- a/linkerd/transport-header/Cargo.toml +++ b/linkerd/transport-header/Cargo.toml @@ -7,9 +7,7 @@ edition = { workspace = true } publish = { workspace = true } [dependencies] -async-trait = "0.1" bytes = { workspace = true } -futures = { version = "0.3", default-features = false } linkerd-dns-name = { path = "../dns/name" } linkerd-error = { path = "../error" } linkerd-io = { path = "../io" } diff --git a/opencensus-proto/Cargo.toml b/opencensus-proto/Cargo.toml index 7b6ac6a1e..fd6f58d5f 100644 --- a/opencensus-proto/Cargo.toml +++ b/opencensus-proto/Cargo.toml @@ -12,7 +12,6 @@ Vendored from https://github.com/census-instrumentation/opencensus-proto/. """ [dependencies] -bytes = { workspace = true } prost = { workspace = true } prost-types = { workspace = true } diff --git a/spiffe-proto/Cargo.toml b/spiffe-proto/Cargo.toml index 28ce208ba..5ad847d60 100644 --- a/spiffe-proto/Cargo.toml +++ b/spiffe-proto/Cargo.toml @@ -7,9 +7,7 @@ edition = { workspace = true } publish = { workspace = true } [dependencies] -bytes = { workspace = true } prost = { workspace = true } -prost-types = { workspace = true } [dependencies.tonic] workspace = true From c4cae21e11d5e5ad7056889e58918ecb68592aa7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:09:16 -0700 Subject: [PATCH 36/38] build(deps): bump syn from 2.0.104 to 2.0.105 (#4067) Bumps [syn](https://github.com/dtolnay/syn) from 2.0.104 to 2.0.105. - [Release notes](https://github.com/dtolnay/syn/releases) - [Commits](https://github.com/dtolnay/syn/compare/2.0.104...2.0.105) --- updated-dependencies: - dependency-name: syn dependency-version: 2.0.105 dependency-type: indirect update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- Cargo.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bcdb1e7a1..3ec61ee2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3931,9 +3931,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.104" +version = "2.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17b6f705963418cdb9927482fa304bc562ece2fdd4f616084c50b7023b435a40" +checksum = "7bc3fcb250e53458e712715cf74285c1f889686520d79294a9ef3bd7aa1fc619" dependencies = [ "proc-macro2", "quote", From 2156c3d5e342955e324655f3a0b7fa11f94c4ae5 Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Wed, 13 Aug 2025 13:13:57 -0400 Subject: [PATCH 37/38] chore(tls): Remove `ring` as `rustls` crypto backend (#4029) * chore(tls): Remove ring as crypto backend The broader ecosystem has mostly moved to aws-lc-rs as the primary rustls backend, and we should follow suit. This will also simplify the maintenance of the proxy's TLS implementation in the long term. There will need to be some refactoring to clean up the rustls provider interfaces, but that will come in follow-ups. Signed-off-by: Scott Fleener * chore(tls): Restore existing aws-lc feature names for compatibility Signed-off-by: Scott Fleener * fix(tls): Use correct feature name for fips conditionals Signed-off-by: Scott Fleener --------- Signed-off-by: Scott Fleener --- Cargo.lock | 1 - deny.toml | 15 +----- linkerd/meshtls/Cargo.toml | 4 +- linkerd/meshtls/rustls/Cargo.toml | 9 ++-- linkerd/meshtls/rustls/src/backend.rs | 17 +------ linkerd/meshtls/rustls/src/backend/ring.rs | 55 ---------------------- linkerd2-proxy/Cargo.toml | 5 +- linkerd2-proxy/src/main.rs | 7 +-- 8 files changed, 11 insertions(+), 102 deletions(-) delete mode 100644 linkerd/meshtls/rustls/src/backend/ring.rs diff --git a/Cargo.lock b/Cargo.lock index 3ec61ee2c..f8d83b462 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3689,7 +3689,6 @@ dependencies = [ "aws-lc-rs", "log", "once_cell", - "ring", "rustls-pki-types", "rustls-webpki", "subtle", diff --git a/deny.toml b/deny.toml index 315c49ee4..bf8fc90b3 100644 --- a/deny.toml +++ b/deny.toml @@ -23,11 +23,6 @@ allow = [ private = { ignore = true } confidence-threshold = 0.8 exceptions = [ - { allow = [ - "ISC", - "MIT", - "OpenSSL", - ], name = "ring", version = "*" }, { allow = [ "ISC", "OpenSSL", @@ -38,14 +33,6 @@ exceptions = [ ], name = "aws-lc-fips-sys", version = "*" }, ] -[[licenses.clarify]] -name = "ring" -version = "*" -expression = "MIT AND ISC AND OpenSSL" -license-files = [ - { path = "LICENSE", hash = 0xbd0eed23 }, -] - [bans] multiple-versions = "deny" # Wildcard dependencies are used for all workspace-local crates. @@ -55,6 +42,8 @@ deny = [ { name = "rustls", wrappers = ["tokio-rustls"] }, # rustls-webpki should be used instead. { name = "webpki" }, + # aws-lc-rs should be used instead. + { name = "ring" } ] skip = [ # `linkerd-trace-context`, `rustls-pemfile` and `tonic` depend on `base64` diff --git a/linkerd/meshtls/Cargo.toml b/linkerd/meshtls/Cargo.toml index a870e7c51..28e978348 100644 --- a/linkerd/meshtls/Cargo.toml +++ b/linkerd/meshtls/Cargo.toml @@ -8,9 +8,7 @@ publish = { workspace = true } [features] rustls = ["linkerd-meshtls-rustls", "__has_any_tls_impls"] -rustls-aws-lc = ["rustls", "linkerd-meshtls-rustls/aws-lc"] -rustls-aws-lc-fips = ["rustls-aws-lc", "linkerd-meshtls-rustls/aws-lc-fips"] -rustls-ring = ["rustls", "linkerd-meshtls-rustls/ring"] +rustls-aws-lc-fips = ["linkerd-meshtls-rustls/aws-lc-fips"] boring = ["linkerd-meshtls-boring", "__has_any_tls_impls"] boring-fips = ["boring", "linkerd-meshtls-boring/fips"] # Enabled if *any* TLS impl is enabled. diff --git a/linkerd/meshtls/rustls/Cargo.toml b/linkerd/meshtls/rustls/Cargo.toml index f5b34dddc..b51b91f1a 100644 --- a/linkerd/meshtls/rustls/Cargo.toml +++ b/linkerd/meshtls/rustls/Cargo.toml @@ -7,19 +7,16 @@ edition = "2018" publish = { workspace = true } [features] -default = ["aws-lc"] -ring = ["tokio-rustls/ring", "rustls-webpki/ring"] -aws-lc = ["tokio-rustls/aws-lc-rs", "rustls-webpki/aws-lc-rs"] -aws-lc-fips = ["aws-lc", "tokio-rustls/fips"] +aws-lc-fips = ["tokio-rustls/fips"] test-util = ["linkerd-tls-test-util"] [dependencies] futures = { version = "0.3", default-features = false } rustls-pemfile = "2.2" -rustls-webpki = { version = "0.103.4", default-features = false, features = ["std"] } +rustls-webpki = { version = "0.103.4", default-features = false, features = ["std", "aws-lc-rs"] } thiserror = "2" tokio = { version = "1", features = ["macros", "rt", "sync"] } -tokio-rustls = { workspace = true } +tokio-rustls = { workspace = true, features = ["aws-lc-rs"] } tracing = { workspace = true } linkerd-dns-name = { path = "../../dns/name" } diff --git a/linkerd/meshtls/rustls/src/backend.rs b/linkerd/meshtls/rustls/src/backend.rs index edfc64d15..bb60c3207 100644 --- a/linkerd/meshtls/rustls/src/backend.rs +++ b/linkerd/meshtls/rustls/src/backend.rs @@ -1,16 +1,3 @@ -#[cfg(all(feature = "aws-lc", feature = "ring"))] -compile_error!( - "Multiple rustls backends enabled. Enabled one of the \"ring\" or \"aws-lc\" features" -); -#[cfg(not(any(feature = "aws-lc", feature = "ring")))] -compile_error!("No rustls backend enabled. Enabled one of the \"ring\" or \"aws-lc\" features"); - -#[cfg(feature = "aws-lc")] -mod aws_lc; -#[cfg(feature = "ring")] -mod ring; - -#[cfg(feature = "aws-lc")] pub use aws_lc::{default_provider, SUPPORTED_SIG_ALGS, TLS_SUPPORTED_CIPHERSUITES}; -#[cfg(feature = "ring")] -pub use ring::{default_provider, SUPPORTED_SIG_ALGS, TLS_SUPPORTED_CIPHERSUITES}; + +mod aws_lc; diff --git a/linkerd/meshtls/rustls/src/backend/ring.rs b/linkerd/meshtls/rustls/src/backend/ring.rs deleted file mode 100644 index 37e54792f..000000000 --- a/linkerd/meshtls/rustls/src/backend/ring.rs +++ /dev/null @@ -1,55 +0,0 @@ -pub use ring::default_provider; -use tokio_rustls::rustls::{ - self, - crypto::{ring, WebPkiSupportedAlgorithms}, -}; - -pub static TLS_SUPPORTED_CIPHERSUITES: &[rustls::SupportedCipherSuite] = &[ - ring::cipher_suite::TLS13_AES_128_GCM_SHA256, - ring::cipher_suite::TLS13_AES_256_GCM_SHA384, - ring::cipher_suite::TLS13_CHACHA20_POLY1305_SHA256, -]; -// A subset of the algorithms supported by rustls+ring, imported from -// https://github.com/rustls/rustls/blob/v/0.23.21/rustls/src/crypto/ring/mod.rs#L107 -pub static SUPPORTED_SIG_ALGS: &WebPkiSupportedAlgorithms = &WebPkiSupportedAlgorithms { - all: &[ - webpki::ring::ECDSA_P256_SHA256, - webpki::ring::ECDSA_P256_SHA384, - webpki::ring::ECDSA_P384_SHA256, - webpki::ring::ECDSA_P384_SHA384, - webpki::ring::ED25519, - webpki::ring::RSA_PKCS1_2048_8192_SHA256, - webpki::ring::RSA_PKCS1_2048_8192_SHA384, - webpki::ring::RSA_PKCS1_2048_8192_SHA512, - webpki::ring::RSA_PKCS1_3072_8192_SHA384, - ], - mapping: &[ - ( - rustls::SignatureScheme::ECDSA_NISTP384_SHA384, - &[ - webpki::ring::ECDSA_P384_SHA384, - webpki::ring::ECDSA_P256_SHA384, - ], - ), - ( - rustls::SignatureScheme::ECDSA_NISTP256_SHA256, - &[ - webpki::ring::ECDSA_P256_SHA256, - webpki::ring::ECDSA_P384_SHA256, - ], - ), - (rustls::SignatureScheme::ED25519, &[webpki::ring::ED25519]), - ( - rustls::SignatureScheme::RSA_PKCS1_SHA512, - &[webpki::ring::RSA_PKCS1_2048_8192_SHA512], - ), - ( - rustls::SignatureScheme::RSA_PKCS1_SHA384, - &[webpki::ring::RSA_PKCS1_2048_8192_SHA384], - ), - ( - rustls::SignatureScheme::RSA_PKCS1_SHA256, - &[webpki::ring::RSA_PKCS1_2048_8192_SHA256], - ), - ], -}; diff --git a/linkerd2-proxy/Cargo.toml b/linkerd2-proxy/Cargo.toml index 429a49430..81f570250 100644 --- a/linkerd2-proxy/Cargo.toml +++ b/linkerd2-proxy/Cargo.toml @@ -8,12 +8,11 @@ publish = { workspace = true } description = "The main proxy executable" [features] -default = ["meshtls-rustls-aws-lc"] +default = ["meshtls-rustls"] meshtls-boring = ["linkerd-meshtls/boring"] meshtls-boring-fips = ["linkerd-meshtls/boring-fips"] -meshtls-rustls-aws-lc = ["linkerd-meshtls/rustls-aws-lc"] +meshtls-rustls = ["linkerd-meshtls/rustls"] meshtls-rustls-aws-lc-fips = ["linkerd-meshtls/rustls-aws-lc-fips"] -meshtls-rustls-ring = ["linkerd-meshtls/rustls-ring"] log-streaming = ["linkerd-app/log-streaming"] pprof = ["linkerd-app/pprof"] # From https://github.com/polarsignals/rust-jemalloc-pprof/blob/bcf1ad7f7ad3ec8e71098f4d5a9ce55905c7a602/README.md#usage diff --git a/linkerd2-proxy/src/main.rs b/linkerd2-proxy/src/main.rs index 17fc1f9e3..f0f782451 100644 --- a/linkerd2-proxy/src/main.rs +++ b/linkerd2-proxy/src/main.rs @@ -6,12 +6,7 @@ // Emit a compile-time error if no TLS implementations are enabled. When adding // new implementations, add their feature flags here! -#[cfg(not(any( - feature = "meshtls-boring", - feature = "meshtls-rustls-ring", - feature = "meshtls-rustls-aws-lc", - feature = "meshtls-rustls-aws-lc-fips" -)))] +#[cfg(not(any(feature = "meshtls-boring", feature = "meshtls-rustls",)))] compile_error!( "at least one of the following TLS implementations must be enabled: 'meshtls-boring', 'meshtls-rustls'" ); From 2b0e723027b2d6e1adcb7dbfc967f718e48a042d Mon Sep 17 00:00:00 2001 From: Scott Fleener Date: Wed, 13 Aug 2025 13:45:42 -0400 Subject: [PATCH 38/38] chore(deps): Update tonic deps to 0.13 (#4066) * chore(deps): Update tonic deps to 0.13 Signed-off-by: Scott Fleener * chore(deps): Update linkerd2-proxy-api to 0.17.0 Signed-off-by: Scott Fleener --------- Signed-off-by: Scott Fleener --- Cargo.lock | 146 +++++++----------- Cargo.toml | 6 +- linkerd/app/core/src/control.rs | 2 +- linkerd/app/inbound/src/policy/api.rs | 4 +- linkerd/app/inbound/src/policy/config.rs | 2 +- linkerd/app/inbound/src/policy/store.rs | 4 +- linkerd/app/inbound/src/policy/tcp/tests.rs | 4 +- linkerd/app/inbound/src/server.rs | 2 +- linkerd/app/integration/Cargo.toml | 2 +- linkerd/app/integration/src/policy.rs | 12 +- linkerd/app/outbound/src/lib.rs | 2 +- linkerd/app/outbound/src/policy/api.rs | 4 +- linkerd/app/src/dst.rs | 2 +- linkerd/app/src/policy.rs | 2 +- .../app/src/trace_collector/oc_collector.rs | 4 +- .../app/src/trace_collector/otel_collector.rs | 4 +- linkerd/opencensus/src/lib.rs | 6 +- linkerd/opentelemetry/src/lib.rs | 6 +- linkerd/proxy/api-resolve/src/resolve.rs | 6 +- linkerd/proxy/identity-client/src/certify.rs | 6 +- linkerd/proxy/spire-client/src/api.rs | 4 +- linkerd/service-profiles/src/client.rs | 10 +- .../gen/opencensus.proto.agent.trace.v1.rs | 8 +- .../opentelemetry.proto.collector.trace.v1.rs | 8 +- spiffe-proto/src/gen/spiffe.workloadapi.rs | 8 +- 25 files changed, 114 insertions(+), 150 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f8d83b462..b722ac2c8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -199,11 +199,10 @@ dependencies = [ [[package]] name = "axum" -version = "0.7.9" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" +checksum = "021e862c184ae977658b36c4500f7feac3221ca5da43e3f25bd04ab6c79a29b5" dependencies = [ - "async-trait", "axum-core", "bytes", "futures-util", @@ -219,20 +218,19 @@ dependencies = [ "rustversion", "serde", "sync_wrapper", - "tower 0.5.2", + "tower", "tower-layer", "tower-service", ] [[package]] name = "axum-core" -version = "0.4.5" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" +checksum = "68464cd0412f486726fb3373129ef5d2993f90c34bc2bc1c1e9943b2f4fc7ca6" dependencies = [ - "async-trait", "bytes", - "futures-util", + "futures-core", "http", "http-body", "http-body-util", @@ -909,7 +907,7 @@ dependencies = [ "futures-sink", "futures-timer", "futures-util", - "hashbrown 0.15.2", + "hashbrown", "nonzero_ext", "parking_lot", "portable-atomic", @@ -939,19 +937,13 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.10.0", + "indexmap", "slab", "tokio", "tokio-util", "tracing", ] -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - [[package]] name = "hashbrown" version = "0.15.2" @@ -1115,7 +1107,7 @@ dependencies = [ "pin-project", "tokio", "tokio-test", - "tower 0.5.2", + "tower", ] [[package]] @@ -1259,16 +1251,6 @@ dependencies = [ "icu_properties", ] -[[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.10.0" @@ -1276,7 +1258,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661" dependencies = [ "equivalent", - "hashbrown 0.15.2", + "hashbrown", ] [[package]] @@ -1441,7 +1423,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -1476,7 +1458,7 @@ dependencies = [ "tokio", "tokio-stream", "tonic", - "tower 0.5.2", + "tower", "tracing", ] @@ -1499,7 +1481,7 @@ dependencies = [ "serde_json", "thiserror 2.0.14", "tokio", - "tower 0.5.2", + "tower", "tracing", ] @@ -1562,7 +1544,7 @@ dependencies = [ "tokio-rustls", "tokio-stream", "tonic", - "tower 0.5.2", + "tower", "tracing", ] @@ -1583,7 +1565,7 @@ dependencies = [ "tokio", "tokio-test", "tonic", - "tower 0.5.2", + "tower", "tower-test", "tracing", ] @@ -1622,7 +1604,7 @@ dependencies = [ "tokio", "tokio-test", "tonic", - "tower 0.5.2", + "tower", "tracing", ] @@ -1659,7 +1641,7 @@ dependencies = [ "tokio-rustls", "tokio-stream", "tonic", - "tower 0.5.2", + "tower", "tracing", "tracing-subscriber", ] @@ -1708,7 +1690,7 @@ dependencies = [ "tokio-rustls", "tokio-test", "tonic", - "tower 0.5.2", + "tower", "tower-test", "tracing", ] @@ -1734,7 +1716,7 @@ dependencies = [ "tokio-stream", "tokio-test", "tonic", - "tower 0.5.2", + "tower", "tracing", "tracing-subscriber", ] @@ -1901,7 +1883,7 @@ dependencies = [ "http", "linkerd-stack", "pin-project", - "tower 0.5.2", + "tower", ] [[package]] @@ -1918,7 +1900,7 @@ dependencies = [ "parking_lot", "pin-project", "tokio", - "tower 0.5.2", + "tower", "tracing", ] @@ -1928,7 +1910,7 @@ version = "0.1.0" dependencies = [ "http", "linkerd-stack", - "tower 0.5.2", + "tower", "tracing", ] @@ -1958,7 +1940,7 @@ dependencies = [ "http-body", "linkerd-stack", "pin-project", - "tower 0.5.2", + "tower", ] [[package]] @@ -1981,7 +1963,7 @@ dependencies = [ "pin-project", "thiserror 2.0.14", "tokio", - "tower 0.5.2", + "tower", "tracing", ] @@ -2033,7 +2015,7 @@ dependencies = [ "pin-project", "thiserror 2.0.14", "tokio", - "tower 0.5.2", + "tower", "tracing", "try-lock", ] @@ -2066,7 +2048,7 @@ dependencies = [ "linkerd-stack", "parking_lot", "tokio", - "tower 0.5.2", + "tower", "tracing", ] @@ -2263,7 +2245,7 @@ dependencies = [ "rand 0.9.2", "tokio", "tokio-test", - "tower 0.5.2", + "tower", "tower-test", "tracing", ] @@ -2285,7 +2267,7 @@ dependencies = [ "linkerd-tonic-stream", "linkerd2-proxy-api", "tonic", - "tower 0.5.2", + "tower", "tracing", ] @@ -2302,7 +2284,7 @@ dependencies = [ "linkerd-proxy-core", "linkerd-stack", "tokio", - "tower 0.5.2", + "tower", "tracing", ] @@ -2360,7 +2342,7 @@ version = "0.1.0" dependencies = [ "futures", "linkerd-error", - "tower 0.5.2", + "tower", ] [[package]] @@ -2375,7 +2357,7 @@ dependencies = [ "linkerd-stack", "tokio", "tokio-stream", - "tower 0.5.2", + "tower", "tracing", ] @@ -2412,7 +2394,7 @@ dependencies = [ "thiserror 2.0.14", "tokio", "tokio-test", - "tower 0.5.2", + "tower", "tower-test", "tracing", ] @@ -2442,7 +2424,7 @@ dependencies = [ "linkerd-proxy-core", "pin-project", "thiserror 2.0.14", - "tower 0.5.2", + "tower", "tracing", ] @@ -2479,7 +2461,7 @@ dependencies = [ "thiserror 2.0.14", "tokio", "tonic", - "tower 0.5.2", + "tower", "tracing", "x509-parser", ] @@ -2510,7 +2492,7 @@ dependencies = [ "thiserror 2.0.14", "tokio", "tonic", - "tower 0.5.2", + "tower", "tracing", ] @@ -2524,7 +2506,7 @@ dependencies = [ "linkerd-proxy-balance", "linkerd-stack", "tokio", - "tower 0.5.2", + "tower", ] [[package]] @@ -2565,7 +2547,7 @@ dependencies = [ "futures", "linkerd-error", "linkerd-stack", - "tower 0.5.2", + "tower", "tracing", ] @@ -2604,7 +2586,7 @@ dependencies = [ "tokio", "tokio-stream", "tonic", - "tower 0.5.2", + "tower", "tracing", ] @@ -2629,7 +2611,7 @@ dependencies = [ "tokio", "tokio-test", "tokio-util", - "tower 0.5.2", + "tower", "tower-test", "tracing", ] @@ -2642,7 +2624,7 @@ dependencies = [ "parking_lot", "tokio", "tokio-test", - "tower 0.5.2", + "tower", "tower-test", ] @@ -2651,7 +2633,7 @@ name = "linkerd-stack-tracing" version = "0.1.0" dependencies = [ "linkerd-stack", - "tower 0.5.2", + "tower", "tracing", ] @@ -2732,7 +2714,7 @@ dependencies = [ "linkerd-stack", "rand 0.8.5", "thiserror 1.0.69", - "tower 0.5.2", + "tower", "tracing", ] @@ -2804,9 +2786,9 @@ dependencies = [ [[package]] name = "linkerd2-proxy-api" -version = "0.16.0" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f53a8c17b8e81a58651c4e83cef64a8a3d7fba4d0ed224f3ca7e5c40265ec135" +checksum = "bb83fdbbcea49285182d75aacc20ced8ebce60030be1d72d87b00f58f07d267d" dependencies = [ "h2", "http", @@ -2882,9 +2864,9 @@ dependencies = [ [[package]] name = "matchit" -version = "0.7.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" +checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3" [[package]] name = "memchr" @@ -3180,7 +3162,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4c5cc86750666a3ed20bdaf5ca2a0344f9c67674cae0515bec2da16fbaa47db" dependencies = [ "fixedbitset", - "indexmap 2.10.0", + "indexmap", ] [[package]] @@ -4214,11 +4196,10 @@ dependencies = [ [[package]] name = "tonic" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c5b330756d856ffcc4553ab34a5684481ade925ecc54bcd1bf02b1d0d4d52" +checksum = "7e581ba15a835f4d9ea06c55ab1bd4dce26fc53752c69a04aac00703bfb49ba9" dependencies = [ - "async-stream", "async-trait", "axum", "base64 0.22.0", @@ -4236,7 +4217,7 @@ dependencies = [ "socket2 0.5.10", "tokio", "tokio-stream", - "tower 0.4.13", + "tower", "tower-layer", "tower-service", "tracing", @@ -4244,9 +4225,9 @@ dependencies = [ [[package]] name = "tonic-build" -version = "0.12.3" +version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9557ce109ea773b399c9b9e5dca39294110b74f1f342cb347a80d1fce8c26a11" +checksum = "eac6f67be712d12f0b41328db3137e0d0757645d8904b4cb7d51cd9c2279e847" dependencies = [ "prettyplease", "proc-macro2", @@ -4263,26 +4244,6 @@ dependencies = [ "tonic-build", ] -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -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", -] - [[package]] name = "tower" version = "0.5.2" @@ -4291,8 +4252,9 @@ checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" dependencies = [ "futures-core", "futures-util", - "indexmap 2.10.0", + "indexmap", "pin-project-lite", + "slab", "sync_wrapper", "tokio", "tokio-util", diff --git a/Cargo.toml b/Cargo.toml index 5ff2ef2f3..a790d823a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -117,8 +117,8 @@ prost-types = { version = "0.13" } tokio-rustls = { version = "0.26", default-features = false, features = [ "logging", ] } -tonic = { version = "0.12", default-features = false } -tonic-build = { version = "0.12", default-features = false } +tonic = { version = "0.13", default-features = false } +tonic-build = { version = "0.13", default-features = false } tower = { version = "0.5", default-features = false } tower-service = { version = "0.3" } tower-test = { version = "0.4" } @@ -135,4 +135,4 @@ default-features = false features = ["tokio", "tracing"] [workspace.dependencies.linkerd2-proxy-api] -version = "0.16.0" +version = "0.17.0" diff --git a/linkerd/app/core/src/control.rs b/linkerd/app/core/src/control.rs index 4fcb1133b..51e589dc0 100644 --- a/linkerd/app/core/src/control.rs +++ b/linkerd/app/core/src/control.rs @@ -101,7 +101,7 @@ impl Config { identity: identity::NewClient, ) -> svc::ArcNewService< (), - svc::BoxCloneSyncService, http::Response>, + svc::BoxCloneSyncService, http::Response>, > { let addr = self.addr; tracing::trace!(%addr, "Building"); diff --git a/linkerd/app/inbound/src/policy/api.rs b/linkerd/app/inbound/src/policy/api.rs index 11bc576b6..579939da2 100644 --- a/linkerd/app/inbound/src/policy/api.rs +++ b/linkerd/app/inbound/src/policy/api.rs @@ -33,7 +33,7 @@ static INVALID_POLICY: once_cell::sync::OnceCell = once_cell::sync impl Api where - S: tonic::client::GrpcService + Clone, + S: tonic::client::GrpcService + Clone, S::ResponseBody: http::Body + Send + 'static, { pub(super) fn new( @@ -57,7 +57,7 @@ where impl Service for Api where - S: tonic::client::GrpcService, + S: tonic::client::GrpcService, S: Clone + Send + Sync + 'static, S::ResponseBody: http::Body + Send + 'static, S::Future: Send + 'static, diff --git a/linkerd/app/inbound/src/policy/config.rs b/linkerd/app/inbound/src/policy/config.rs index c9c5bd375..db447e6de 100644 --- a/linkerd/app/inbound/src/policy/config.rs +++ b/linkerd/app/inbound/src/policy/config.rs @@ -40,7 +40,7 @@ impl Config { limits: ReceiveLimits, ) -> impl GetPolicy + Clone + Send + Sync + 'static where - C: tonic::client::GrpcService, + C: tonic::client::GrpcService, C: Clone + Unpin + Send + Sync + 'static, C::ResponseBody: http::Body, C::ResponseBody: Send + 'static, diff --git a/linkerd/app/inbound/src/policy/store.rs b/linkerd/app/inbound/src/policy/store.rs index 14b565326..ae58b4f89 100644 --- a/linkerd/app/inbound/src/policy/store.rs +++ b/linkerd/app/inbound/src/policy/store.rs @@ -74,7 +74,7 @@ impl Store { opaque_ports: RangeInclusiveSet, ) -> Self where - S: tonic::client::GrpcService, + S: tonic::client::GrpcService, S: Clone + Send + Sync + 'static, S::Future: Send, S::ResponseBody: http::Body + Send + 'static, @@ -138,7 +138,7 @@ impl Store { impl GetPolicy for Store where - S: tonic::client::GrpcService, + S: tonic::client::GrpcService, S: Clone + Send + Sync + 'static, S::Future: Send, S::ResponseBody: http::Body + Send + 'static, diff --git a/linkerd/app/inbound/src/policy/tcp/tests.rs b/linkerd/app/inbound/src/policy/tcp/tests.rs index 4fdb825e9..4846a0796 100644 --- a/linkerd/app/inbound/src/policy/tcp/tests.rs +++ b/linkerd/app/inbound/src/policy/tcp/tests.rs @@ -263,7 +263,7 @@ fn orig_dst_addr() -> OrigDstAddr { OrigDstAddr(([192, 0, 2, 2], 1000).into()) } -impl tonic::client::GrpcService for MockSvc { +impl tonic::client::GrpcService for MockSvc { type ResponseBody = linkerd_app_core::control::RspBody; type Error = Error; type Future = futures::future::Pending, Self::Error>>; @@ -275,7 +275,7 @@ impl tonic::client::GrpcService for MockSvc { unreachable!() } - fn call(&mut self, _req: http::Request) -> Self::Future { + fn call(&mut self, _req: http::Request) -> Self::Future { unreachable!() } } diff --git a/linkerd/app/inbound/src/server.rs b/linkerd/app/inbound/src/server.rs index b8458fcce..51cbace86 100644 --- a/linkerd/app/inbound/src/server.rs +++ b/linkerd/app/inbound/src/server.rs @@ -27,7 +27,7 @@ impl Inbound<()> { limits: ReceiveLimits, ) -> impl policy::GetPolicy + Clone + Send + Sync + 'static where - C: tonic::client::GrpcService, + C: tonic::client::GrpcService, C: Clone + Unpin + Send + Sync + 'static, C::ResponseBody: http::Body, C::ResponseBody: Send + 'static, diff --git a/linkerd/app/integration/Cargo.toml b/linkerd/app/integration/Cargo.toml index f09170e98..7a2dcfe23 100644 --- a/linkerd/app/integration/Cargo.toml +++ b/linkerd/app/integration/Cargo.toml @@ -39,7 +39,7 @@ socket2 = "0.6" tokio = { version = "1", features = ["io-util", "net", "rt", "macros"] } tokio-rustls = { workspace = true } tokio-stream = { version = "0.1", features = ["sync"] } -tonic = { workspace = true, features = ["transport"], default-features = false } +tonic = { workspace = true, features = ["transport", "router"], default-features = false } tower = { workspace = true, default-features = false } tracing = { workspace = true } diff --git a/linkerd/app/integration/src/policy.rs b/linkerd/app/integration/src/policy.rs index 977fee256..6b2faa6d7 100644 --- a/linkerd/app/integration/src/policy.rs +++ b/linkerd/app/integration/src/policy.rs @@ -302,7 +302,7 @@ impl Controller { } pub async fn run(self) -> controller::Listening { - let svc = grpc::transport::Server::builder() + let routes = grpc::service::Routes::default() .add_service( inbound_server_policies_server::InboundServerPoliciesServer::new(Server(Arc::new( self.inbound, @@ -310,9 +310,9 @@ impl Controller { ) .add_service(outbound_policies_server::OutboundPoliciesServer::new( Server(Arc::new(self.outbound)), - )) - .into_service(); - controller::run(RoutesSvc(svc), "support policy controller", None).await + )); + + controller::run(RoutesSvc(routes), "support policy controller", None).await } } @@ -525,7 +525,9 @@ impl Service> for RoutesSvc { fn poll_ready(&mut self, cx: &mut Context<'_>) -> Poll> { let Self(routes) = self; - routes.poll_ready(cx) + >>>::poll_ready( + routes, cx, + ) } fn call(&mut self, req: Request) -> Self::Future { diff --git a/linkerd/app/outbound/src/lib.rs b/linkerd/app/outbound/src/lib.rs index 17405e2bb..1d6adb631 100644 --- a/linkerd/app/outbound/src/lib.rs +++ b/linkerd/app/outbound/src/lib.rs @@ -146,7 +146,7 @@ impl Outbound<()> { export_hostname_labels: bool, ) -> impl policy::GetPolicy where - C: tonic::client::GrpcService, + C: tonic::client::GrpcService, C: Clone + Unpin + Send + Sync + 'static, C::ResponseBody: proxy::http::Body, C::ResponseBody: Send + 'static, diff --git a/linkerd/app/outbound/src/policy/api.rs b/linkerd/app/outbound/src/policy/api.rs index 0e6e5a1c0..06e7d1dc7 100644 --- a/linkerd/app/outbound/src/policy/api.rs +++ b/linkerd/app/outbound/src/policy/api.rs @@ -33,7 +33,7 @@ static INVALID_POLICY: once_cell::sync::OnceCell = once_cell::sync impl Api where - S: tonic::client::GrpcService + Clone, + S: tonic::client::GrpcService + Clone, S::ResponseBody: http::Body + Send + 'static, { pub(crate) fn new( @@ -59,7 +59,7 @@ where impl Service for Api where - S: tonic::client::GrpcService, + S: tonic::client::GrpcService, S: Clone + Send + Sync + 'static, S::ResponseBody: http::Body + Send + 'static, S::Future: Send + 'static, diff --git a/linkerd/app/src/dst.rs b/linkerd/app/src/dst.rs index 7b4d6acfb..6f7e473e7 100644 --- a/linkerd/app/src/dst.rs +++ b/linkerd/app/src/dst.rs @@ -43,7 +43,7 @@ impl Config { ) -> Result< Dst< impl svc::Service< - http::Request, + http::Request, Response = http::Response, Error = Error, Future = impl Send, diff --git a/linkerd/app/src/policy.rs b/linkerd/app/src/policy.rs index 218ebe6b2..941e323d8 100644 --- a/linkerd/app/src/policy.rs +++ b/linkerd/app/src/policy.rs @@ -46,7 +46,7 @@ impl Config { ) -> Result< Policy< impl svc::Service< - http::Request, + http::Request, Response = http::Response, Error = Error, Future = impl Send, diff --git a/linkerd/app/src/trace_collector/oc_collector.rs b/linkerd/app/src/trace_collector/oc_collector.rs index 96d92856a..d9afd0a06 100644 --- a/linkerd/app/src/trace_collector/oc_collector.rs +++ b/linkerd/app/src/trace_collector/oc_collector.rs @@ -6,7 +6,7 @@ use linkerd_opencensus::{self as opencensus, metrics, proto}; use std::{collections::HashMap, time::SystemTime}; use tokio::sync::mpsc; use tokio_stream::wrappers::ReceiverStream; -use tonic::{body::BoxBody, client::GrpcService}; +use tonic::{body::Body as TonicBody, client::GrpcService}; use tracing::Instrument; pub(super) fn create_collector( @@ -18,7 +18,7 @@ pub(super) fn create_collector( legacy_metrics: metrics::Registry, ) -> EnabledCollector where - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::Error: Into, S::Future: Send, S::ResponseBody: Body + Send + 'static, diff --git a/linkerd/app/src/trace_collector/otel_collector.rs b/linkerd/app/src/trace_collector/otel_collector.rs index 052cb7100..b1eddc343 100644 --- a/linkerd/app/src/trace_collector/otel_collector.rs +++ b/linkerd/app/src/trace_collector/otel_collector.rs @@ -15,7 +15,7 @@ use std::{ }; use tokio::sync::mpsc; use tokio_stream::wrappers::ReceiverStream; -use tonic::{body::BoxBody, client::GrpcService}; +use tonic::{body::Body as TonicBody, client::GrpcService}; use tracing::Instrument; pub(super) struct OtelCollectorAttributes { @@ -31,7 +31,7 @@ pub(super) fn create_collector( legacy_metrics: metrics::Registry, ) -> EnabledCollector where - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::Error: Into, S::Future: Send, S::ResponseBody: Body + Send + 'static, diff --git a/linkerd/opencensus/src/lib.rs b/linkerd/opencensus/src/lib.rs index 68ac4b645..894e9dd9c 100644 --- a/linkerd/opencensus/src/lib.rs +++ b/linkerd/opencensus/src/lib.rs @@ -19,12 +19,12 @@ use opencensus_proto::{ use std::collections::HashMap; use tokio::{sync::mpsc, time}; use tokio_stream::wrappers::ReceiverStream; -use tonic::{self as grpc, body::BoxBody, client::GrpcService}; +use tonic::{self as grpc, body::Body as TonicBody, client::GrpcService}; use tracing::{debug, info, trace}; pub async fn export_spans(client: T, node: Node, spans: S, metrics: Registry) where - T: GrpcService + Clone, + T: GrpcService + Clone, T::Error: Into, T::ResponseBody: Body + Send + 'static, ::Error: Into + Send, @@ -49,7 +49,7 @@ struct SpanRxClosed; impl SpanExporter where - T: GrpcService, + T: GrpcService, T::Error: Into, T::ResponseBody: Body + Send + 'static, ::Error: Into + Send, diff --git a/linkerd/opentelemetry/src/lib.rs b/linkerd/opentelemetry/src/lib.rs index 86a32bea0..dfa582ab7 100644 --- a/linkerd/opentelemetry/src/lib.rs +++ b/linkerd/opentelemetry/src/lib.rs @@ -26,7 +26,7 @@ use opentelemetry_proto::{ use opentelemetry_sdk::trace::SpanLinks; pub use opentelemetry_sdk::{self as sdk, trace::SpanData}; use tokio::{sync::mpsc, time}; -use tonic::{self as grpc, body::BoxBody, client::GrpcService}; +use tonic::{self as grpc, body::Body as TonicBody, client::GrpcService}; use tracing::{debug, info, trace}; pub async fn export_spans( @@ -35,7 +35,7 @@ pub async fn export_spans( resource: ResourceAttributesWithSchema, metrics: Registry, ) where - T: GrpcService + Clone, + T: GrpcService + Clone, T::Error: Into, T::ResponseBody: Body + Send + 'static, ::Error: Into + Send, @@ -62,7 +62,7 @@ struct SpanRxClosed; impl SpanExporter where - T: GrpcService + Clone, + T: GrpcService + Clone, T::Error: Into, T::ResponseBody: Body + Send + 'static, ::Error: Into + Send, diff --git a/linkerd/proxy/api-resolve/src/resolve.rs b/linkerd/proxy/api-resolve/src/resolve.rs index 56c6b6079..3e36da54a 100644 --- a/linkerd/proxy/api-resolve/src/resolve.rs +++ b/linkerd/proxy/api-resolve/src/resolve.rs @@ -7,7 +7,7 @@ use linkerd_stack::Param; use linkerd_tonic_stream::{LimitReceiveFuture, ReceiveLimits}; use std::pin::Pin; use std::task::{Context, Poll}; -use tonic::{self as grpc, body::BoxBody, client::GrpcService}; +use tonic::{self as grpc, body::Body as TonicBody, client::GrpcService}; use tower::Service; use tracing::{debug, info, trace}; @@ -22,7 +22,7 @@ pub struct Resolve { impl Resolve where - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::Error: Into + Send, S::ResponseBody: Body + Send + 'static, ::Error: Into + Send, @@ -46,7 +46,7 @@ type ResolveFuture = impl Service for Resolve where T: Param, - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::Error: Into + Send, S::ResponseBody: Body + Send + 'static, ::Error: Into + Send, diff --git a/linkerd/proxy/identity-client/src/certify.rs b/linkerd/proxy/identity-client/src/certify.rs index 61d313fe5..970a9d350 100644 --- a/linkerd/proxy/identity-client/src/certify.rs +++ b/linkerd/proxy/identity-client/src/certify.rs @@ -12,7 +12,7 @@ use std::{ }; use thiserror::Error; use tokio::time; -use tonic::{body::BoxBody, client::GrpcService}; +use tonic::{body::Body as TonicBody, client::GrpcService}; use tracing::{debug, error}; /// Configures the Identity service and local identity. @@ -92,7 +92,7 @@ impl Certify { where C: Credentials, N: NewService<(), Service = S>, - S: GrpcService, + S: GrpcService, S::ResponseBody: Body + Send + 'static, ::Error: Into + Send, { @@ -154,7 +154,7 @@ async fn certify( ) -> Result where C: Credentials, - S: GrpcService, + S: GrpcService, S::ResponseBody: Body + Send + 'static, ::Error: Into + Send, { diff --git a/linkerd/proxy/spire-client/src/api.rs b/linkerd/proxy/spire-client/src/api.rs index 8d5f068b9..bda890d74 100644 --- a/linkerd/proxy/spire-client/src/api.rs +++ b/linkerd/proxy/spire-client/src/api.rs @@ -114,7 +114,7 @@ impl TryFrom for Svid { impl Api where - S: tonic::client::GrpcService + Clone, + S: tonic::client::GrpcService + Clone, S::Error: Into, S::ResponseBody: Default + http::Body + Send + 'static, ::Error: Into + Send, @@ -127,7 +127,7 @@ where impl Service<()> for Api where - S: tonic::client::GrpcService + Clone, + S: tonic::client::GrpcService + Clone, S: Clone + Send + Sync + 'static, S::ResponseBody: Default + http::Body + Send + 'static, ::Error: Into + Send, diff --git a/linkerd/service-profiles/src/client.rs b/linkerd/service-profiles/src/client.rs index 552b7584f..cbc2bd46f 100644 --- a/linkerd/service-profiles/src/client.rs +++ b/linkerd/service-profiles/src/client.rs @@ -10,7 +10,7 @@ use std::{ sync::Arc, task::{Context, Poll}, }; -use tonic::{body::BoxBody, client::GrpcService}; +use tonic::{body::Body as TonicBody, client::GrpcService}; use tracing::debug; /// Creates watches on service profiles. @@ -31,7 +31,7 @@ struct Inner { impl Client where - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::ResponseBody: Send + Sync, S::ResponseBody: Body + Send + 'static, ::Error: @@ -64,7 +64,7 @@ where impl Service for Client where T: Param, - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::ResponseBody: Body + Send + 'static, ::Error: Into> + Send, @@ -111,7 +111,7 @@ type InnerFuture = impl Inner where - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::ResponseBody: Body + Send + 'static, ::Error: Into> + Send, @@ -128,7 +128,7 @@ where impl Service for Inner where - S: GrpcService + Clone + Send + 'static, + S: GrpcService + Clone + Send + 'static, S::ResponseBody: Body + Send + 'static, ::Error: Into> + Send, diff --git a/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs b/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs index 9884c60e0..1b0294e70 100644 --- a/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs +++ b/opencensus-proto/src/gen/opencensus.proto.agent.trace.v1.rs @@ -61,7 +61,7 @@ pub mod trace_service_client { } impl TraceServiceClient where - T: tonic::client::GrpcService, + T: tonic::client::GrpcService, T::Error: Into, T::ResponseBody: Body + std::marker::Send + 'static, ::Error: Into + std::marker::Send, @@ -82,13 +82,13 @@ pub mod trace_service_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, + http::Request, Response = http::Response< - >::ResponseBody, + >::ResponseBody, >, >, , + http::Request, >>::Error: Into + std::marker::Send + std::marker::Sync, { TraceServiceClient::new(InterceptedService::new(inner, interceptor)) diff --git a/opentelemetry-proto/src/gen/opentelemetry.proto.collector.trace.v1.rs b/opentelemetry-proto/src/gen/opentelemetry.proto.collector.trace.v1.rs index 9fc9bf385..cb31c710f 100644 --- a/opentelemetry-proto/src/gen/opentelemetry.proto.collector.trace.v1.rs +++ b/opentelemetry-proto/src/gen/opentelemetry.proto.collector.trace.v1.rs @@ -69,7 +69,7 @@ pub mod trace_service_client { } impl TraceServiceClient where - T: tonic::client::GrpcService, + T: tonic::client::GrpcService, T::Error: Into, T::ResponseBody: Body + std::marker::Send + 'static, ::Error: Into + std::marker::Send, @@ -90,13 +90,13 @@ pub mod trace_service_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, + http::Request, Response = http::Response< - >::ResponseBody, + >::ResponseBody, >, >, , + http::Request, >>::Error: Into + std::marker::Send + std::marker::Sync, { TraceServiceClient::new(InterceptedService::new(inner, interceptor)) diff --git a/spiffe-proto/src/gen/spiffe.workloadapi.rs b/spiffe-proto/src/gen/spiffe.workloadapi.rs index 3d07d61c5..5077e8ae3 100644 --- a/spiffe-proto/src/gen/spiffe.workloadapi.rs +++ b/spiffe-proto/src/gen/spiffe.workloadapi.rs @@ -59,7 +59,7 @@ pub mod spiffe_workload_api_client { } impl SpiffeWorkloadApiClient where - T: tonic::client::GrpcService, + T: tonic::client::GrpcService, T::Error: Into, T::ResponseBody: Body + std::marker::Send + 'static, ::Error: Into + std::marker::Send, @@ -80,13 +80,13 @@ pub mod spiffe_workload_api_client { F: tonic::service::Interceptor, T::ResponseBody: Default, T: tonic::codegen::Service< - http::Request, + http::Request, Response = http::Response< - >::ResponseBody, + >::ResponseBody, >, >, , + http::Request, >>::Error: Into + std::marker::Send + std::marker::Sync, { SpiffeWorkloadApiClient::new(InterceptedService::new(inner, interceptor))