Commit Graph

3222 Commits

Author SHA1 Message Date
dependabot[bot] 8fd2e7261c
build(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2 (#3474)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](7f8b4b4bde...1e68e06f1d)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 12:52:09 -05:00
dependabot[bot] dad2aa98b2
build(deps): bump cc from 1.2.4 to 1.2.5 (#3475)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.4 to 1.2.5.
- [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.4...cc-v1.2.5)

---
updated-dependencies:
- dependency-name: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 12:51:58 -05:00
dependabot[bot] 9b6c1b962d
build(deps): bump symbolic-demangle from 12.12.3 to 12.12.4 (#3476)
Bumps [symbolic-demangle](https://github.com/getsentry/symbolic) from 12.12.3 to 12.12.4.
- [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.12.3...12.12.4)

---
updated-dependencies:
- dependency-name: symbolic-demangle
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 12:51:47 -05:00
dependabot[bot] 3390e1f628
build(deps): bump libc from 0.2.168 to 0.2.169 (#3477)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.168 to 0.2.169.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.169/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.168...0.2.169)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 12:51:33 -05:00
dependabot[bot] 9d0124be32
build(deps): bump symbolic-common from 12.12.3 to 12.12.4 (#3478)
Bumps [symbolic-common](https://github.com/getsentry/symbolic) from 12.12.3 to 12.12.4.
- [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.12.3...12.12.4)

---
updated-dependencies:
- dependency-name: symbolic-common
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 12:51:24 -05:00
dependabot[bot] 17e52f9645
build(deps): bump actions/upload-artifact from 4.4.3 to 4.5.0 (#3471)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.3 to 4.5.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](b4b15b8c7c...6f51ac03b9)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 15:09:13 -05:00
dependabot[bot] 20d5dd9f03
build(deps): bump thiserror from 2.0.7 to 2.0.8 (#3470)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.7 to 2.0.8.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.7...2.0.8)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 14:26:45 -05:00
katelyn martin deb92db9e3
refactor: move away from legacy `hyper::body::HttpBody` (#3467)
* refactor: move away from legacy `hyper::body::HttpBody`

this is an incremental step away from hyper 0.14's request and response
body interfaces, and towards the 1.0 body types. see
<https://github.com/linkerd/linkerd2/issues/8733> for more information
about upgrading to hyper 1.0.

hyper 0.14 provides a `hyper::body::Body` that is removed in the 1.0
interface. `hyper-util` now provides a workable default body type. hyper
0.14 reëxports `http_body::Body` as `HttpBody`. hyper 1.0 reëxports this
trait as `hyper::body::Body` without any renaming.

this commit moves application code away from hyper's legacy `Body` type
and the `HttpBody` trait alias. this commit moves assorted interfaces
towards the boxed `BoxBody` type instead. when possible, code is tweaked
such that it refers to the reëxport in `linkerd-proxy-http`, rather than
directly through `hyper`.

NB: this commit is based upon #3466.

Signed-off-by: katelyn martin <kate@buoyant.io>

* feat(http/box): `BoxBody::from_static` constructor

this commit relates to review feedback offered here:
https://github.com/linkerd/linkerd2-proxy/pull/3467#discussion_r1888979001

it is slightly ungainly to place a static string into a BoxBody,
something that is a fairly common pattern throughout e.g. our admin
server.

to help nudge the compiler to infer a `B: Body` of `String`, various
code follows a common convention of calling e.g.
`BoxBody:🆕:<String>("ready\n".into())` or,
`BoxBody::new("ready\n".to_string())`.

this commit helps reduce that boilerplate by adding a `from_static(..)`
constructor that accepts a static string.

```rust
    /// Returns a [`BoxBody`] with the contents of a static string.
    pub fn from_static(body: &'static str) -> Self {
        Self::new(body.to_string())
    }
```

Co-authored-by: Scott Fleener <scott@buoyant.io>
Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/admin): outline json bytes body construction

see <https://github.com/linkerd/linkerd2-proxy/pull/3467#discussion_r1888980453>.

@sfleen points out this unfortunate part of our diff:

```diff
-           .body(json.into())
+           .body(BoxBody::new(http_body::Full::new(bytes::Bytes::from(json))))
```

this *is* a bit of an unfortunate edge, where boxing up a body feels
especially cumbersome.

this commit takes an attempt at tweaking the function in question so
that this large nested expression reads a bit nicer.

first, to justify why this gets a little more involved: hyper will no
longer provide the `Body` type after 1.0, so we are tasked with
providing our own body. for our purposes, `Full` works because we have a
single chunk of bytes in hand.

in order to create a `Full`, we must provide a `D: Buf`, which can be
satisfied by the following types:
<https://docs.rs/bytes/1.6.0/bytes/buf/trait.Buf.html#foreign-impls>

most simply, we can cast our vector of bytes into a `Bytes`.

with all of this in hand, we can hoist this creation of the body up out
of the `match` arm, and use `Result::map` to apply these constructors in
sequential order:

```rust
    // Serialize the value into JSON, and then place the bytes in a boxed response body.
    let json = serde_json::to_vec(val)
        .map(Bytes::from)
        .map(http_body::Full::new)
        .map(BoxBody::new);
```

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
Co-authored-by: Scott Fleener <scott@buoyant.io>
2024-12-17 14:53:17 -05:00
katelyn martin 35e7316f10
feat(http/box): `BoxBody::empty()` creates an empty body (#3468)
hyper 0.14's body type provides an `empty()` method that can be used to
construct an empty request or response body.

this commit proposes an equivalent method for `BoxBody`. while it is
semantically equivalent to `BoxBody::default()`, it can be helpful to
clarify that this constructs an empty body.

<https://docs.rs/hyper/0.14.31/hyper/body/struct.Body.html#method.empty>

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-17 13:27:30 -05:00
katelyn martin ca50d6bb75
chore(cargo.toml): define http, http-body as a workspace dependencies (#3466)
this is a follow-up to #3456, addressing a suggestion that was made
during review:

- <https://github.com/linkerd/linkerd2-proxy/pull/3456#pullrequestreview-2502446232>
- <https://github.com/linkerd/linkerd2/issues/8733>

this commit modifies the workspace manifest, defining http and http-body
as common workspace dependencies.

no changes to the lockfile are made because this commit does not affect
the dependency graph of the project.

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-17 07:46:01 -05:00
katelyn martin 7bbfc8ec46
docs(app/test): fix unresolved `SendRequest` links (#3465)
this commit fixes some warnings that are currently present in `main`
when building the project's docs, by mending two broken doc links.

see:
- 42fe4cf66
- <https://github.com/linkerd/linkerd2/issues/8733>

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-16 10:10:20 -05:00
dependabot[bot] 489e1e4faa
build(deps): bump rustls-pki-types from 1.10.0 to 1.10.1 (#3464)
Bumps [rustls-pki-types](https://github.com/rustls/pki-types) from 1.10.0 to 1.10.1.
- [Release notes](https://github.com/rustls/pki-types/releases)
- [Commits](https://github.com/rustls/pki-types/compare/v/1.10.0...v/1.10.1)

---
updated-dependencies:
- dependency-name: rustls-pki-types
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 07:01:11 -08:00
dependabot[bot] 9a143c0ce7
build(deps): bump cc from 1.2.3 to 1.2.4 (#3462)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.3 to 1.2.4.
- [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.3...cc-v1.2.4)

---
updated-dependencies:
- dependency-name: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 09:32:22 -05:00
dependabot[bot] 752d14319e
build(deps): bump thiserror from 2.0.6 to 2.0.7 (#3463)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.6 to 2.0.7.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.6...2.0.7)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 09:32:03 -05:00
katelyn martin ea5136268d
chore(proxy/http): address hyper deprecations in `ServeHttp<N>` (#3459)
see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0.

this commit is based upon #3456, and #3457.

this commit is also contingent upon hyperium/hyper#3796, which backports
the server connection builder's `max_pending_accept_reset_streams()`
method.

this commit addresses hyper deprecations in `ServeHttp<N>`, which
defines a reusable HTTP/1 and HTTP/2 server for the linkerd proxy.

essentially, this commit replaces the singular `Http<E>` with a pair of
http/1 and http/2 specific connection `Builder`s. method names no longer
have `http2_*` prefixes, otherwise nothing about the connection setup
has been changed. in the `Service` implementation, we delegate to the
appropriate builder based upon the protocol version.

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-13 16:54:40 +00:00
katelyn martin f2ad745200
chore(ci): remove duplicate `connect_and_accept_http1(..)` function (#3461)
this commit removes a duplicate function that was errantly defined, due
to some issues when merging previous (interdependent) pr's.

see
- #3455
- #3454
- linkerd/linkerd2#8733

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-13 16:38:42 +00:00
katelyn martin 03f557791c
chore(hyper): upgrade hyper to include hyperium/hyper#3796 (#3457)
* chore(hyper): define hyper as a workspace dependency

this commit alters various crates' manifests, pointing to a common
workspace-level hyper dependency.

note that the lockfile is not altered, this commit does *not* affect the
version of hyper used, or have any other affect on the dependency graph.
this will make future maintenance, upgrading, and patching of our hyper
dependency marginally easier.

see linkerd/linkerd2#8733 for more information on upgrading to hyper
1.0.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(hyper): upgrade hyper to include hyperium/hyper#3796

this commit bumps the version of the workspace's hyper dependency to
include hyperium/hyper#3796, which backports the server connection
builder's `max_pending_accept_reset_streams()` method.

see linkerd/linkerd2#8733 for more information on upgrading to hyper 1.0.

this commit is based upon #3456.

to show the hyper commit in the context of the git log:

```sh
; basename $(pwd)
hyper

; git remote get-url upstream
git@github.com:hyperium/hyper.git

; git log --oneline --decorate 0.14.x -5
a24f0c0a (HEAD -> 0.14.x, upstream/0.14.x) feat(server): backport `max_pending_accept_reset_streams()` to builder (#3796)
96550840 chore(ci): pin hashbrown for MSRV job (#3797)
7829148b (tag: v0.14.31) v0.14.31
97b595e5 perf(http1): improve parsing of sequentially partial messages
739d5e63 chore(ci): pin some deps for MSRV job
```

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(deny.toml): add `hyperium/hyper` to git allowlist

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-13 11:16:15 -05:00
katelyn martin c740b6d872
chore(hyper): define hyper as a workspace dependency (#3456)
this commit alters various crates' manifests, pointing to a common
workspace-level hyper dependency.

note that the lockfile is not altered, this commit does *not* affect the
version of hyper used, or have any other affect on the dependency graph.
this will make future maintenance, upgrading, and patching of our hyper
dependency marginally easier.

see linkerd/linkerd2#8733 for more information on upgrading to hyper
1.0.

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-13 11:15:33 -05:00
katelyn martin f9e65f835d
chore(fuzz): address hyper deprecations in fuzz tests (#3455)
* chore(app/inbound): address hyper deprecations in http/1 tests

this is a follow-up commit related to 24dc5d8a (#3445).

see <https://github.com/linkerd/linkerd2/issues/8733> for more
information on upgrading to hyper 1.0.

---

this addresses hyper deprecations in the http/1 tests for the inbound
proxy.

prior, we made use of `tower::ServiceExt::oneshot`, which consumes a
service and drops it after sending a request and polling the response
future to completion.

<https://docs.rs/tower/0.5.2/src/tower/util/oneshot.rs.html#96-100>

tower is not a 1.0 library yet, so `SendRequest` does not provide an
implementation of `tower::Service` in hyper's 1.0 interface:

- <https://docs.rs/hyper/0.14.31/hyper/client/conn/struct.SendRequest.html#impl-Service%3CRequest%3CB%3E%3E-for-SendRequest%3CB%3E>
- <https://docs.rs/hyper/1.5.1/hyper/client/conn/http1/struct.SendRequest.html#trait-implementations>

consequentially, we must drop the sender ourselves after receiving a
response now.

---

this commit *also* addresses hyper deprecations in the http/1 downgrade
tests for the inbound proxy.

because these tests involve a http/2 client and an http/1 server, we
take the choice of inlining the body of
`http_util::connect_and_accept()` rather than introducing a new, third
`http_util::connect_and_accept_http_downgrade()` function.

we will refactor these helper functions in follow-on commits.

NB: because `ContextError` is internal to the `linkerd-app-test` crate,
we do not wrap the errors. these are allegedly used by the fuzzing tests
(_see f.ex #986 and #989_), but for our purposes with respect to the
inbound proxy we can elide them rather than making `ctx()` a public
method.

---

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): remove unused `http_util::connect_and_accept(..)`

this removes `connect_and_accept(..)`. this will break fuzzing builds,
but it is not used elsewhere.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(fuzz): address hyper deprecation in inbound fuzz tests

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(fuzz): address preëxisting fuzz breakage

this commit addresses other breakage found in the fuzz tests, tied to
other previous work.

after these changes, one can observe that the fuzz tests build and run
once more by running the following:

```sh
cargo +nightly fuzz run --fuzz-dir=linkerd/app/inbound/fuzz/ fuzz_target_1
```

Signed-off-by: katelyn martin <kate@buoyant.io>

* nit(fuzz): remove stray newline from manifest

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-13 11:14:10 -05:00
katelyn martin 42fe4cf666
chore(app/inbound): address hyper deprecations in http/1 tests (#3454)
this is a follow-up commit related to 24dc5d8a (#3445).

see <https://github.com/linkerd/linkerd2/issues/8733> for more
information on upgrading to hyper 1.0.

---

this addresses hyper deprecations in the http/1 tests for the inbound
proxy.

prior, we made use of `tower::ServiceExt::oneshot`, which consumes a
service and drops it after sending a request and polling the response
future to completion.

<https://docs.rs/tower/0.5.2/src/tower/util/oneshot.rs.html#96-100>

tower is not a 1.0 library yet, so `SendRequest` does not provide an
implementation of `tower::Service` in hyper's 1.0 interface:

- <https://docs.rs/hyper/0.14.31/hyper/client/conn/struct.SendRequest.html#impl-Service%3CRequest%3CB%3E%3E-for-SendRequest%3CB%3E>
- <https://docs.rs/hyper/1.5.1/hyper/client/conn/http1/struct.SendRequest.html#trait-implementations>

consequentially, we must drop the sender ourselves after receiving a
response now.

---

this commit *also* addresses hyper deprecations in the http/1 downgrade
tests for the inbound proxy.

because these tests involve a http/2 client and an http/1 server, we
take the choice of inlining the body of
`http_util::connect_and_accept()` rather than introducing a new, third
`http_util::connect_and_accept_http_downgrade()` function.

we will refactor these helper functions in follow-on commits.

NB: because `ContextError` is internal to the `linkerd-app-test` crate,
we do not wrap the errors. these are allegedly used by the fuzzing tests
(_see f.ex #986 and #989_), but for our purposes with respect to the
inbound proxy we can elide them rather than making `ctx()` a public
method.

---

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-13 11:13:48 -05:00
katelyn martin e9e2a31afd
chore(deny.toml): remove stale `idna` directive (#3458)
if one runs `cargo deny check` on the current state of main, or checks
deny logs in ci, one observes this waning:

```sh
$ cargo deny check
warning[unnecessary-skip]: skip 'idna' applied to a crate with only one version
   ┌─ /path/to/linkerd/linkerd2-proxy/deny.toml:63:15
   │
63 │     { name = "idna" },
   │               ━━━━ unnecessary skip configuration

advisories ok, bans ok, licenses ok, sources ok
```

today, our dependency graph only contains one version of `idna`, which
has since release a 1.0 version:

```sh
$ cargo tree -i -p idna
idna v1.0.3
├── hickory-proto v0.24.2
└── url v2.5.4
```

this commit updates the `deny.toml` file, removing this directive to
permit duplicate versions, now that this is no longer the case.

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-13 06:19:21 -08:00
dependabot[bot] 48ce9a9817
build(deps): bump semver from 1.0.23 to 1.0.24 (#3460)
Bumps [semver](https://github.com/dtolnay/semver) from 1.0.23 to 1.0.24.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/1.0.23...1.0.24)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 06:18:52 -08:00
dependabot[bot] 0cfbda69b8
build(deps): bump rustls from 0.23.19 to 0.23.20 (#3453)
Bumps [rustls](https://github.com/rustls/rustls) from 0.23.19 to 0.23.20.
- [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.19...v/0.23.20)

---
updated-dependencies:
- dependency-name: rustls
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 10:48:38 -08:00
Scott Fleener bb6e9b7f94
chore(deps): Upgrade tokio-rustls to 0.26 (#3419)
chore(deps): Upgrade tokio-rustls to 0.26

This bumps rustls itself from 0.21 to 0.23, which comes with a few breaking API changes. Most of these are limited to types being moved or renamed, or how the certificate verifiers are constructed.

Signed-off-by: Scott Fleener <scott@buoyant.io>
Co-authored-by: Oliver Gould <ver@buoyant.io>
2024-12-11 17:37:03 +00:00
katelyn martin 24dc5d8a1b
chore(app/inbound): address hyper deprecations in http/2 tests (#3445)
this addresses deprecations in inbound proxy tests that should migrate
to hyper's new http/2 client connection builder.

http/1 tests will be upgraded in a follow-on commit.

the `connect_and_accept(..)` helper function is copied, and duplicated
into an http/2 version.

see <https://github.com/linkerd/linkerd2/issues/8733> for more
information on upgrading to hyper 1.0.

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-11 11:37:25 -05:00
katelyn martin 307dbc447a
chore(hyper): address miscellaneous deprecations (#3444)
* chore(proxy/tap): address `Http` deprecation

this is a trivial deprecation fix, for
<https://github.com/linkerd/linkerd2/issues/8733>.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(app/outbound): address `Http` deprecation

see <https://github.com/linkerd/linkerd2/issues/8733>.

this updates some test code to use the backported server connection
interfaces.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(app/integration): address `conn::Builder` deprecation

this commit addresses uses of deprecated hyper interfaces in the
`linkerd-app-integration` crate.

see <https://github.com/linkerd/linkerd2/issues/8733>.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(app/inbound): remove stale `deprecated` allowance

this was fixed in a previous commit.

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-11 11:37:02 -05:00
katelyn martin f31cf1f4f7
chore(gitignore): ignore `.cargo` directory (#3451)
this commit supercedes #3443.

we use the kubert crate to export a collection of metrics measuring the
behavior of our asynchronous tokio runtime.

in order for this crate to compile, one must set a compile-time flag.
this can be done either by setting the RUSTFLAGS environment variable,
or via a toml file in .cargo/config.toml.

helpful links:

- <https://github.com/olix0r/kubert?tab=readme-ov-file#kubert-prometheus-tokio>
- <https://docs.rs/tokio-metrics/latest/tokio_metrics/>
- <https://doc.rust-lang.org/cargo/reference/config.html#buildrustflags>

this commit adds `.cargo` to the repository's gitignore, so that people
may freely modify cargo configuration as needed when building the
project from source.

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-11 11:35:07 -05:00
dependabot[bot] d2cc5c975d
build(deps): bump EmbarkStudios/cargo-deny-action from 1.6.3 to 2.0.4 (#3412)
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/embarkstudios/cargo-deny-action) from 1.6.3 to 2.0.4.
- [Release notes](https://github.com/embarkstudios/cargo-deny-action/releases)
- [Commits](3f4a782664...e2f4ede4a4)

---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 15:37:08 +00:00
dependabot[bot] b1a43854d8
build(deps): bump hickory-proto from 0.24.1 to 0.24.2 (#3447)
Bumps [hickory-proto](https://github.com/hickory-dns/hickory-dns) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/hickory-dns/hickory-dns/releases)
- [Changelog](https://github.com/hickory-dns/hickory-dns/blob/v0.24.2/CHANGELOG.md)
- [Commits](https://github.com/hickory-dns/hickory-dns/compare/v0.24.1...v0.24.2)

---
updated-dependencies:
- dependency-name: hickory-proto
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 07:07:15 -08:00
dependabot[bot] 37ddadafb5
build(deps): bump hickory-resolver from 0.24.1 to 0.24.2 (#3448)
Bumps [hickory-resolver](https://github.com/hickory-dns/hickory-dns) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/hickory-dns/hickory-dns/releases)
- [Changelog](https://github.com/hickory-dns/hickory-dns/blob/v0.24.2/CHANGELOG.md)
- [Commits](https://github.com/hickory-dns/hickory-dns/compare/v0.24.1...v0.24.2)

---
updated-dependencies:
- dependency-name: hickory-resolver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 07:06:43 -08:00
dependabot[bot] 8cdbe70491
build(deps): bump softprops/action-gh-release from 2.1.0 to 2.2.0 (#3450)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](01570a1f39...7b4da11513)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 07:06:20 -08:00
dependabot[bot] 356eb4b669
build(deps): bump serde from 1.0.215 to 1.0.216 (#3449)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.215 to 1.0.216.
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.215...v1.0.216)

---
updated-dependencies:
- dependency-name: serde
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 07:05:59 -08:00
dependabot[bot] e0e1daddb0
build(deps): bump governor from 0.7.0 to 0.8.0 (#3446)
Bumps [governor](https://github.com/boinkor-net/governor) from 0.7.0 to 0.8.0.
- [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.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: governor
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 07:05:36 -08:00
dependabot[bot] 9c60588128
build(deps): bump rustix from 0.38.40 to 0.38.42 (#3441)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.40 to 0.38.42.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Changelog](https://github.com/bytecodealliance/rustix/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.40...v0.38.42)

---
updated-dependencies:
- dependency-name: rustix
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 10:42:11 -05:00
dependabot[bot] e0ad7dc4e9
build(deps): bump thiserror from 2.0.4 to 2.0.6 (#3442)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.4 to 2.0.6.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/2.0.4...2.0.6)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 10:41:54 -05:00
katelyn martin d65fe07d31
refactor(app/test): address hyper deprecations in test helpers (#3433)
this commit changes the `connect_and_accept(..)` helper function used in
the proxy's unit tests, altering its logic such that it now runs
background tasks inside of a `JoinSet`.

then, subsequent commits hoist code out of `run_proxy()` and `connect_client()`, and consolidate our `async move {}` blocks. this both simplifies the control flow of this test infrastructure, but also addresses some more hyper deprecations.

for more information about our progressing upgrade to hyper 1.0, see https://github.com/linkerd/linkerd2/issues/8733.

NB: this branch is based upon #3432.

---

* refactor(app/inbound): remove unused `Http` parameter

this was not being flagged as an unused variable, due to the
`#[instrument]` attribute. (😉 _it's used as a field in the generated
span!_)

`connect_timeout(..)` doesn't use its parameter.

to address some deprecations, and avoid the need for polymorphism /
refactoring related to http/1 and http/2 connections being represented
as distinct types in the hyper 1.0 api, we remove it.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(app/inbound): address `server::conn::Http` deprecations

this addresses hyper 1.0 deprecations in the server side of the inbound
proxy's http unit test suite logic.

see <https://github.com/linkerd/linkerd2/issues/8733> for more
information.

the client end of this change ends up being slightly involved, due to
changes that will need to be made in `linkerd_app_test::http_util`.
accordingly, those deprecations will be addressed in a subsequent
commit.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): reorder and document test helpers

this moves the public `connect_client(..)` function up to the top of the
group of functions, and adds a documentation comment explaining its
purpose.

a todo comment is left noting that this can be refactored to use tokio's
new `JoinSet` type.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): briefly defer `spawn()`ing tasks

this is a small tweak, defering the call to `tokio::spawn(..)` to make
using `JoinSet` easier.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): use `JoinSet` for background tasks

this commit changes the `connect_and_accept(..)` helper function used in
the proxy's unit tests, altering its logic such that it now runs
background tasks inside of a `JoinSet`.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): tweak proxy process

this commit makes two minor changes to the `run_proxy()` helper
function:

* remove a frivolous `.map(|_| ())` on a result that already had a tuple
  `Ok` type.

* use `ServiceExt::oneshot` for brevity.

this should have no effect on the tests, we're just golfing things down
a bit.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): hoist `instrument(..)` calls

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): remove `run_proxy(..)`

we've nudged this along well enough that this function can now
reasonably be removed.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): remove `connect_client(..)`

and once more, we remove a helper function that isn't doing quite so
much work, and whose signature contains deprecated hyper 1.0 types.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): consolidate anonymous futures

we create `async move {}` blocks in multiple places, without any clear
benefit.

this commit consolidates them into one place: when we spawn a task onto
the `JoinSet`.

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-09 14:44:01 -05:00
dependabot[bot] 0ccfd756a5
build(deps): bump tj-actions/changed-files from 45.0.4 to 45.0.5 (#3434)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.4 to 45.0.5.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](4edd678ac3...bab30c2299)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 08:56:16 -08:00
katelyn martin 54407b94a9
chore(app/inbound): address `server::conn::Http` deprecations (#3432)
this addresses hyper 1.0 deprecations in the server side of the inbound
proxy's http unit test suite logic.

see linkerd/linkerd2#8733 for more
information.

the client end of this change ends up being slightly involved, due to
changes that will need to be made in linkerd_app_test::http_util.
accordingly, those deprecations will be addressed in a subsequent
commit.

---

* refactor(app/inbound): remove unused `Http` parameter

this was not being flagged as an unused variable, due to the
`#[instrument]` attribute. (😉 _it's used as a field in the generated
span!_)

`connect_timeout(..)` doesn't use its parameter.

to address some deprecations, and avoid the need for polymorphism /
refactoring related to http/1 and http/2 connections being represented
as distinct types in the hyper 1.0 api, we remove it.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(app/inbound): address `server::conn::Http` deprecations

this addresses hyper 1.0 deprecations in the server side of the inbound
proxy's http unit test suite logic.

see <https://github.com/linkerd/linkerd2/issues/8733> for more
information.

the client end of this change ends up being slightly involved, due to
changes that will need to be made in `linkerd_app_test::http_util`.
accordingly, those deprecations will be addressed in a subsequent
commit.

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-09 08:55:29 -08:00
dependabot[bot] b1d7ded451
build(deps): bump fastrand from 2.2.0 to 2.3.0 (#3439)
Bumps [fastrand](https://github.com/smol-rs/fastrand) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/smol-rs/fastrand/releases)
- [Changelog](https://github.com/smol-rs/fastrand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/smol-rs/fastrand/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: fastrand
  dependency-type: indirect
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 08:03:26 -08:00
dependabot[bot] 5de51f2def
build(deps): bump cc from 1.2.2 to 1.2.3 (#3438)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.2 to 1.2.3.
- [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.2...cc-v1.2.3)

---
updated-dependencies:
- dependency-name: cc
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 10:00:24 -05:00
dependabot[bot] 604cbcd942
build(deps): bump libc from 0.2.167 to 0.2.168 (#3437)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.167 to 0.2.168.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.168/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.167...0.2.168)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 10:00:15 -05:00
dependabot[bot] 1653b08068
build(deps): bump thiserror from 1.0.68 to 2.0.4 (#3417)
* build(deps): bump thiserror from 1.0.68 to 2.0.4

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.68 to 2.0.4.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.68...2.0.4)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore(deny): allow duplicate versions of thiserror

* chore(detect): fix thiserror usage

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oliver Gould <ver@buoyant.io>
2024-12-06 19:53:44 +00:00
katelyn martin a39eb30614
refactor(app/test): minor tweaks to `linkerd-app-test` (#3428)
while handling the upgrade to hyper 1.0, i noticed some small changes
that'd be nice to make.

most importantly, with respect to
https://github.com/linkerd/linkerd2/issues/8733, this commit outlines
`http_util::http_request()`. hyper 1.0 provides version specific
`SendRequest` types for HTTP/1 and HTTP/2, so rather than try to be
polymorphic across both senders, we send the request at the call site.

two other commits remove `pub` attributes for functions that aren't
called externally. we'll address `run_proxy()` and `connect_client()` in
a subsequent PR, because the dependent tests use both HTTP/1 and HTTP/2. 

---

* refactor(app/test): remove `pub` from `http_util::connect_client()`

this is not used elsewhere. it can be private.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): remove `pub` from `http_util::run_proxy()`

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): remove `http_util::http_request()`

this function abstracts over one statement, at the cost of needing to
name the `SendRequest` type.

because hyper's 1.0 interface provides multiple `SendRequest` types
based on the HTTP version being used. to avoid needing to deal with
polymorphism, and to implicitly address a function-level allowance of
deprecated types, we remove this function and move this statement to the
function's call sites.

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): collect bodies with `String::from_utf8`

this function previously called `std::str::from_utf8`, before calling
`str::to_owned` on the result. because of this, there is a bit of extra
gymnastics, passing a `&body[..]` slice along after collecting the body
bytes.

this is both more baroque and less performant. this commit updates the
call, using `String::from_utf8` to collect the body, sparing a needless
`to_owned()`/`clone()` call.

Signed-off-by: katelyn martin <kate@buoyant.io>

* docs(app/test): document `io` submodule

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(app/test): remove duplicate `io` reëxport

the same `pub use` bundle is found in the parent `lib.rs`.

this removes it, and refers to the same `mod io {}` defined above.

Signed-off-by: katelyn martin <kate@buoyant.io>

* review(app/inbound): use `ServiceExt::oneshot(..)`

https://github.com/linkerd/linkerd2-proxy/pull/3428#discussion_r1873653091

we can simplify these statements sending requests, by using
`ServiceExt::oneshot(..)`.

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-06 12:14:37 -05:00
katelyn martin 2989101b6d
chore(proxy/http): address `hyper::client::conn::Builder` deprecations (#3427)
this branch contains a sequence of commits that focus on addressing
deprecation warnings related to hyper::client::conn::Builder. this
branch enables the backports feature, and then replaces some of these
builders with the backported, http/2 specific,
hyper::client::conn::http2::Builder type.

relates to linkerd/linkerd2#8733.

---

* chore(proxy/http): address `h2::Connection` deprecation

this commit updates `Connection<B>` to use the backported, http/2
specific `SendRequest` type.

this commit enables the `backports` feature flag in the `hyper`
dependency.

Signed-off-by: katelyn martin <kate@buoyant.io>

* chore(proxy/http): address `server::tests` deprecations

Signed-off-by: katelyn martin <kate@buoyant.io>

* refactor(proxy/http): consolidate connect functions

`connect()` is never called elsewhere. let's avoid the misdirection and
move it into the body of `connect_h2()`.

Signed-off-by: katelyn martin <kate@buoyant.io>

---------

Signed-off-by: katelyn martin <kate@buoyant.io>
2024-12-06 11:31:17 -05:00
dependabot[bot] c8f7ca143f
build(deps): bump codecov/codecov-action from 5.0.4 to 5.1.1 (#3429)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.4 to 5.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](985343d705...7f8b4b4bde)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-06 08:18:24 -08:00
dependabot[bot] 821813c7ed
build(deps): bump tokio-stream from 0.1.16 to 0.1.17 (#3431)
Bumps [tokio-stream](https://github.com/tokio-rs/tokio) from 0.1.16 to 0.1.17.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.16...tokio-stream-0.1.17)

---
updated-dependencies:
- dependency-name: tokio-stream
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-06 08:17:52 -08:00
Oliver Gould 81044772dc
build(deps): bump linkerd/dev from v43 to v44 (#3420)
* docker.io/library/golang from 1.22 to 1.23
* gotestsum from 0.4.2 to 1.12.0
* protoc-gen-go from 1.28.1 to 1.35.2
* protoc-gen-go-grpc from 1.2 to 1.5.1
* docker.io/library/rust from 1.76.0 to 1.83.0
* cargo-deny from 0.14.11 to 0.16.3
* cargo-nextest from 0.9.67 to 0.9.85
* cargo-tarpaulin from 0.27.3 to 0.31.3
* just from 1.24.0 to 1.37.0
* yq from 4.33.3 to 4.44.5
* markdownlint-cli2 from 0.10.0 to 0.15.0
* shellcheck from 0.9.0 to 0.10.0
* actionlint from 1.6.26 to 1.7.4
* protoc from 3.20.3 to 29.0
* step from 0.25.2 to 0.28.2
* kubectl from 1.29.2 to 1.31.3
* k3d from 5.6.0 to 5.7.5
* k3s image shas
* helm from 3.14.1 to 3.16.3
* helm-docs from 1.12.0 to 1.14.2
2024-12-06 10:50:41 -05:00
dependabot[bot] 6d60af2aeb
build(deps): bump bytes from 1.8.0 to 1.9.0 (#3424)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/tokio-rs/bytes/releases)
- [Changelog](https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/bytes/compare/v1.8.0...v1.9.0)

---
updated-dependencies:
- dependency-name: bytes
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 07:42:57 -08:00
dependabot[bot] 6572e892c2
build(deps): bump time from 0.3.36 to 0.3.37 (#3423)
Bumps [time](https://github.com/time-rs/time) from 0.3.36 to 0.3.37.
- [Release notes](https://github.com/time-rs/time/releases)
- [Changelog](https://github.com/time-rs/time/blob/main/CHANGELOG.md)
- [Commits](https://github.com/time-rs/time/compare/v0.3.36...v0.3.37)

---
updated-dependencies:
- dependency-name: time
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 07:42:42 -08:00
dependabot[bot] e6f6ae4fa6
build(deps): bump tokio-util from 0.7.12 to 0.7.13 (#3426)
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.12 to 0.7.13.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.12...tokio-util-0.7.13)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 07:42:27 -08:00