build: use ring over aws-lc
All of the codebase uses ring explicitly or implicitly, but the HTTP client used for S3 requests was using aws-lc instead. This commit removes that extra dependency. Anecdotally it shaves 10s off a dev build on my machine, but slower machines would benefit more from it.
461 unmodified linesExpand all462463464465466467468469470471472473474475476477478479480481482483484485486487466467468469308 unmodified linesExpand all778779780781804782783784785577 unmodified linesExpand all1363136413651366139013911367136813691370145 unmodified linesExpand all15161517151815191545154615471548154915501551155215531520152115221523641 unmodified linesExpand all21652166216721682203220422052206220722082169217021712172396 unmodified linesExpand all256925702571257226132614261526162617261825732574257525761155 unmodified linesExpand all3732373337343735378237833784378537863787378837893790379137363737373837392222 unmodified linesExpand all59625963596459656022596659675968596938 unmodified lines6008600960106011606960126013601460151782 unmodified linesExpand all779877997800780178027803780478057806198 unmodified linesExpand all8005800680078008800980108011801280131414 unmodified linesExpand all461 unmodified linesExpand all "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"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "5fc0651c57e384202e47153c1260b84a9936e19803d747615edf199dc3b98d17"308 unmodified linesExpand allchecksum = "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", "bytes",577 unmodified linesExpand allsource = "registry+https://github.com/rust-lang/crates.io-index"checksum = "7a0dd1ca384932ff3641c8718a02769f1698e7563dc6974ffd03346116310423"dependencies = [ "find-msvc-tools", "jobserver", "libc", "shlex",]
[[package]]145 unmodified linesExpand allsource = "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"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "0fa961b519f0b462e3a3b4a34b64d119eeaca1d59af726fe450bbba07a9fc0a1"641 unmodified linesExpand allsource = "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"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555"396 unmodified linesExpand all "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"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "8b147ee9d1f6d097cef9ce628cd2ee62288d963e16fb287bd9286455b241382d"1155 unmodified linesExpand all "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"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "b49715b7073f385ba4bc528e5747d02e66cb39c6146efb66b781f131f0fb399c"2222 unmodified linesExpand allversion = "0.23.37"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4"dependencies = [ "aws-lc-rs", "log", "once_cell", "ring", "rustls-pki-types",38 unmodified linesversion = "0.103.10"source = "registry+https://github.com/rust-lang/crates.io-index"checksum = "df33b2b81ac578cabaf06b89b0631153a3f416b0a886e8a7a1707fb51abbd1ef"dependencies = [ "aws-lc-rs", "ring", "rustls-pki-types", "untrusted",]1782 unmodified linesExpand all "anyhow", "async-trait", "aws-config", "aws-sdk-s3", "aws-smithy-http-client", "axum", "backon", "base32", "base64 0.22.1",198 unmodified linesExpand alldependencies = [ "async-trait", "aws-config", "aws-sdk-s3", "aws-smithy-http-client", "bytes", "futures", "sha2", "tokio",1414 unmodified linesExpand all61 unmodified lines62636465666766676869707172107 unmodified linesExpand all61 unmodified linesbackon = "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"bcrypt = "0.17"107 unmodified linesExpand all100 unmodified lines101102103104105106100 unmodified lineshex = { workspace = true }tokio-tungstenite = { workspace = true }aws-config = { workspace = true }aws-sdk-s3 = { workspace = true }aws-smithy-http-client = { workspace = true }redis = { workspace = true }3 unmodified lines45678891011121314151617181920212 unmodified lines3 unmodified linesedition.workspace = truelicense.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 }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 }tokio = { workspace = true }2 unmodified lines149 unmodified linesExpand all150151152153154155156157158159160161162163164165166574 unmodified linesExpand all149 unmodified linesExpand all
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;
tranquil_config::get()574 unmodified linesExpand all