chore(deps): simplify dependency features (#4890)

* chore(deps): remove redundant dependency features

Remove manifest feature entries that are implied by other requested features in the same dependency declaration.

Verified that the resolved Cargo feature graph is unchanged after the cleanup.

Co-Authored-By: heihutu <heihutu@gmail.com>

* chore(deps): narrow tokio and reqwest features

Co-Authored-By: heihutu <heihutu@gmail.com>

---------

Co-authored-by: heihutu <heihutu@gmail.com>
This commit is contained in:
houseme
2026-07-16 13:20:43 +08:00
committed by GitHub
parent f3a7a4b0da
commit 56179210ab
30 changed files with 59 additions and 61 deletions
Generated
-1
View File
@@ -11600,7 +11600,6 @@ dependencies = [
"bytes", "bytes",
"libc", "libc",
"mio", "mio",
"parking_lot",
"pin-project-lite", "pin-project-lite",
"signal-hook-registry", "signal-hook-registry",
"socket2", "socket2",
+2 -2
View File
@@ -27,7 +27,7 @@ categories = ["web-programming", "development-tools", "asynchronous", "api-bindi
[dependencies] [dependencies]
rustfs-targets = { workspace = true } rustfs-targets = { workspace = true }
rustfs-config = { workspace = true, features = ["audit", "constants", "server-config-model"] } rustfs-config = { workspace = true, features = ["audit", "server-config-model"] }
rustfs-s3-types = { workspace = true } rustfs-s3-types = { workspace = true }
chrono = { workspace = true, features = ["serde"] } chrono = { workspace = true, features = ["serde"] }
const-str = { workspace = true, features = ["std", "proc"] } const-str = { workspace = true, features = ["std", "proc"] }
@@ -37,7 +37,7 @@ metrics = { workspace = true }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread", "rt", "time", "macros"] } tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread", "time", "macros"] }
tracing = { workspace = true, features = ["std", "attributes"] } tracing = { workspace = true, features = ["std", "attributes"] }
[dev-dependencies] [dev-dependencies]
+1 -1
View File
@@ -31,7 +31,7 @@ rand = { workspace = true, features = ["serde"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
sha2 = { workspace = true } sha2 = { workspace = true }
time = { workspace = true, features = ["serde", "parsing", "formatting", "macros", "std"] } time = { workspace = true, features = ["serde", "parsing", "formatting", "macros"] }
[lints] [lints]
workspace = true workspace = true
+1 -1
View File
@@ -45,7 +45,7 @@ serde_json = { workspace = true, features = ["raw_value"] }
[dev-dependencies] [dev-dependencies]
test-case.workspace = true test-case.workspace = true
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
[features] [features]
default = ["crypto", "fips"] default = ["crypto", "fips"]
+4 -4
View File
@@ -49,7 +49,7 @@ bytes = { workspace = true, features = ["serde"] }
serial_test = { workspace = true } serial_test = { workspace = true }
aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] } aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] }
aws-config = { workspace = true } aws-config = { workspace = true }
aws-smithy-http-client = { workspace = true, default-features = false, features = ["default-client", "rustls-aws-lc"] } aws-smithy-http-client = { workspace = true, default-features = false, features = ["rustls-aws-lc"] }
async-compression = { workspace = true, features = ["tokio", "bzip2", "xz"] } async-compression = { workspace = true, features = ["tokio", "bzip2", "xz"] }
async-trait = { workspace = true } async-trait = { workspace = true }
flate2.workspace = true flate2.workspace = true
@@ -57,7 +57,7 @@ http.workspace = true
http-body-util.workspace = true http-body-util.workspace = true
hyper = { workspace = true, features = ["http2", "http1", "server"] } hyper = { workspace = true, features = ["http2", "http1", "server"] }
hyper-util = { workspace = true, features = ["tokio", "server-auto", "server-graceful", "tracing"] } hyper-util = { workspace = true, features = ["tokio", "server-auto", "server-graceful", "tracing"] }
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "multipart"] }
rustfs-signer.workspace = true rustfs-signer.workspace = true
tracing = { workspace = true } tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter", "time"] } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
@@ -72,8 +72,8 @@ sha2 = { workspace = true }
astral-tokio-tar = { workspace = true } astral-tokio-tar = { workspace = true }
s3s = { workspace = true, features = ["minio"] } s3s = { workspace = true, features = ["minio"] }
zstd.workspace = true zstd.workspace = true
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
suppaftp = { workspace = true, features = ["tokio", "rustls-aws-lc-rs", "tokio-rustls-aws-lc-rs"] } suppaftp = { workspace = true, features = ["rustls-aws-lc-rs", "tokio-rustls-aws-lc-rs"] }
rcgen.workspace = true rcgen.workspace = true
local-ip-address.workspace = true local-ip-address.workspace = true
anyhow.workspace = true anyhow.workspace = true
+4 -4
View File
@@ -49,7 +49,7 @@ rustfs-signer.workspace = true
rustfs-storage-api.workspace = true rustfs-storage-api.workspace = true
rustfs-tls-runtime.workspace = true rustfs-tls-runtime.workspace = true
rustfs-checksums.workspace = true rustfs-checksums.workspace = true
rustfs-config = { workspace = true, features = ["constants", "notify", "audit", "server-config-model"] } rustfs-config = { workspace = true, features = ["notify", "audit", "server-config-model"] }
rustfs-concurrency.workspace = true rustfs-concurrency.workspace = true
rustfs-credentials = { workspace = true } rustfs-credentials = { workspace = true }
rustfs-common.workspace = true rustfs-common.workspace = true
@@ -73,7 +73,7 @@ futures-util.workspace = true
tracing.workspace = true tracing.workspace = true
tracing-opentelemetry.workspace = true tracing-opentelemetry.workspace = true
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
bytesize.workspace = true bytesize.workspace = true
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
quick-xml = { workspace = true, features = ["serialize", "async-tokio"] } quick-xml = { workspace = true, features = ["serialize", "async-tokio"] }
@@ -122,7 +122,7 @@ libc.workspace = true
# (backlog#1178); "fs" comes from the workspace default. # (backlog#1178); "fs" comes from the workspace default.
rustix = { workspace = true, features = ["process", "fs"] } rustix = { workspace = true, features = ["process", "fs"] }
rustfs-madmin.workspace = true rustfs-madmin.workspace = true
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy"] }
aes-gcm = { workspace = true, features = ["rand_core"] } aes-gcm = { workspace = true, features = ["rand_core"] }
chacha20poly1305.workspace = true chacha20poly1305.workspace = true
aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] } aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] }
@@ -141,7 +141,7 @@ google-cloud-auth = { workspace = true }
aws-config = { workspace = true } aws-config = { workspace = true }
faster-hex = { workspace = true } faster-hex = { workspace = true }
ratelimit = { workspace = true } ratelimit = { workspace = true }
aws-smithy-http-client = { workspace = true, default-features = false, features = ["default-client", "rustls-aws-lc"] } aws-smithy-http-client = { workspace = true, default-features = false, features = ["rustls-aws-lc"] }
# Observability and Metrics # Observability and Metrics
metrics = { workspace = true } metrics = { workspace = true }
+1 -1
View File
@@ -35,7 +35,7 @@ crc-fast = { workspace = true }
rmp.workspace = true rmp.workspace = true
rmp-serde.workspace = true rmp-serde.workspace = true
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
uuid = { workspace = true, features = ["v4", "fast-rng", "serde", "macro-diagnostics"] } uuid = { workspace = true, features = ["v4", "fast-rng", "serde", "macro-diagnostics"] }
tokio = { workspace = true, features = ["io-util", "macros", "sync", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["io-util", "macros", "sync", "fs", "rt-multi-thread"] }
xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] } xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] }
+3 -3
View File
@@ -30,9 +30,9 @@ workspace = true
[dependencies] [dependencies]
rustfs-credentials = { workspace = true } rustfs-credentials = { workspace = true }
rustfs-config = { workspace = true, features = ["constants", "server-config-model"] } rustfs-config = { workspace = true, features = ["server-config-model"] }
tokio = { workspace = true, features = ["fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
time = { workspace = true, features = ["serde-human-readable", "std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["serde-human-readable", "macros"] }
serde = { workspace = true, features = ["derive", "rc"] } serde = { workspace = true, features = ["derive", "rc"] }
rustfs-ecstore = { workspace = true } rustfs-ecstore = { workspace = true }
rustfs-storage-api = { workspace = true } rustfs-storage-api = { workspace = true }
@@ -51,7 +51,7 @@ rustfs-utils = { workspace = true, features = ["path"] }
rustfs-io-metrics.workspace = true rustfs-io-metrics.workspace = true
tokio-util = { workspace = true, features = ["io", "compat"] } tokio-util = { workspace = true, features = ["io", "compat"] }
pollster.workspace = true pollster.workspace = true
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy"] }
moka = { workspace = true, features = ["future"] } moka = { workspace = true, features = ["future"] }
openidconnect = { workspace = true, default-features = false, features = ["accept-rfc3339-timestamps"] } openidconnect = { workspace = true, default-features = false, features = ["accept-rfc3339-timestamps"] }
http = { workspace = true } http = { workspace = true }
+1 -1
View File
@@ -30,7 +30,7 @@ workspace = true
[dependencies] [dependencies]
bytes = { workspace = true, features = ["serde"] } bytes = { workspace = true, features = ["serde"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tokio = { workspace = true, features = ["io-util", "fs", "rt", "sync", "rt-multi-thread"] } tokio = { workspace = true, features = ["io-util", "fs", "sync", "rt-multi-thread"] }
memmap2 = { workspace = true } memmap2 = { workspace = true }
rustfs-io-metrics = { workspace = true } rustfs-io-metrics = { workspace = true }
tracing = { workspace = true } tracing = { workspace = true }
+2 -2
View File
@@ -33,14 +33,14 @@ metrics = { workspace = true }
rustfs-s3-ops = { workspace = true } rustfs-s3-ops = { workspace = true }
num_cpus = { workspace = true } num_cpus = { workspace = true }
thiserror = { workspace = true } thiserror = { workspace = true }
tokio = { workspace = true, features = ["sync", "rt", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
sysinfo = { workspace = true } sysinfo = { workspace = true }
[dev-dependencies] [dev-dependencies]
criterion = { workspace = true, features = ["html_reports"] } criterion = { workspace = true, features = ["html_reports"] }
metrics-util = { version = "0.20", features = ["debugging"] } metrics-util = { version = "0.20", features = ["debugging"] }
tokio = { workspace = true, features = ["test-util", "rt", "macros", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["test-util", "macros", "fs", "rt-multi-thread"] }
[lints] [lints]
workspace = true workspace = true
+4 -4
View File
@@ -26,13 +26,13 @@ categories = ["authentication", "web-programming"]
authors.workspace = true authors.workspace = true
[dependencies] [dependencies]
tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["rt", "sync"] }
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy", "json"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tracing = { workspace = true } tracing = { workspace = true }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
moka = { workspace = true, features = ["future"] } moka = { workspace = true, features = ["future"] }
rustfs-credentials = { workspace = true } rustfs-credentials = { workspace = true }
rustfs-policy = { workspace = true } rustfs-policy = { workspace = true }
@@ -48,7 +48,7 @@ bytes = { workspace = true, features = ["serde"] }
futures = { workspace = true } futures = { workspace = true }
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["test-util", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["test-util", "fs", "macros", "rt", "time"] }
tower = { workspace = true, features = ["util", "timeout"] } tower = { workspace = true, features = ["util", "timeout"] }
hyper = { workspace = true, features = ["server", "http2", "http1"] } hyper = { workspace = true, features = ["server", "http2", "http1"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
+2 -2
View File
@@ -30,7 +30,7 @@ workspace = true
[dependencies] [dependencies]
# Core dependencies # Core dependencies
async-trait = { workspace = true } async-trait = { workspace = true }
tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["fs", "io-util", "macros", "rt-multi-thread", "sync", "time"] }
uuid = { workspace = true, features = ["serde", "v4", "fast-rng", "macro-diagnostics"] } uuid = { workspace = true, features = ["serde", "v4", "fast-rng", "macro-diagnostics"] }
jiff = { workspace = true, features = ["serde"] } jiff = { workspace = true, features = ["serde"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
@@ -60,7 +60,7 @@ rustfs-utils = { workspace = true }
rustfs-security-governance = { workspace = true } rustfs-security-governance = { workspace = true }
# HTTP client for Vault # HTTP client for Vault
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy"] }
vaultrs = { workspace = true } vaultrs = { workspace = true }
[dev-dependencies] [dev-dependencies]
+2 -2
View File
@@ -32,7 +32,7 @@ rustfs-config = { workspace = true, features = ["constants"] }
rustfs-replication.workspace = true rustfs-replication.workspace = true
rustfs-storage-api.workspace = true rustfs-storage-api.workspace = true
s3s = { workspace = true, features = ["minio"] } s3s = { workspace = true, features = ["minio"] }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
tracing.workspace = true tracing.workspace = true
url.workspace = true url.workspace = true
uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] } uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] }
@@ -41,7 +41,7 @@ uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnos
proptest = "1" proptest = "1"
serial_test.workspace = true serial_test.workspace = true
temp-env.workspace = true temp-env.workspace = true
tokio = { workspace = true, features = ["macros", "rt", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["macros", "fs", "rt-multi-thread"] }
[lints] [lints]
workspace = true workspace = true
+1 -1
View File
@@ -35,7 +35,7 @@ hyper = { workspace = true, features = ["http2", "http1", "server"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
sysinfo.workspace = true sysinfo.workspace = true
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
[lib] [lib]
doctest = false doctest = false
+1 -1
View File
@@ -26,7 +26,7 @@ categories = ["web-programming", "development-tools", "filesystem"]
documentation = "https://docs.rs/rustfs-notify/latest/rustfs_notify/" documentation = "https://docs.rs/rustfs-notify/latest/rustfs_notify/"
[dependencies] [dependencies]
rustfs-config = { workspace = true, features = ["notify", "constants", "server-config-model"] } rustfs-config = { workspace = true, features = ["notify", "server-config-model"] }
rustfs-ecstore = { workspace = true } rustfs-ecstore = { workspace = true }
rustfs-s3-types = { workspace = true } rustfs-s3-types = { workspace = true }
rustfs-s3-ops = { workspace = true } rustfs-s3-ops = { workspace = true }
+1 -1
View File
@@ -49,4 +49,4 @@ criterion = { workspace = true, features = ["html_reports"] }
serial_test = { workspace = true } serial_test = { workspace = true }
temp-env = { workspace = true, features = ["async_closure"] } temp-env = { workspace = true, features = ["async_closure"] }
tempfile = { workspace = true } tempfile = { workspace = true }
tokio = { workspace = true, features = ["test-util", "macros", "rt", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["test-util", "macros", "fs", "rt-multi-thread"] }
+2 -2
View File
@@ -34,7 +34,7 @@ moka = { workspace = true, features = ["future"] }
starshard = { workspace = true, features = ["rayon", "async", "serde"] } starshard = { workspace = true, features = ["rayon", "async", "serde"] }
sysinfo = { workspace = true, features = ["multithread"] } sysinfo = { workspace = true, features = ["multithread"] }
thiserror.workspace = true thiserror.workspace = true
tokio = { workspace = true, features = ["sync", "rt", "time", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["sync", "time", "fs", "rt-multi-thread"] }
tracing.workspace = true tracing.workspace = true
[dev-dependencies] [dev-dependencies]
@@ -43,7 +43,7 @@ metrics-util = { version = "0.20", features = ["debugging"] }
# `rt-multi-thread` lets the concurrency stress tests run tasks on real worker # `rt-multi-thread` lets the concurrency stress tests run tasks on real worker
# threads, so they exercise true parallelism on the shared singleflight/index # threads, so they exercise true parallelism on the shared singleflight/index
# state rather than only cooperative interleaving. # state rather than only cooperative interleaving.
tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread", "time", "fs"] } tokio = { workspace = true, features = ["macros", "rt-multi-thread", "time", "fs"] }
[[bench]] [[bench]]
name = "cache_bench" name = "cache_bench"
+3 -4
View File
@@ -60,7 +60,7 @@ workspace = true
[dependencies] [dependencies]
rustfs-audit = { workspace = true } rustfs-audit = { workspace = true }
rustfs-common = { workspace = true } rustfs-common = { workspace = true }
rustfs-config = { workspace = true, features = ["constants", "observability"] } rustfs-config = { workspace = true, features = ["observability"] }
# NOTE: This dependency on rustfs-ecstore is a known architectural limitation. # NOTE: This dependency on rustfs-ecstore is a known architectural limitation.
# The obs crate imports types from ecstore for metrics collection. # The obs crate imports types from ecstore for metrics collection.
# Breaking this dependency would require defining traits in obs and # Breaking this dependency would require defining traits in obs and
@@ -98,8 +98,8 @@ tracing = { workspace = true, features = ["std", "attributes"] }
tracing-appender = { workspace = true } tracing-appender = { workspace = true }
tracing-error = { workspace = true } tracing-error = { workspace = true }
tracing-opentelemetry = { workspace = true } tracing-opentelemetry = { workspace = true }
tracing-subscriber = { workspace = true, features = ["registry", "std", "fmt", "env-filter", "tracing-log", "time", "local-time", "json"] } tracing-subscriber = { workspace = true, features = ["fmt", "env-filter", "tracing-log", "time", "local-time", "json"] }
tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread", "rt", "time", "macros"] } tokio = { workspace = true, features = ["sync", "rt-multi-thread", "time", "macros"] }
tokio-util = { workspace = true, features = ["io", "compat"] } tokio-util = { workspace = true, features = ["io", "compat"] }
dial9-tokio-telemetry = { workspace = true, optional = true } dial9-tokio-telemetry = { workspace = true, optional = true }
thiserror = { workspace = true } thiserror = { workspace = true }
@@ -115,6 +115,5 @@ libc = { workspace = true }
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] }
tempfile = { workspace = true } tempfile = { workspace = true }
temp-env = { workspace = true } temp-env = { workspace = true }
+4 -4
View File
@@ -30,9 +30,9 @@ workspace = true
[dependencies] [dependencies]
rustfs-credentials = { workspace = true } rustfs-credentials = { workspace = true }
rustfs-config = { workspace = true, features = ["constants", "opa"] } rustfs-config = { workspace = true, features = ["opa"] }
tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["macros", "rt-multi-thread", "time"] }
time = { workspace = true, features = ["serde", "parsing", "formatting", "macros", "std"] } time = { workspace = true, features = ["serde", "parsing", "formatting", "macros"] }
serde = { workspace = true, features = ["derive", "rc"] } serde = { workspace = true, features = ["derive", "rc"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
thiserror.workspace = true thiserror.workspace = true
@@ -42,7 +42,7 @@ ipnetwork = { workspace = true, features = ["serde"] }
base64-simd = { workspace = true } base64-simd = { workspace = true }
jsonwebtoken = { workspace = true, features = ["aws_lc_rs"] } jsonwebtoken = { workspace = true, features = ["aws_lc_rs"] }
regex = { workspace = true } regex = { workspace = true }
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy", "json"] }
chrono = { workspace = true, features = ["serde"] } chrono = { workspace = true, features = ["serde"] }
tracing.workspace = true tracing.workspace = true
moka = { workspace = true, features = ["future"] } moka = { workspace = true, features = ["future"] }
+2 -2
View File
@@ -79,7 +79,7 @@ serde_json = { workspace = true, features = ["raw_value"] }
# Utilities # Utilities
async-trait = { workspace = true } async-trait = { workspace = true }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
bytes = { workspace = true, features = ["serde"] } bytes = { workspace = true, features = ["serde"] }
# S3 API dependencies # S3 API dependencies
@@ -131,7 +131,7 @@ socket2 = { workspace = true, optional = true, features = ["all"] }
tempfile = { workspace = true } tempfile = { workspace = true }
proptest = "1" proptest = "1"
tracing-subscriber = { workspace = true, features = ["env-filter", "time"] } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
tokio = { workspace = true, features = ["test-util", "macros", "rt", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["test-util", "macros", "fs", "rt-multi-thread"] }
[package.metadata.docs.rs] [package.metadata.docs.rs]
all-features = true all-features = true
+1 -1
View File
@@ -33,7 +33,7 @@ rmp.workspace = true
rmp-serde.workspace = true rmp-serde.workspace = true
s3s = { workspace = true, features = ["minio"] } s3s = { workspace = true, features = ["minio"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread"] }
url.workspace = true url.workspace = true
uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] } uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] }
+2 -2
View File
@@ -35,7 +35,7 @@ hotpath = ["dep:hotpath", "hotpath/hotpath"]
[dependencies] [dependencies]
hotpath = { workspace = true, optional = true } hotpath = { workspace = true, optional = true }
arc-swap.workspace = true arc-swap.workspace = true
tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["io-util", "macros", "net", "rt-multi-thread", "sync", "time"] }
rand = { workspace = true, features = ["serde"] } rand = { workspace = true, features = ["serde"] }
http.workspace = true http.workspace = true
aes-gcm = { workspace = true, features = ["rand_core"] } aes-gcm = { workspace = true, features = ["rand_core"] }
@@ -43,7 +43,7 @@ crc-fast = { workspace = true }
pin-project-lite.workspace = true pin-project-lite.workspace = true
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
bytes = { workspace = true, features = ["serde"] } bytes = { workspace = true, features = ["serde"] }
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy", "stream"] }
rustls-pki-types.workspace = true rustls-pki-types.workspace = true
tokio-util = { workspace = true, features = ["io", "compat"] } tokio-util = { workspace = true, features = ["io", "compat"] }
faster-hex.workspace = true faster-hex.workspace = true
+2 -2
View File
@@ -33,14 +33,14 @@ workspace = true
rustfs-config = { workspace = true, features = ["server-config-model"] } rustfs-config = { workspace = true, features = ["server-config-model"] }
rustfs-common = { workspace = true } rustfs-common = { workspace = true }
rustfs-utils = { workspace = true } rustfs-utils = { workspace = true }
tokio = { workspace = true, features = ["fs", "sync", "rt", "time", "macros", "rt-multi-thread"] } tokio = { workspace = true, features = ["fs", "sync", "time", "macros", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true } thiserror = { workspace = true }
async-trait = { workspace = true } async-trait = { workspace = true }
futures = { workspace = true } futures = { workspace = true }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
chrono = { workspace = true, features = ["serde"] } chrono = { workspace = true, features = ["serde"] }
rmp-serde = { workspace = true } rmp-serde = { workspace = true }
rustfs-filemeta = { workspace = true } rustfs-filemeta = { workspace = true }
+1 -1
View File
@@ -29,7 +29,7 @@ documentation = "https://docs.rs/rustfs-signer/latest/rustfs_signer/"
tracing.workspace = true tracing.workspace = true
bytes = { workspace = true, features = ["serde"] } bytes = { workspace = true, features = ["serde"] }
http.workspace = true http.workspace = true
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
hyper = { workspace = true, features = ["http2", "http1", "server"] } hyper = { workspace = true, features = ["http2", "http1", "server"] }
serde_urlencoded.workspace = true serde_urlencoded.workspace = true
rustfs-utils = { workspace = true, features = ["full"] } rustfs-utils = { workspace = true, features = ["full"] }
+2 -2
View File
@@ -33,13 +33,13 @@ async-trait.workspace = true
# the underlying wire types can move without creating a replication/storage-api cycle. # the underlying wire types can move without creating a replication/storage-api cycle.
rustfs-filemeta.workspace = true rustfs-filemeta.workspace = true
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
[dev-dependencies] [dev-dependencies]
insta = { workspace = true, features = ["yaml", "json"] } insta = { workspace = true, features = ["yaml", "json"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
tokio = { workspace = true, features = ["macros", "rt", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["macros", "fs", "rt-multi-thread"] }
[lints] [lints]
workspace = true workspace = true
+2 -2
View File
@@ -12,7 +12,7 @@ categories = ["web-programming", "development-tools", "filesystem"]
documentation = "https://docs.rs/rustfs-targets/latest/rustfs_targets/" documentation = "https://docs.rs/rustfs-targets/latest/rustfs_targets/"
[dependencies] [dependencies]
rustfs-config = { workspace = true, features = ["notify", "constants", "audit", "server-config-model"] } rustfs-config = { workspace = true, features = ["notify", "audit", "server-config-model"] }
rustfs-extension-schema = { workspace = true } rustfs-extension-schema = { workspace = true }
rustfs-tls-runtime = { workspace = true } rustfs-tls-runtime = { workspace = true }
rustfs-s3-types = { workspace = true } rustfs-s3-types = { workspace = true }
@@ -26,7 +26,7 @@ lapin = { workspace = true, default-features = false, features = ["tokio", "rust
libc = { workspace = true } libc = { workspace = true }
pulsar = { workspace = true, default-features = false, features = ["tokio-rustls-runtime", "telemetry"] } pulsar = { workspace = true, default-features = false, features = ["tokio-rustls-runtime", "telemetry"] }
regex = { workspace = true } regex = { workspace = true }
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy"] }
rumqttc = { workspace = true, features = ["websocket"] } rumqttc = { workspace = true, features = ["websocket"] }
redis = { workspace = true, features = ["connection-manager", "tokio-rustls-comp", "tls-rustls-insecure"] } redis = { workspace = true, features = ["connection-manager", "tokio-rustls-comp", "tls-rustls-insecure"] }
rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] } rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
+1 -1
View File
@@ -28,7 +28,7 @@ documentation = "https://docs.rs/rustfs-test-utils/latest/rustfs_test_utils/"
[dependencies] [dependencies]
rustfs-ecstore = { workspace = true } rustfs-ecstore = { workspace = true }
rustfs-storage-api = { workspace = true } rustfs-storage-api = { workspace = true }
tokio = { workspace = true, features = ["fs", "rt", "rt-multi-thread"] } tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
tokio-util = { workspace = true, features = ["io", "compat"] } tokio-util = { workspace = true, features = ["io", "compat"] }
tracing-subscriber = { workspace = true, features = ["env-filter", "time"] } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
+3 -3
View File
@@ -31,19 +31,19 @@ http = { workspace = true }
ipnetwork = { workspace = true, features = ["serde"] } ipnetwork = { workspace = true, features = ["serde"] }
metrics = { workspace = true } metrics = { workspace = true }
moka = { workspace = true, features = ["future", "sync"] } moka = { workspace = true, features = ["future", "sync"] }
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "json"] }
rustfs-config = { workspace = true } rustfs-config = { workspace = true }
rustfs-utils = { workspace = true, features = ["net"] } rustfs-utils = { workspace = true, features = ["net"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["raw_value"] } serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "sync", "time", "test-util", "fs"] } tokio = { workspace = true, features = ["macros", "rt", "time"] }
tower = { workspace = true, features = ["timeout"] } tower = { workspace = true, features = ["timeout"] }
tracing = { workspace = true } tracing = { workspace = true }
regex = { workspace = true } regex = { workspace = true }
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["full", "test-util", "fs", "rt-multi-thread"] } tokio = { workspace = true, features = ["macros", "rt"] }
tower = { workspace = true, features = ["util", "timeout"] } tower = { workspace = true, features = ["util", "timeout"] }
serial_test = { workspace = true } serial_test = { workspace = true }
temp-env = { workspace = true } temp-env = { workspace = true }
+1 -1
View File
@@ -63,7 +63,7 @@ temp-env = { workspace = true }
proptest = "1" proptest = "1"
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
windows = { workspace = true, optional = true, features = ["Win32_Storage_FileSystem", "Win32_Foundation"] } windows = { workspace = true, optional = true, features = ["Win32_Storage_FileSystem"] }
[lints] [lints]
workspace = true workspace = true
+3 -3
View File
@@ -68,7 +68,7 @@ hotpath = { workspace = true, optional = true }
rustfs-heal = { workspace = true } rustfs-heal = { workspace = true }
rustfs-audit = { workspace = true } rustfs-audit = { workspace = true }
rustfs-common = { workspace = true } rustfs-common = { workspace = true }
rustfs-config = { workspace = true, features = ["constants", "notify", "server-config-model"] } rustfs-config = { workspace = true, features = ["notify", "server-config-model"] }
rustfs-crypto = { workspace = true } rustfs-crypto = { workspace = true }
rustfs-credentials = { workspace = true } rustfs-credentials = { workspace = true }
rustfs-ecstore = { workspace = true } rustfs-ecstore = { workspace = true }
@@ -117,7 +117,7 @@ hyper-util = { workspace = true, features = ["tokio", "server-auto", "server-gra
http.workspace = true http.workspace = true
http-body.workspace = true http-body.workspace = true
http-body-util.workspace = true http-body-util.workspace = true
reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream"] }
socket2 = { workspace = true, features = ["all"] } socket2 = { workspace = true, features = ["all"] }
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "net", "signal", "process", "io-util", "fs"] } tokio = { workspace = true, features = ["rt-multi-thread", "macros", "net", "signal", "process", "io-util", "fs"] }
tokio-rustls = { workspace = true, default-features = false, features = ["logging", "tls12", "aws-lc-rs"] } tokio-rustls = { workspace = true, default-features = false, features = ["logging", "tls12", "aws-lc-rs"] }
@@ -145,7 +145,7 @@ rustls = { workspace = true, default-features = false, features = ["aws-lc-rs",
rustls-pki-types = { workspace = true } rustls-pki-types = { workspace = true }
subtle = { workspace = true } subtle = { workspace = true }
jiff = { workspace = true, features = ["serde"] } jiff = { workspace = true, features = ["serde"] }
time = { workspace = true, features = ["parsing", "formatting", "serde", "std", "macros"] } time = { workspace = true, features = ["parsing", "formatting", "serde", "macros"] }
# Utilities and Tools # Utilities and Tools
astral-tokio-tar = { workspace = true } astral-tokio-tar = { workspace = true }