diff --git a/Cargo.lock b/Cargo.lock index 18f65b2..64349c9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -462,28 +462,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "aws-lc-rs" -version = "1.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a054912289d18629dc78375ba2c3726a3afe3ff71b4edba9dedfca0e3446d1fc" -dependencies = [ - "aws-lc-sys", - "zeroize", -] - -[[package]] -name = "aws-lc-sys" -version = "0.39.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fa7e52a4c5c547c741610a2c6f123f3881e409b714cd27e6798ef020c514f0a" -dependencies = [ - "cc", - "cmake", - "dunce", - "fs_extra", -] - [[package]] name = "aws-runtime" version = "1.7.2" @@ -801,7 +779,6 @@ checksum = "028999056d2d2fd58a697232f9eec4a643cf73a71cf327690a7edad1d2af2110" dependencies = [ "aws-smithy-async", "aws-smithy-http 0.63.6", - "aws-smithy-http-client", "aws-smithy-observability", "aws-smithy-runtime-api", "aws-smithy-types", @@ -1387,8 +1364,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423" dependencies = [ "find-msvc-tools", - "jobserver", - "libc", "shlex", ] @@ -1541,15 +1516,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" -[[package]] -name = "cmake" -version = "0.1.57" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75443c44cd6b379beb8c5b45d85d0773baf31cce901fe7bb252f4eff3008ef7d" -dependencies = [ - "cc", -] - [[package]] name = "cobs" version = "0.3.0" @@ -2199,12 +2165,6 @@ version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" -[[package]] -name = "dunce" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92773504d58c093f6de2459af4af33faa518c13451eb8f2b5698ed3d36e7c813" - [[package]] name = "dyn-clone" version = "1.0.20" @@ -2609,12 +2569,6 @@ dependencies = [ "percent-encoding", ] -[[package]] -name = "fs_extra" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c" - [[package]] name = "futures" version = "0.3.32" @@ -3778,16 +3732,6 @@ dependencies = [ "trait-variant", ] -[[package]] -name = "jobserver" -version = "0.1.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" -dependencies = [ - "getrandom 0.3.4", - "libc", -] - [[package]] name = "js-sys" version = "0.3.91" @@ -6019,7 +5963,6 @@ version = "0.23.37" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4" dependencies = [ - "aws-lc-rs", "log", "once_cell", "ring", @@ -6066,7 +6009,6 @@ version = "0.103.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef" dependencies = [ - "aws-lc-rs", "ring", "rustls-pki-types", "untrusted", @@ -7857,6 +7799,7 @@ dependencies = [ "async-trait", "aws-config", "aws-sdk-s3", + "aws-smithy-http-client", "axum", "backon", "base32", @@ -8063,6 +8006,7 @@ dependencies = [ "async-trait", "aws-config", "aws-sdk-s3", + "aws-smithy-http-client", "bytes", "futures", "sha2", diff --git a/Cargo.toml b/Cargo.toml index e299699..9d13d9e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -63,8 +63,9 @@ backon = "1" bincode = { version = "2", features = ["serde"] } anyhow = "1.0" async-trait = "0.1" -aws-config = "1.8" -aws-sdk-s3 = { version = "1.118", default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] } +aws-config = { version = "1.8", default-features = false, features = ["rt-tokio", "credentials-process", "sso"] } +aws-sdk-s3 = { version = "1.118", default-features = false, features = ["sigv4a", "rt-tokio"] } +aws-smithy-http-client = { version = "1.1", features = ["rustls-ring"] } axum = { version = "0.8", features = ["ws", "macros"] } base32 = "0.5" base64 = "0.22" diff --git a/crates/tranquil-pds/Cargo.toml b/crates/tranquil-pds/Cargo.toml index a082093..5d5fc78 100644 --- a/crates/tranquil-pds/Cargo.toml +++ b/crates/tranquil-pds/Cargo.toml @@ -102,4 +102,5 @@ hex = { workspace = true } tokio-tungstenite = { workspace = true } aws-config = { workspace = true } aws-sdk-s3 = { workspace = true } +aws-smithy-http-client = { workspace = true } redis = { workspace = true } diff --git a/crates/tranquil-pds/tests/common/mod.rs b/crates/tranquil-pds/tests/common/mod.rs index 092e1b7..74d8dca 100644 --- a/crates/tranquil-pds/tests/common/mod.rs +++ b/crates/tranquil-pds/tests/common/mod.rs @@ -270,6 +270,13 @@ async fn setup_with_testcontainers() -> String { } let sdk_config = aws_config::defaults(BehaviorVersion::latest()) .region("us-east-1") + .http_client( + aws_smithy_http_client::Builder::new() + .tls_provider(aws_smithy_http_client::tls::Provider::Rustls( + aws_smithy_http_client::tls::rustls_provider::CryptoMode::Ring, + )) + .build_https(), + ) .endpoint_url(&s3_endpoint) .credentials_provider(Credentials::new( "minioadmin", diff --git a/crates/tranquil-storage/Cargo.toml b/crates/tranquil-storage/Cargo.toml index fc03d73..bf05466 100644 --- a/crates/tranquil-storage/Cargo.toml +++ b/crates/tranquil-storage/Cargo.toml @@ -5,7 +5,7 @@ edition.workspace = true license.workspace = true [features] -s3 = ["dep:aws-config", "dep:aws-sdk-s3"] +s3 = ["dep:aws-config", "dep:aws-sdk-s3", "dep:aws-smithy-http-client"] [dependencies] tranquil-config = { workspace = true } @@ -14,6 +14,7 @@ tranquil-infra = { workspace = true } async-trait = { workspace = true } aws-config = { workspace = true, optional = true } aws-sdk-s3 = { workspace = true, optional = true } +aws-smithy-http-client = { workspace = true, optional = true } bytes = { workspace = true } futures = { workspace = true } sha2 = { workspace = true } diff --git a/crates/tranquil-storage/src/lib.rs b/crates/tranquil-storage/src/lib.rs index 16fc326..6f4c66a 100644 --- a/crates/tranquil-storage/src/lib.rs +++ b/crates/tranquil-storage/src/lib.rs @@ -151,8 +151,15 @@ mod s3 { async fn create_s3_client() -> Client { let region_provider = RegionProviderChain::default_provider().or_else("us-east-1"); + let http_client = aws_smithy_http_client::Builder::new() + .tls_provider(aws_smithy_http_client::tls::Provider::Rustls( + aws_smithy_http_client::tls::rustls_provider::CryptoMode::Ring, + )) + .build_https(); + let config = aws_config::defaults(BehaviorVersion::latest()) .region(region_provider) + .http_client(http_client) .load() .await;