chore(deps): localize workspace dependency features (#4888)

Move workspace-level dependency feature lists into the member crates that consume each dependency while keeping required default-features flags at the workspace root.

Also refresh starshard to 2.2.2 via cargo update and cargo upgrade --exclude ratelimit.

Co-authored-by: heihutu <heihutu@gmail.com>
This commit is contained in:
houseme
2026-07-16 11:55:27 +08:00
committed by GitHub
parent 0fa6dc5946
commit f3a7a4b0da
46 changed files with 403 additions and 402 deletions
Generated
+10 -10
View File
@@ -3926,7 +3926,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@@ -5336,7 +5336,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
dependencies = [ dependencies = [
"hermit-abi", "hermit-abi",
"libc", "libc",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@@ -8051,7 +8051,7 @@ dependencies = [
"once_cell", "once_cell",
"socket2", "socket2",
"tracing", "tracing",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@@ -10139,7 +10139,7 @@ dependencies = [
"errno", "errno",
"libc", "libc",
"linux-raw-sys 0.12.1", "linux-raw-sys 0.12.1",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@@ -10213,7 +10213,7 @@ dependencies = [
"security-framework", "security-framework",
"security-framework-sys", "security-framework-sys",
"webpki-root-certs", "webpki-root-certs",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@@ -11099,9 +11099,9 @@ dependencies = [
[[package]] [[package]]
name = "starshard" name = "starshard"
version = "2.2.1" version = "2.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4dafd0cbefb050fa7a7f95ac229f7978ed4c99866a1a5b62e34a154b52d73d77" checksum = "5d298eb1bb81d6e5ddf447f3d26698d6ac5e5b9502b03004dbc2a2e2f8b572b6"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"hashbrown 0.17.1", "hashbrown 0.17.1",
@@ -11373,10 +11373,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd"
dependencies = [ dependencies = [
"fastrand", "fastrand",
"getrandom 0.3.4", "getrandom 0.4.3",
"once_cell", "once_cell",
"rustix 1.1.4", "rustix 1.1.4",
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
@@ -12477,7 +12477,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [ dependencies = [
"windows-sys 0.52.0", "windows-sys 0.59.0",
] ]
[[package]] [[package]]
+60 -60
View File
@@ -133,8 +133,8 @@ rustfs-zip = { path = "./crates/zip", version = "1.0.0-beta.9" }
# Async Runtime and Networking # Async Runtime and Networking
async-channel = "2.5.0" async-channel = "2.5.0"
async_zip = { version = "0.0.18", default-features = false, features = ["tokio", "deflate"] } async_zip = { default-features = false, version = "0.0.18" }
mysql_async = { version = "0.37", default-features = false, features = ["default-rustls", "tracing"] } mysql_async = { default-features = false, version = "0.37" }
async-compression = { version = "0.4.42" } async-compression = { version = "0.4.42" }
async-recursion = "1.1.1" async-recursion = "1.1.1"
async-trait = "0.1.89" async-trait = "0.1.89"
@@ -145,32 +145,32 @@ futures-core = "0.3.32"
futures-lite = "2.6.1" futures-lite = "2.6.1"
futures-util = "0.3.32" futures-util = "0.3.32"
pollster = "1.0.1" pollster = "1.0.1"
pulsar = { version = "6.8.0", default-features = false, features = ["tokio-rustls-runtime", "telemetry"] } pulsar = { default-features = false, version = "6.8.0" }
lapin = { version = "4.10.0", default-features = false, features = ["tokio", "rustls", "rustls--aws_lc_rs"] } lapin = { default-features = false, version = "4.10.0" }
hyper = { version = "1.10.1", features = ["http2", "http1", "server"] } hyper = { version = "1.10.1" }
hyper-rustls = { version = "0.27.9", default-features = false, features = ["native-tokio", "http1", "tls12", "logging", "http2", "aws-lc-rs", "webpki-roots"] } hyper-rustls = { default-features = false, version = "0.27.9" }
hyper-util = { version = "0.1.20", features = ["tokio", "server-auto", "server-graceful", "tracing"] } hyper-util = { version = "0.1.20" }
http = "1.4.2" http = "1.4.2"
http-body = "1.1.0" http-body = "1.1.0"
http-body-util = "0.1.4" http-body-util = "0.1.4"
minlz = "1.2.3" minlz = "1.2.3"
reqwest = { version = "0.13.4", default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] } reqwest = { default-features = false, version = "0.13.4" }
rustfs-kafka-async = { version = "1.2.0" } rustfs-kafka-async = { version = "1.2.0" }
socket2 = { version = "0.6.5", features = ["all"] } socket2 = { version = "0.6.5" }
tokio = { version = "1.52.3", features = ["fs", "rt-multi-thread"] } tokio = { version = "1.52.3" }
tokio-rustls = { version = "0.26.4", default-features = false, features = ["logging", "tls12", "aws-lc-rs"] } tokio-rustls = { default-features = false, version = "0.26.4" }
tokio-stream = { version = "0.1.18" } tokio-stream = { version = "0.1.18" }
tokio-test = "0.4.5" tokio-test = "0.4.5"
tokio-util = { version = "0.7.18", features = ["io", "compat"] } tokio-util = { version = "0.7.18" }
tonic = { version = "0.14.6", features = ["gzip", "deflate"] } tonic = { version = "0.14.6" }
tonic-prost = { version = "0.14.6" } tonic-prost = { version = "0.14.6" }
tonic-prost-build = { version = "0.14.6" } tonic-prost-build = { version = "0.14.6" }
tower = { version = "0.5.3", features = ["timeout"] } tower = { version = "0.5.3" }
tower-http = { version = "0.7.0", features = ["cors"] } tower-http = { version = "0.7.0" }
# Serialization and Data Formats # Serialization and Data Formats
apache-avro = "0.21.0" apache-avro = "0.21.0"
bytes = { version = "1.12.1", features = ["serde"] } bytes = { version = "1.12.1" }
bytesize = "2.4.2" bytesize = "2.4.2"
byteorder = "1.5.0" byteorder = "1.5.0"
flatbuffers = "25.12.19" flatbuffers = "25.12.19"
@@ -179,8 +179,8 @@ prost = "0.14.4"
quick-xml = "0.41.0" quick-xml = "0.41.0"
rmp = { version = "0.8.15" } rmp = { version = "0.8.15" }
rmp-serde = { version = "1.3.1" } rmp-serde = { version = "1.3.1" }
serde = { version = "1.0.228", features = ["derive"] } serde = { version = "1.0.228" }
serde_json = { version = "1.0.150", features = ["raw_value"] } serde_json = { version = "1.0.150" }
serde_urlencoded = "0.7.1" serde_urlencoded = "0.7.1"
# Cryptography and Security # Cryptography and Security
@@ -188,33 +188,33 @@ serde_urlencoded = "0.7.1"
# matching stable releases are not available yet, while previous stable lines # matching stable releases are not available yet, while previous stable lines
# have incompatible APIs. Keep them exact-pinned and monitor upstream for stable # have incompatible APIs. Keep them exact-pinned and monitor upstream for stable
# releases. # releases.
aes-gcm = { version = "=0.11.0", features = ["rand_core"] } aes-gcm = { version = "=0.11.0" }
argon2 = { version = "=0.6.0-rc.8" } argon2 = { version = "=0.6.0-rc.8" }
blake2 = "=0.11.0-rc.6" blake2 = "=0.11.0-rc.6"
chacha20poly1305 = { version = "=0.11.0" } chacha20poly1305 = { version = "=0.11.0" }
crc-fast = "1.10.0" crc-fast = "1.10.0"
hmac = { version = "0.13.0" } hmac = { version = "0.13.0" }
jsonwebtoken = { version = "10.4.0", features = ["aws_lc_rs"] } jsonwebtoken = { version = "10.4.0" }
openidconnect = { version = "4.0", default-features = false, features = ["accept-rfc3339-timestamps"] } openidconnect = { default-features = false, version = "4.0" }
pbkdf2 = "0.13.0" pbkdf2 = "0.13.0"
rsa = { version = "=0.10.0-rc.18" } rsa = { version = "=0.10.0-rc.18" }
rustls = { version = "0.23.42", default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] } rustls = { default-features = false, version = "0.23.42" }
rustls-native-certs = "0.8" rustls-native-certs = "0.8"
rustls-pki-types = "1.15.0" rustls-pki-types = "1.15.0"
sha1 = "0.11.0" sha1 = "0.11.0"
sha2 = "0.11.0" sha2 = "0.11.0"
subtle = "2.6" subtle = "2.6"
zeroize = { version = "1.9.0", features = ["derive"] } zeroize = { version = "1.9.0" }
# Time and Date # Time and Date
chrono = { version = "0.4.45", features = ["serde"] } chrono = { version = "0.4.45" }
humantime = "2.4.0" humantime = "2.4.0"
jiff = { version = "0.2.32", features = ["serde"] } jiff = { version = "0.2.32" }
time = { version = "0.3.53", features = ["std", "parsing", "formatting", "macros", "serde"] } time = { version = "0.3.53" }
# Database # Database
deadpool-postgres = { version = "0.14", features = ["rt_tokio_1"] } deadpool-postgres = { version = "0.14" }
tokio-postgres = { version = "0.7.18", default-features = false, features = ["runtime", "with-serde_json-1"] } tokio-postgres = { default-features = false, version = "0.7.18" }
tokio-postgres-rustls = "0.14.0" tokio-postgres-rustls = "0.14.0"
# Utilities and Tools # Utilities and Tools
@@ -225,22 +225,22 @@ atoi = "3.1.0"
atomic_enum = "0.3.0" atomic_enum = "0.3.0"
aws-config = { version = "1.9.0" } aws-config = { version = "1.9.0" }
aws-credential-types = { version = "1.3.0" } aws-credential-types = { version = "1.3.0" }
aws-sdk-s3 = { version = "1.138.0", default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] } aws-sdk-s3 = { default-features = false, version = "1.138.0" }
aws-smithy-http-client = { version = "1.2.0", default-features = false, features = ["default-client", "rustls-aws-lc"] } aws-smithy-http-client = { default-features = false, version = "1.2.0" }
aws-smithy-runtime-api = { version = "1.13.0", features = ["http-1x"] } aws-smithy-runtime-api = { version = "1.13.0" }
aws-smithy-types = { version = "1.6.1" } aws-smithy-types = { version = "1.6.1" }
base64 = "0.22.1" base64 = "0.22.1"
base64-simd = "0.8.0" base64-simd = "0.8.0"
brotli = "8.0.4" brotli = "8.0.4"
clap = { version = "4.6.2", features = ["derive", "env"] } clap = { version = "4.6.2" }
const-str = { version = "1.1.0", features = ["std", "proc"] } const-str = { version = "1.1.0" }
convert_case = "0.11.0" convert_case = "0.11.0"
criterion = { version = "0.8", features = ["html_reports"] } criterion = { version = "0.8" }
crossbeam-queue = "0.3.13" crossbeam-queue = "0.3.13"
crossbeam-channel = "0.5.16" crossbeam-channel = "0.5.16"
crossbeam-deque = "0.8.7" crossbeam-deque = "0.8.7"
crossbeam-utils = "0.8.22" crossbeam-utils = "0.8.22"
datafusion = { git = "https://github.com/apache/datafusion.git", rev = "dae03ee062b2abf986de8df12ea82fb1578a2d99", default-features = false } datafusion = { default-features = false, git = "https://github.com/apache/datafusion.git", rev = "dae03ee062b2abf986de8df12ea82fb1578a2d99" }
derive_builder = "0.20.2" derive_builder = "0.20.2"
enumset = "1.1.13" enumset = "1.1.13"
faster-hex = "0.10.0" faster-hex = "0.10.0"
@@ -248,11 +248,11 @@ flate2 = "1.1.9"
glob = "0.3.3" glob = "0.3.3"
google-cloud-storage = "1.16.0" google-cloud-storage = "1.16.0"
google-cloud-auth = "1.14.0" google-cloud-auth = "1.14.0"
hashbrown = { version = "0.17.1", features = ["serde", "rayon"] } hashbrown = { version = "0.17.1" }
hex = "0.4.3" hex = "0.4.3"
hex-simd = "0.8.0" hex-simd = "0.8.0"
highway = { version = "1.3.0" } highway = { version = "1.3.0" }
ipnetwork = { version = "0.21.1", features = ["serde"] } ipnetwork = { version = "0.21.1" }
lazy_static = "1.5.0" lazy_static = "1.5.0"
libc = "0.2.186" libc = "0.2.186"
libsystemd = "0.7.2" libsystemd = "0.7.2"
@@ -263,7 +263,7 @@ matchit = "0.9.2"
md-5 = "0.11.0" md-5 = "0.11.0"
md5 = "0.8.1" md5 = "0.8.1"
mime_guess = "2.0.5" mime_guess = "2.0.5"
moka = { version = "0.12.15", features = ["future"] } moka = { version = "0.12.15" }
netif = "0.1.6" netif = "0.1.6"
num_cpus = { version = "1.17.0" } num_cpus = { version = "1.17.0" }
nvml-wrapper = "0.12.1" nvml-wrapper = "0.12.1"
@@ -273,27 +273,27 @@ path-clean = "1.0.1"
percent-encoding = "2.3.2" percent-encoding = "2.3.2"
pin-project-lite = "0.2.17" pin-project-lite = "0.2.17"
pretty_assertions = "1.4.1" pretty_assertions = "1.4.1"
rand = { version = "0.10.2", features = ["serde"] } rand = { version = "0.10.2" }
ratelimit = "0.10.1" ratelimit = "0.10.1"
rayon = "1.12.0" rayon = "1.12.0"
reed-solomon-erasure = { package = "rustfs-erasure-codec", version = "8.0.0", features = ["simd-accel"] } reed-solomon-erasure = { package = "rustfs-erasure-codec", version = "8.0.0" }
#reed-solomon-erasure = { version = "6.0", features = ["simd-accel"], git = "https://github.com/houseme/reed-solomon-erasure",rev = "main" } #reed-solomon-erasure = { version = "6.0", features = ["simd-accel"], git = "https://github.com/houseme/reed-solomon-erasure",rev = "main" }
reed-solomon-simd = "3.1.0" reed-solomon-simd = "3.1.0"
regex = { version = "1.13.1" } regex = { version = "1.13.1" }
rumqttc = { package = "rumqttc-next", version = "0.33.2", features = ["websocket"] } rumqttc = { package = "rumqttc-next", version = "0.33.2" }
redis = { version = "1.4.0", features = ["connection-manager", "tokio-rustls-comp", "tls-rustls-insecure"] } redis = { version = "1.4.0" }
rustix = { version = "1.1.4", features = ["fs"] } rustix = { version = "1.1.4" }
rust-embed = { version = "8.12.0" } rust-embed = { version = "8.12.0" }
rustc-hash = { version = "2.1.3" } rustc-hash = { version = "2.1.3" }
s3s = { git = "https://github.com/s3s-project/s3s.git", rev = "ce69c3f10824535c7c24b2f71cdb2aaa4dffb5e0", features = ["minio"] } s3s = { git = "https://github.com/s3s-project/s3s.git", rev = "ce69c3f10824535c7c24b2f71cdb2aaa4dffb5e0" }
serial_test = "3.5.0" serial_test = "3.5.0"
shadow-rs = { version = "2.0.0", default-features = false } shadow-rs = { default-features = false, version = "2.0.0" }
siphasher = "1.0.3" siphasher = "1.0.3"
smallvec = { version = "1.15.2", features = ["serde"] } smallvec = { version = "1.15.2" }
smartstring = "1.0.1" smartstring = "1.0.1"
snap = "1.1.2" snap = "1.1.2"
starshard = { version = "2.2.1", features = ["rayon", "async", "serde"] } starshard = { version = "2.2.2" }
strum = { version = "0.28.0", features = ["derive"] } strum = { version = "0.28.0" }
sysinfo = "0.39.6" sysinfo = "0.39.6"
temp-env = "0.3.6" temp-env = "0.3.6"
tempfile = "3.27.0" tempfile = "3.27.0"
@@ -303,15 +303,15 @@ tracing = { version = "0.1.44" }
tracing-appender = "0.2.5" tracing-appender = "0.2.5"
tracing-error = "0.2.1" tracing-error = "0.2.1"
tracing-opentelemetry = { version = "0.33" } tracing-opentelemetry = { version = "0.33" }
tracing-subscriber = { version = "0.3.23", features = ["env-filter", "time"] } tracing-subscriber = { version = "0.3.23" }
transform-stream = "0.3.1" transform-stream = "0.3.1"
url = "2.5.8" url = "2.5.8"
urlencoding = "2.1.3" urlencoding = "2.1.3"
uuid = { version = "1.24.0", features = ["v4", "fast-rng", "macro-diagnostics"] } uuid = { version = "1.24.0" }
vaultrs = { version = "0.8.0" } vaultrs = { version = "0.8.0" }
walkdir = "2.5.0" walkdir = "2.5.0"
windows = { version = "0.62.2" } windows = { version = "0.62.2" }
xxhash-rust = { version = "0.8.17", features = ["xxh64", "xxh3"] } xxhash-rust = { version = "0.8.17" }
zip = "8.6.0" zip = "8.6.0"
zstd = "0.13.3" zstd = "0.13.3"
@@ -319,19 +319,19 @@ zstd = "0.13.3"
metrics = "0.24.6" metrics = "0.24.6"
dial9-tokio-telemetry = "0.3" dial9-tokio-telemetry = "0.3"
opentelemetry = { version = "0.32.0" } opentelemetry = { version = "0.32.0" }
opentelemetry-appender-tracing = { version = "0.32.0", features = ["experimental_span_attributes", "experimental_metadata_attributes"] } opentelemetry-appender-tracing = { version = "0.32.0" }
opentelemetry-otlp = { version = "0.32.0", features = ["gzip-http", "reqwest-rustls"] } opentelemetry-otlp = { version = "0.32.0" }
opentelemetry_sdk = { version = "0.32.1", features = ["rt-tokio"] } opentelemetry_sdk = { version = "0.32.1" }
opentelemetry-semantic-conventions = { version = "0.32.1", features = ["semconv_experimental"] } opentelemetry-semantic-conventions = { version = "0.32.1" }
opentelemetry-stdout = { version = "0.32.0" } opentelemetry-stdout = { version = "0.32.0" }
pyroscope = { version = "2.1.0", features = ["backend-pprof-rs"] } pyroscope = { version = "2.1.0" }
# FTP and SFTP # FTP and SFTP
libunftp = { version = "0.23.0", features = ["experimental"] } libunftp = { version = "0.23.0" }
unftp-core = "0.1.0" unftp-core = "0.1.0"
suppaftp = { version = "10.0.1", features = ["tokio", "tokio-rustls-aws-lc-rs"] } suppaftp = { version = "10.0.1" }
rcgen = "0.14.8" rcgen = "0.14.8"
russh = { version = "0.62.2", features = ["serde"] } russh = { version = "0.62.2" }
russh-sftp = "2.3.0" russh-sftp = "2.3.0"
# WebDAV # WebDAV
@@ -341,7 +341,7 @@ dav-server = "0.11.0"
mimalloc = "0.1" mimalloc = "0.1"
hotpath = "0.21" hotpath = "0.21"
# Snapshot testing for output format regression detection # Snapshot testing for output format regression detection
insta = { version = "1.48", features = ["yaml", "json"] } insta = { version = "1.48" }
[workspace.metadata.cargo-shear] [workspace.metadata.cargo-shear]
ignored = ["rustfs"] ignored = ["rustfs"]
+5 -5
View File
@@ -29,13 +29,13 @@ categories = ["web-programming", "development-tools", "asynchronous", "api-bindi
rustfs-targets = { workspace = true } rustfs-targets = { workspace = true }
rustfs-config = { workspace = true, features = ["audit", "constants", "server-config-model"] } rustfs-config = { workspace = true, features = ["audit", "constants", "server-config-model"] }
rustfs-s3-types = { workspace = true } rustfs-s3-types = { workspace = true }
chrono = { workspace = true } chrono = { workspace = true, features = ["serde"] }
const-str = { workspace = true } const-str = { workspace = true, features = ["std", "proc"] }
futures = { workspace = true } futures = { workspace = true }
hashbrown = { workspace = true } hashbrown = { workspace = true, features = ["serde", "rayon"] }
metrics = { workspace = true } metrics = { workspace = true }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true } 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", "rt", "time", "macros"] }
tracing = { workspace = true, features = ["std", "attributes"] } tracing = { workspace = true, features = ["std", "attributes"] }
+2 -2
View File
@@ -26,14 +26,14 @@ categories = ["web-programming", "development-tools", "network-programming"]
documentation = "https://docs.rs/rustfs-checksums/latest/rustfs_checksum/" documentation = "https://docs.rs/rustfs-checksums/latest/rustfs_checksum/"
[dependencies] [dependencies]
bytes = { workspace = true } bytes = { workspace = true, features = ["serde"] }
crc-fast = { workspace = true } crc-fast = { workspace = true }
http = { workspace = true } http = { workspace = true }
base64-simd = { workspace = true } base64-simd = { workspace = true }
md-5 = { workspace = true } md-5 = { workspace = true }
sha1 = { workspace = true } sha1 = { workspace = true }
sha2 = { workspace = true } sha2 = { workspace = true }
xxhash-rust = { workspace = true } xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] }
[dev-dependencies] [dev-dependencies]
pretty_assertions = { workspace = true } pretty_assertions = { workspace = true }
+6 -6
View File
@@ -28,14 +28,14 @@ categories = ["web-programming", "development-tools", "data-structures"]
workspace = true workspace = true
[dependencies] [dependencies]
tokio = { workspace = true } tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
tonic = { workspace = true } tonic = { workspace = true, features = ["gzip", "deflate"] }
uuid = { workspace = true } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
chrono = { workspace = true } chrono = { workspace = true, features = ["serde"] }
metrics = { workspace = true } metrics = { workspace = true }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
rmp-serde = { workspace = true } rmp-serde = { workspace = true }
s3s = { workspace = true } s3s = { workspace = true, features = ["minio"] }
tracing = { workspace = true } tracing = { workspace = true }
[lib] [lib]
+5 -5
View File
@@ -13,15 +13,15 @@ categories = ["concurrency", "filesystem"]
[dependencies] [dependencies]
# Internal crates # Internal crates
rustfs-io-core = { workspace = true } rustfs-io-core = { workspace = true }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
# Async runtime # Async runtime
tokio = { workspace = true, features = ["sync"] } tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread"] }
# Logging # Logging
tracing = { workspace = true } tracing = { workspace = true }
[dev-dependencies] [dev-dependencies]
insta = { workspace = true } insta = { workspace = true, features = ["yaml", "json"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
tokio = { workspace = true, features = ["test-util", "macros", "rt-multi-thread"] } tokio = { workspace = true, features = ["test-util", "macros", "rt-multi-thread", "fs"] }
+3 -3
View File
@@ -25,9 +25,9 @@ keywords = ["configuration", "settings", "management", "rustfs", "Minio"]
categories = ["web-programming", "development-tools", "config"] categories = ["web-programming", "development-tools", "config"]
[dependencies] [dependencies]
const-str = { workspace = true, optional = true } const-str = { workspace = true, optional = true, features = ["std", "proc"] }
serde = { workspace = true, optional = true } serde = { workspace = true, optional = true, features = ["derive"] }
serde_json = { workspace = true, optional = true } serde_json = { workspace = true, optional = true, features = ["raw_value"] }
[lints] [lints]
workspace = true workspace = true
+4 -4
View File
@@ -27,11 +27,11 @@ categories = ["web-programming", "development-tools", "data-structures", "securi
[dependencies] [dependencies]
base64-simd = { workspace = true } base64-simd = { workspace = true }
hmac = { workspace = true } hmac = { workspace = true }
rand = { workspace = true } rand = { workspace = true, features = ["serde"] }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
sha2 = { workspace = true } sha2 = { workspace = true }
time = { workspace = true, features = ["serde", "parsing", "formatting", "macros"] } time = { workspace = true, features = ["serde", "parsing", "formatting", "macros", "std"] }
[lints] [lints]
workspace = true workspace = true
+5 -5
View File
@@ -29,23 +29,23 @@ documentation = "https://docs.rs/rustfs-crypto/latest/rustfs_crypto/"
workspace = true workspace = true
[dependencies] [dependencies]
aes-gcm = { workspace = true, optional = true } aes-gcm = { workspace = true, optional = true, features = ["rand_core"] }
argon2 = { workspace = true, optional = true } argon2 = { workspace = true, optional = true }
chacha20poly1305 = { workspace = true, optional = true } chacha20poly1305 = { workspace = true, optional = true }
jsonwebtoken = { workspace = true } jsonwebtoken = { workspace = true, features = ["aws_lc_rs"] }
base64-simd = { workspace = true } base64-simd = { workspace = true }
pbkdf2 = { workspace = true, optional = true } pbkdf2 = { workspace = true, optional = true }
rand = { workspace = true } rand = { workspace = true, features = ["serde"] }
rsa = { workspace = true, features = ["sha2"] } rsa = { workspace = true, features = ["sha2"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
sha2 = { workspace = true, optional = true } sha2 = { workspace = true, optional = true }
thiserror.workspace = true thiserror.workspace = true
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
[dev-dependencies] [dev-dependencies]
test-case.workspace = true test-case.workspace = true
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
[features] [features]
default = ["crypto", "fips"] default = ["crypto", "fips"]
+1 -1
View File
@@ -28,7 +28,7 @@ categories = ["data-structures", "filesystem"]
workspace = true workspace = true
[dependencies] [dependencies]
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
path-clean = { workspace = true } path-clean = { workspace = true }
rmp-serde = { workspace = true } rmp-serde = { workspace = true }
async-trait = { workspace = true } async-trait = { workspace = true }
+20 -20
View File
@@ -38,47 +38,47 @@ futures.workspace = true
rustfs-lock.workspace = true rustfs-lock.workspace = true
rustfs-protos.workspace = true rustfs-protos.workspace = true
rmp-serde.workspace = true rmp-serde.workspace = true
serde.workspace = true serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
tonic = { workspace = true } tonic = { workspace = true, features = ["gzip", "deflate"] }
tokio = { workspace = true } tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
tokio-stream = { workspace = true } tokio-stream = { workspace = true }
rustfs-madmin.workspace = true rustfs-madmin.workspace = true
rustfs-filemeta.workspace = true rustfs-filemeta.workspace = true
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
serial_test = { workspace = true } serial_test = { workspace = true }
aws-sdk-s3.workspace = true 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 aws-smithy-http-client = { workspace = true, default-features = false, features = ["default-client", "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
http.workspace = true http.workspace = true
http-body-util.workspace = true http-body-util.workspace = true
hyper.workspace = true hyper = { workspace = true, features = ["http2", "http1", "server"] }
hyper-util.workspace = true hyper-util = { workspace = true, features = ["tokio", "server-auto", "server-graceful", "tracing"] }
reqwest = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
rustfs-signer.workspace = true rustfs-signer.workspace = true
tracing = { workspace = true } tracing = { workspace = true }
tracing-subscriber = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
uuid = { workspace = true } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
urlencoding.workspace = true urlencoding.workspace = true
walkdir.workspace = true walkdir.workspace = true
base64 = { workspace = true } base64 = { workspace = true }
rand = { workspace = true } rand = { workspace = true, features = ["serde"] }
chrono = { workspace = true } chrono = { workspace = true, features = ["serde"] }
md5 = { workspace = true } md5 = { workspace = true }
sha2 = { workspace = true } sha2 = { workspace = true }
astral-tokio-tar = { workspace = true } astral-tokio-tar = { workspace = true }
s3s = { workspace = true } s3s = { workspace = true, features = ["minio"] }
zstd.workspace = true zstd.workspace = true
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
suppaftp = { workspace = true, features = ["tokio", "rustls-aws-lc-rs"] } suppaftp = { workspace = true, features = ["tokio", "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
rustls.workspace = true rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
russh = { workspace = true } russh = { workspace = true, features = ["serde"] }
russh-sftp = { workspace = true } russh-sftp = { workspace = true }
zip.workspace = true zip.workspace = true
clap.workspace = true clap = { workspace = true, features = ["derive", "env"] }
+30 -30
View File
@@ -62,9 +62,9 @@ rustfs-s3-types = { workspace = true }
rustfs-data-usage.workspace = true rustfs-data-usage.workspace = true
rustfs-object-capacity.workspace = true rustfs-object-capacity.workspace = true
async-trait.workspace = true async-trait.workspace = true
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
byteorder = { workspace = true } byteorder = { workspace = true }
chrono.workspace = true chrono = { workspace = true, features = ["serde"] }
glob = { workspace = true } glob = { workspace = true }
thiserror.workspace = true thiserror.workspace = true
flatbuffers.workspace = true flatbuffers.workspace = true
@@ -72,22 +72,22 @@ futures.workspace = true
futures-util.workspace = true futures-util.workspace = true
tracing.workspace = true tracing.workspace = true
tracing-opentelemetry.workspace = true tracing-opentelemetry.workspace = true
serde.workspace = true serde = { workspace = true, features = ["derive"] }
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
bytesize.workspace = true bytesize.workspace = true
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
quick-xml = { workspace = true, features = ["serialize", "async-tokio"] } quick-xml = { workspace = true, features = ["serialize", "async-tokio"] }
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
http.workspace = true http.workspace = true
opentelemetry.workspace = true opentelemetry.workspace = true
http-body = { workspace = true } http-body = { workspace = true }
http-body-util.workspace = true http-body-util.workspace = true
url.workspace = true url.workspace = true
uuid = { workspace = true, features = ["v4", "fast-rng", "serde"] } uuid = { workspace = true, features = ["v4", "fast-rng", "serde", "macro-diagnostics"] }
reed-solomon-erasure = { workspace = true } reed-solomon-erasure = { workspace = true, features = ["simd-accel"] }
reed-solomon-simd = { workspace = true } reed-solomon-simd = { workspace = true }
lazy_static.workspace = true lazy_static.workspace = true
moka = { workspace = true } moka = { workspace = true, features = ["future"] }
rustfs-lock.workspace = true rustfs-lock.workspace = true
rustfs-io-metrics.workspace = true rustfs-io-metrics.workspace = true
regex = { workspace = true } regex = { workspace = true }
@@ -101,38 +101,38 @@ sha1 = { workspace = true }
sha2 = { workspace = true } sha2 = { workspace = true }
hex-simd = { workspace = true } hex-simd = { workspace = true }
tempfile.workspace = true tempfile.workspace = true
hyper.workspace = true hyper = { workspace = true, features = ["http2", "http1", "server"] }
hyper-util.workspace = true hyper-util = { workspace = true, features = ["tokio", "server-auto", "server-graceful", "tracing"] }
hyper-rustls.workspace = true hyper-rustls = { workspace = true, default-features = false, features = ["native-tokio", "http1", "tls12", "logging", "http2", "aws-lc-rs", "webpki-roots"] }
rustls.workspace = true rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
rustls-pki-types.workspace = true rustls-pki-types.workspace = true
tokio = { workspace = true, features = ["io-util", "sync", "signal"] } tokio = { workspace = true, features = ["io-util", "sync", "signal", "fs", "rt-multi-thread"] }
tonic.workspace = true tonic = { workspace = true, features = ["gzip", "deflate"] }
xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] } xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] }
tower.workspace = true tower = { workspace = true, features = ["timeout"] }
async-channel.workspace = true async-channel.workspace = true
enumset = { workspace = true } enumset = { workspace = true }
num_cpus = { workspace = true } num_cpus = { workspace = true }
rand.workspace = true rand = { workspace = true, features = ["serde"] }
pin-project-lite.workspace = true pin-project-lite.workspace = true
md-5.workspace = true md-5.workspace = true
memmap2 = { workspace = true } memmap2 = { workspace = true }
libc.workspace = true libc.workspace = true
# "process" adds getrlimit for the io_uring fd-cache RLIMIT_NOFILE gate # "process" adds getrlimit for the io_uring fd-cache RLIMIT_NOFILE gate
# (backlog#1178); "fs" comes from the workspace default. # (backlog#1178); "fs" comes from the workspace default.
rustix = { workspace = true, features = ["process"] } rustix = { workspace = true, features = ["process", "fs"] }
rustfs-madmin.workspace = true rustfs-madmin.workspace = true
reqwest = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
aes-gcm.workspace = true aes-gcm = { workspace = true, features = ["rand_core"] }
chacha20poly1305.workspace = true chacha20poly1305.workspace = true
aws-sdk-s3 = { workspace = true } aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] }
urlencoding = { workspace = true } urlencoding = { workspace = true }
smallvec = { workspace = true } smallvec = { workspace = true, features = ["serde"] }
shadow-rs.workspace = true shadow-rs = { workspace = true, default-features = false }
async-recursion.workspace = true async-recursion.workspace = true
aws-credential-types = { workspace = true } aws-credential-types = { workspace = true }
aws-smithy-types = { workspace = true } aws-smithy-types = { workspace = true }
aws-smithy-runtime-api = { workspace = true } aws-smithy-runtime-api = { workspace = true, features = ["http-1x"] }
parking_lot = { workspace = true } parking_lot = { workspace = true }
base64-simd.workspace = true base64-simd.workspace = true
serde_urlencoded.workspace = true serde_urlencoded.workspace = true
@@ -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 aws-smithy-http-client = { workspace = true, default-features = false, features = ["default-client", "rustls-aws-lc"] }
# Observability and Metrics # Observability and Metrics
metrics = { workspace = true } metrics = { workspace = true }
@@ -153,19 +153,19 @@ metrics = { workspace = true }
rustfs-uring = "0.2.1" rustfs-uring = "0.2.1"
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "test-util"] } tokio = { workspace = true, features = ["rt-multi-thread", "macros", "test-util", "fs"] }
criterion = { workspace = true, features = ["html_reports"] } criterion = { workspace = true, features = ["html_reports"] }
temp-env = { workspace = true, features = ["async_closure"] } temp-env = { workspace = true, features = ["async_closure"] }
tracing-subscriber = { workspace = true, features = ["json"] } tracing-subscriber = { workspace = true, features = ["json", "env-filter", "time"] }
serial_test = { workspace = true } serial_test = { workspace = true }
opentelemetry_sdk = { workspace = true } opentelemetry_sdk = { workspace = true, features = ["rt-tokio"] }
proptest = "1" proptest = "1"
rcgen.workspace = true rcgen.workspace = true
insta = { workspace = true } insta = { workspace = true, features = ["yaml", "json"] }
rustfs-crypto = { workspace = true } rustfs-crypto = { workspace = true }
[build-dependencies] [build-dependencies]
shadow-rs = { workspace = true, features = ["build", "metadata"] } shadow-rs = { workspace = true, default-features = false, features = ["build", "metadata"] }
[[bench]] [[bench]]
name = "erasure_benchmark" name = "erasure_benchmark"
+2 -2
View File
@@ -28,11 +28,11 @@ categories = ["web-programming", "development-tools"]
doctest = false doctest = false
[dependencies] [dependencies]
serde.workspace = true serde = { workspace = true, features = ["derive"] }
thiserror.workspace = true thiserror.workspace = true
[dev-dependencies] [dev-dependencies]
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
[lints] [lints]
workspace = true workspace = true
+8 -8
View File
@@ -34,22 +34,22 @@ hotpath = { workspace = true, optional = true }
crc-fast = { workspace = true } crc-fast = { workspace = true }
rmp.workspace = true rmp.workspace = true
rmp-serde.workspace = true rmp-serde.workspace = true
serde.workspace = true serde = { workspace = true, features = ["derive"] }
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
uuid = { workspace = true, features = ["v4", "fast-rng", "serde"] } uuid = { workspace = true, features = ["v4", "fast-rng", "serde", "macro-diagnostics"] }
tokio = { workspace = true, features = ["io-util", "macros", "sync"] } tokio = { workspace = true, features = ["io-util", "macros", "sync", "fs", "rt-multi-thread"] }
xxhash-rust = { workspace = true, features = ["xxh64"] } xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] }
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
rustfs-utils = { workspace = true, features = ["hash", "http"] } rustfs-utils = { workspace = true, features = ["hash", "http"] }
byteorder = { workspace = true } byteorder = { workspace = true }
tracing.workspace = true tracing.workspace = true
thiserror.workspace = true thiserror.workspace = true
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
regex.workspace = true regex.workspace = true
arc-swap.workspace = true arc-swap.workspace = true
[dev-dependencies] [dev-dependencies]
criterion = { workspace = true } criterion = { workspace = true, features = ["html_reports"] }
tempfile = { workspace = true } tempfile = { workspace = true }
proptest = "1" proptest = "1"
+6 -6
View File
@@ -34,27 +34,27 @@ rustfs-storage-api = { workspace = true }
rustfs-common = { workspace = true } rustfs-common = { workspace = true }
rustfs-madmin = { workspace = true } rustfs-madmin = { workspace = true }
rustfs-utils = { workspace = true } rustfs-utils = { workspace = true }
tokio = { workspace = true, features = ["sync","io-util","time","macros"] } tokio = { workspace = true, features = ["sync", "io-util", "time", "macros", "fs", "rt-multi-thread"] }
tokio-util = { workspace = true } tokio-util = { workspace = true, features = ["io", "compat"] }
tracing = { workspace = true } tracing = { workspace = true }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true } thiserror = { workspace = true }
uuid = { workspace = true, features = ["v4", "serde"] } uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] }
async-trait = { workspace = true } async-trait = { workspace = true }
futures = { workspace = true } futures = { workspace = true }
metrics = { workspace = true } metrics = { workspace = true }
base64 = { workspace = true } base64 = { workspace = true }
[dev-dependencies] [dev-dependencies]
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
rustfs-test-utils = { workspace = true } rustfs-test-utils = { workspace = true }
serial_test = { workspace = true } serial_test = { workspace = true }
tempfile = { workspace = true } tempfile = { workspace = true }
walkdir = { workspace = true } walkdir = { workspace = true }
http = { workspace = true } http = { workspace = true }
temp-env = { workspace = true } temp-env = { workspace = true }
tokio = { workspace = true, features = ["test-util","fs"] } tokio = { workspace = true, features = ["test-util", "fs", "rt-multi-thread"] }
[lib] [lib]
doctest = false doctest = false
+8 -8
View File
@@ -31,29 +31,29 @@ 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 = ["constants", "server-config-model"] }
tokio.workspace = true tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
time = { workspace = true, features = ["serde-human-readable"] } time = { workspace = true, features = ["serde-human-readable", "std", "parsing", "formatting", "macros", "serde"] }
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 }
rustfs-policy.workspace = true rustfs-policy.workspace = true
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
async-trait.workspace = true async-trait.workspace = true
thiserror.workspace = true thiserror.workspace = true
arc-swap = { workspace = true } arc-swap = { workspace = true }
rustfs-crypto = { workspace = true } rustfs-crypto = { workspace = true }
futures.workspace = true futures.workspace = true
base64-simd = { workspace = true } base64-simd = { workspace = true }
jsonwebtoken = { workspace = true } jsonwebtoken = { workspace = true, features = ["aws_lc_rs"] }
tracing.workspace = true tracing.workspace = true
rustfs-madmin.workspace = true rustfs-madmin.workspace = true
rustfs-utils = { workspace = true, features = ["path"] } rustfs-utils = { workspace = true, features = ["path"] }
rustfs-io-metrics.workspace = true rustfs-io-metrics.workspace = true
tokio-util.workspace = true tokio-util = { workspace = true, features = ["io", "compat"] }
pollster.workspace = true pollster.workspace = true
reqwest = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
moka = { workspace = true } moka = { workspace = true, features = ["future"] }
openidconnect = { workspace = true } openidconnect = { workspace = true, default-features = false, features = ["accept-rfc3339-timestamps"] }
http = { workspace = true } http = { workspace = true }
url = { workspace = true } url = { workspace = true }
+3 -3
View File
@@ -28,15 +28,15 @@ categories = ["development-tools", "filesystem"]
workspace = true workspace = true
[dependencies] [dependencies]
bytes = { workspace = true } bytes = { workspace = true, features = ["serde"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tokio = { workspace = true, features = ["io-util", "fs", "rt", "sync"] } tokio = { workspace = true, features = ["io-util", "fs", "rt", "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 }
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] } tokio = { workspace = true, features = ["rt-multi-thread", "macros", "fs"] }
[lib] [lib]
doctest = false doctest = false
+3 -3
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"] } tokio = { workspace = true, features = ["sync", "rt", "fs", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
sysinfo = { workspace = true } sysinfo = { workspace = true }
[dev-dependencies] [dev-dependencies]
criterion = { workspace = true } 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"] } tokio = { workspace = true, features = ["test-util", "rt", "macros", "fs", "rt-multi-thread"] }
[lints] [lints]
workspace = true workspace = true
+13 -13
View File
@@ -26,32 +26,32 @@ categories = ["authentication", "web-programming"]
authors.workspace = true authors.workspace = true
[dependencies] [dependencies]
tokio = { workspace = true, features = ["full"] } tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] }
reqwest = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tracing = { workspace = true } tracing = { workspace = true }
time = { workspace = true } time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
moka = { workspace = true } moka = { workspace = true, features = ["future"] }
rustfs-credentials = { workspace = true } rustfs-credentials = { workspace = true }
rustfs-policy = { workspace = true } rustfs-policy = { workspace = true }
rustfs-utils = { workspace = true, features = ["egress"] } rustfs-utils = { workspace = true, features = ["egress"] }
url = { workspace = true } url = { workspace = true }
# Middleware dependencies # Middleware dependencies
tower = { workspace = true } tower = { workspace = true, features = ["timeout"] }
http = { workspace = true } http = { workspace = true }
hyper = { workspace = true, features = ["server"] } hyper = { workspace = true, features = ["server", "http2", "http1"] }
http-body = { workspace = true } http-body = { workspace = true }
http-body-util = { workspace = true } http-body-util = { workspace = true }
bytes = { workspace = true } bytes = { workspace = true, features = ["serde"] }
futures = { workspace = true } futures = { workspace = true }
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["test-util"] } tokio = { workspace = true, features = ["test-util", "fs", "rt-multi-thread"] }
tower = { workspace = true, features = ["util"] } tower = { workspace = true, features = ["util", "timeout"] }
hyper = { workspace = true, features = ["server"] } hyper = { workspace = true, features = ["server", "http2", "http1"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
temp-env = { workspace = true } temp-env = { workspace = true }
[[test]] [[test]]
+8 -8
View File
@@ -30,19 +30,19 @@ workspace = true
[dependencies] [dependencies]
# Core dependencies # Core dependencies
async-trait = { workspace = true } async-trait = { workspace = true }
tokio = { workspace = true, features = ["full"] } tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] }
uuid = { workspace = true, features = ["serde"] } uuid = { workspace = true, features = ["serde", "v4", "fast-rng", "macro-diagnostics"] }
jiff = { workspace = true } jiff = { workspace = true, features = ["serde"] }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
tracing = { workspace = true } tracing = { workspace = true }
thiserror = { workspace = true } thiserror = { workspace = true }
# Cryptography # Cryptography
aes-gcm = { workspace = true } aes-gcm = { workspace = true, features = ["rand_core"] }
argon2 = { workspace = true } argon2 = { workspace = true }
chacha20poly1305 = { workspace = true } chacha20poly1305 = { workspace = true }
rand = { workspace = true } rand = { workspace = true, features = ["serde"] }
base64 = { workspace = true } base64 = { workspace = true }
zeroize = { workspace = true, features = ["derive"] } zeroize = { workspace = true, features = ["derive"] }
@@ -60,11 +60,11 @@ 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 } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
vaultrs = { workspace = true } vaultrs = { workspace = true }
[dev-dependencies] [dev-dependencies]
insta = { workspace = true } insta = { workspace = true, features = ["yaml", "json"] }
tempfile = { workspace = true } tempfile = { workspace = true }
temp-env = { workspace = true } temp-env = { workspace = true }
+4 -4
View File
@@ -31,17 +31,17 @@ rustfs-common.workspace = true
rustfs-config = { workspace = true, features = ["constants"] } 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 s3s = { workspace = true, features = ["minio"] }
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
tracing.workspace = true tracing.workspace = true
url.workspace = true url.workspace = true
uuid = { workspace = true, features = ["v4", "serde"] } uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] }
[dev-dependencies] [dev-dependencies]
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"] } tokio = { workspace = true, features = ["macros", "rt", "fs", "rt-multi-thread"] }
[lints] [lints]
workspace = true workspace = true
+6 -6
View File
@@ -33,15 +33,15 @@ rustfs-io-metrics = { workspace = true }
rustfs-utils = { workspace = true } rustfs-utils = { workspace = true }
async-trait.workspace = true async-trait.workspace = true
futures.workspace = true futures.workspace = true
serde.workspace = true serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
tokio.workspace = true tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
tonic.workspace = true tonic = { workspace = true, features = ["gzip", "deflate"] }
tracing.workspace = true tracing.workspace = true
uuid.workspace = true uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
thiserror.workspace = true thiserror.workspace = true
parking_lot.workspace = true parking_lot.workspace = true
smallvec.workspace = true smallvec = { workspace = true, features = ["serde"] }
smartstring.workspace = true smartstring.workspace = true
crossbeam-queue = { workspace = true } crossbeam-queue = { workspace = true }
+5 -5
View File
@@ -29,13 +29,13 @@ documentation = "https://docs.rs/rustfs-madmin/latest/rustfs_madmin/"
workspace = true workspace = true
[dependencies] [dependencies]
chrono.workspace = true chrono = { workspace = true, features = ["serde"] }
humantime.workspace = true humantime.workspace = true
hyper.workspace = true hyper = { workspace = true, features = ["http2", "http1", "server"] }
serde.workspace = true serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
sysinfo.workspace = true sysinfo.workspace = true
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
[lib] [lib]
doctest = false doctest = false
+8 -8
View File
@@ -36,14 +36,14 @@ arc-swap = { workspace = true }
async-trait = { workspace = true } async-trait = { workspace = true }
chrono = { workspace = true, features = ["serde"] } chrono = { workspace = true, features = ["serde"] }
form_urlencoded = { workspace = true } form_urlencoded = { workspace = true }
hashbrown = { workspace = true } hashbrown = { workspace = true, features = ["serde", "rayon"] }
percent-encoding = { workspace = true } percent-encoding = { workspace = true }
rayon = { workspace = true } rayon = { workspace = true }
rustc-hash = { workspace = true } rustc-hash = { workspace = true }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
starshard = { workspace = true } starshard = { workspace = true, features = ["rayon", "async", "serde"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread", "sync", "time"] } tokio = { workspace = true, features = ["rt-multi-thread", "sync", "time", "fs"] }
tracing = { workspace = true } tracing = { workspace = true }
url = { workspace = true } url = { workspace = true }
metrics = { workspace = true } metrics = { workspace = true }
@@ -56,12 +56,12 @@ metrics = { workspace = true }
quick-xml = { workspace = true, features = ["serialize", "serde-types", "encoding"] } quick-xml = { workspace = true, features = ["serialize", "serde-types", "encoding"] }
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["test-util"] } tokio = { workspace = true, features = ["test-util", "fs", "rt-multi-thread"] }
tracing-subscriber = { workspace = true, features = ["env-filter"] } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
axum = { workspace = true } axum = { workspace = true }
rustfs-utils = { workspace = true, features = ["path"] } rustfs-utils = { workspace = true, features = ["path"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
criterion = { workspace = true } criterion = { workspace = true, features = ["html_reports"] }
[lints] [lints]
workspace = true workspace = true
+4 -4
View File
@@ -39,14 +39,14 @@ rustfs-config = { workspace = true, features = ["constants"] }
rustfs-io-metrics = { workspace = true } rustfs-io-metrics = { workspace = true }
rustfs-utils = { workspace = true, features = ["os"] } rustfs-utils = { workspace = true, features = ["os"] }
futures = { workspace = true } futures = { workspace = true }
tokio = { workspace = true, features = ["sync", "time"] } tokio = { workspace = true, features = ["sync", "time", "fs", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
uuid = { workspace = true } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
walkdir = { workspace = true } walkdir = { workspace = true }
[dev-dependencies] [dev-dependencies]
criterion = { workspace = true } 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"] } tokio = { workspace = true, features = ["test-util", "macros", "rt", "fs", "rt-multi-thread"] }
+5 -5
View File
@@ -28,22 +28,22 @@ categories = ["web-programming", "development-tools"]
doctest = false doctest = false
[dependencies] [dependencies]
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
metrics = { workspace = true } metrics = { workspace = true }
moka = { workspace = true, features = ["future"] } moka = { workspace = true, features = ["future"] }
starshard.workspace = true 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"] } tokio = { workspace = true, features = ["sync", "rt", "time", "fs", "rt-multi-thread"] }
tracing.workspace = true tracing.workspace = true
[dev-dependencies] [dev-dependencies]
criterion = { workspace = true } criterion = { workspace = true, features = ["html_reports"] }
metrics-util = { version = "0.20", features = ["debugging"] } 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"] } tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread", "time", "fs"] }
[[bench]] [[bench]]
name = "cache_bench" name = "cache_bench"
+11 -11
View File
@@ -75,10 +75,10 @@ rustfs-security-governance = { workspace = true }
rustfs-storage-api = { workspace = true } rustfs-storage-api = { workspace = true }
rustfs-utils = { workspace = true, features = ["ip"] } rustfs-utils = { workspace = true, features = ["ip"] }
rustix = { workspace = true, features = ["fs", "stdio"] } rustix = { workspace = true, features = ["fs", "stdio"] }
chrono = { workspace = true } chrono = { workspace = true, features = ["serde"] }
flate2 = { workspace = true } flate2 = { workspace = true }
glob = { workspace = true } glob = { workspace = true }
jiff = { workspace = true } jiff = { workspace = true, features = ["serde"] }
metrics = { workspace = true } metrics = { workspace = true }
crossbeam-channel = { workspace = true } crossbeam-channel = { workspace = true }
crossbeam-deque = { workspace = true } crossbeam-deque = { workspace = true }
@@ -86,21 +86,21 @@ crossbeam-utils = { workspace = true }
futures-util = { workspace = true } futures-util = { workspace = true }
num_cpus = { workspace = true } num_cpus = { workspace = true }
opentelemetry = { workspace = true } opentelemetry = { workspace = true }
opentelemetry-appender-tracing = { workspace = true } opentelemetry-appender-tracing = { workspace = true, features = ["experimental_span_attributes", "experimental_metadata_attributes"] }
opentelemetry_sdk = { workspace = true } opentelemetry_sdk = { workspace = true, features = ["rt-tokio"] }
opentelemetry-stdout = { workspace = true } opentelemetry-stdout = { workspace = true }
opentelemetry-otlp = { workspace = true } opentelemetry-otlp = { workspace = true, features = ["gzip-http", "reqwest-rustls"] }
opentelemetry-semantic-conventions = { workspace = true } opentelemetry-semantic-conventions = { workspace = true, features = ["semconv_experimental"] }
percent-encoding = { workspace = true } percent-encoding = { workspace = true }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
tracing = { workspace = true, features = ["std", "attributes"] } 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 = ["registry", "std", "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", "fs", "rt-multi-thread", "rt", "time", "macros"] }
tokio-util = { workspace = true } 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 }
zstd = { workspace = true, features = ["zstdmt"] } zstd = { workspace = true, features = ["zstdmt"] }
@@ -108,13 +108,13 @@ sysinfo = { workspace = true }
nvml-wrapper = { workspace = true, optional = true } nvml-wrapper = { workspace = true, optional = true }
[target.'cfg(any(target_os = "macos", all(target_os = "linux", target_env = "gnu", target_arch = "x86_64")))'.dependencies] [target.'cfg(any(target_os = "macos", all(target_os = "linux", target_env = "gnu", target_arch = "x86_64")))'.dependencies]
pyroscope = { workspace = true, features = ["backend-pprof-rs"], optional = true } pyroscope = { workspace = true, optional = true, features = ["backend-pprof-rs"] }
[target.'cfg(unix)'.dependencies] [target.'cfg(unix)'.dependencies]
libc = { workspace = true } libc = { workspace = true }
[dev-dependencies] [dev-dependencies]
tokio = { workspace = true, features = ["full"] } tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] }
tempfile = { workspace = true } tempfile = { workspace = true }
temp-env = { workspace = true } temp-env = { workspace = true }
+7 -7
View File
@@ -31,21 +31,21 @@ workspace = true
[dependencies] [dependencies]
rustfs-credentials = { workspace = true } rustfs-credentials = { workspace = true }
rustfs-config = { workspace = true, features = ["constants", "opa"] } rustfs-config = { workspace = true, features = ["constants", "opa"] }
tokio = { workspace = true, features = ["full"] } tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] }
time = { workspace = true, features = ["serde", "parsing", "formatting", "macros"] } time = { workspace = true, features = ["serde", "parsing", "formatting", "macros", "std"] }
serde = { workspace = true, features = ["derive", "rc"] } serde = { workspace = true, features = ["derive", "rc"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
thiserror.workspace = true thiserror.workspace = true
strum = { workspace = true, features = ["derive"] } strum = { workspace = true, features = ["derive"] }
rustfs-crypto = { workspace = true } rustfs-crypto = { workspace = true }
ipnetwork = { workspace = true, features = ["serde"] } ipnetwork = { workspace = true, features = ["serde"] }
base64-simd = { workspace = true } base64-simd = { workspace = true }
jsonwebtoken = { workspace = true } jsonwebtoken = { workspace = true, features = ["aws_lc_rs"] }
regex = { workspace = true } regex = { workspace = true }
reqwest.workspace = true reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
chrono.workspace = true chrono = { workspace = true, features = ["serde"] }
tracing.workspace = true tracing.workspace = true
moka.workspace = true moka = { workspace = true, features = ["future"] }
async-trait.workspace = true async-trait.workspace = true
futures.workspace = true futures.workspace = true
pollster.workspace = true pollster.workspace = true
+18 -18
View File
@@ -67,7 +67,7 @@ rustfs-storage-api = { workspace = true }
rustfs-tls-runtime = { workspace = true, optional = true } rustfs-tls-runtime = { workspace = true, optional = true }
# Async dependencies # Async dependencies
tokio = { workspace = true, features = ["fs", "io-util", "sync", "time"] } tokio = { workspace = true, features = ["fs", "io-util", "sync", "time", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
futures-util = { workspace = true } futures-util = { workspace = true }
@@ -75,20 +75,20 @@ futures-util = { workspace = true }
thiserror = { workspace = true } thiserror = { workspace = true }
# Serialization # Serialization
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
# Utilities # Utilities
async-trait = { workspace = true } async-trait = { workspace = true }
time = { workspace = true } time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
bytes = { workspace = true } bytes = { workspace = true, features = ["serde"] }
# S3 API dependencies # S3 API dependencies
s3s = { workspace = true } s3s = { workspace = true, features = ["minio"] }
# FTPS specific dependencies (optional) # FTPS specific dependencies (optional)
libunftp = { workspace = true, optional = true } libunftp = { workspace = true, optional = true, features = ["experimental"] }
unftp-core = { workspace = true, optional = true } unftp-core = { workspace = true, optional = true }
rustls = { workspace = true, optional = true } rustls = { workspace = true, default-features = false, optional = true, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
# Swift specific dependencies (optional) # Swift specific dependencies (optional)
rustfs-keystone = { workspace = true, optional = true } rustfs-keystone = { workspace = true, optional = true }
@@ -96,15 +96,15 @@ rustfs-ecstore = { workspace = true, optional = true }
rustfs-rio = { workspace = true, optional = true } rustfs-rio = { workspace = true, optional = true }
axum = { workspace = true, optional = true } axum = { workspace = true, optional = true }
http = { workspace = true, optional = true } http = { workspace = true, optional = true }
tower = { workspace = true, optional = true } tower = { workspace = true, optional = true, features = ["timeout"] }
regex = { workspace = true, optional = true } regex = { workspace = true, optional = true }
percent-encoding = { workspace = true, optional = true } percent-encoding = { workspace = true, optional = true }
sha2 = { workspace = true, optional = true } sha2 = { workspace = true, optional = true }
uuid = { workspace = true, optional = true } uuid = { workspace = true, optional = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
futures = { workspace = true, optional = true } futures = { workspace = true, optional = true }
http-body-util = { workspace = true, optional = true } http-body-util = { workspace = true, optional = true }
tokio-util = { workspace = true, optional = true, features = ["rt"] } tokio-util = { workspace = true, optional = true, features = ["rt", "io", "compat"] }
serde = { workspace = true, optional = true } serde = { workspace = true, optional = true, features = ["derive"] }
urlencoding = { workspace = true, optional = true } urlencoding = { workspace = true, optional = true }
md5 = { workspace = true, optional = true } md5 = { workspace = true, optional = true }
quick-xml = { workspace = true, optional = true, features = ["serialize"] } quick-xml = { workspace = true, optional = true, features = ["serialize"] }
@@ -117,21 +117,21 @@ async-compression = { workspace = true, optional = true, features = ["tokio", "g
# WebDAV specific dependencies (optional) # WebDAV specific dependencies (optional)
dav-server = { workspace = true, optional = true } dav-server = { workspace = true, optional = true }
hyper = { workspace = true, optional = true } hyper = { workspace = true, optional = true, features = ["http2", "http1", "server"] }
hyper-util = { workspace = true, optional = true } hyper-util = { workspace = true, optional = true, features = ["tokio", "server-auto", "server-graceful", "tracing"] }
tokio-rustls = { workspace = true, optional = true } tokio-rustls = { workspace = true, default-features = false, optional = true, features = ["logging", "tls12", "aws-lc-rs"] }
# SFTP specific dependencies (optional) # SFTP specific dependencies (optional)
russh = { workspace = true, optional = true } russh = { workspace = true, optional = true, features = ["serde"] }
russh-sftp = { workspace = true, optional = true } russh-sftp = { workspace = true, optional = true }
subtle = { workspace = true, optional = true } subtle = { workspace = true, optional = true }
socket2 = { workspace = true, optional = true } socket2 = { workspace = true, optional = true, features = ["all"] }
[dev-dependencies] [dev-dependencies]
tempfile = { workspace = true } tempfile = { workspace = true }
proptest = "1" proptest = "1"
tracing-subscriber = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
tokio = { workspace = true, features = ["test-util", "macros", "rt"] } tokio = { workspace = true, features = ["test-util", "macros", "rt", "fs", "rt-multi-thread"] }
[package.metadata.docs.rs] [package.metadata.docs.rs]
all-features = true all-features = true
+2 -2
View File
@@ -40,10 +40,10 @@ rustfs-tls-runtime.workspace = true
rustfs-utils.workspace = true rustfs-utils.workspace = true
flatbuffers = { workspace = true } flatbuffers = { workspace = true }
prost = { workspace = true } prost = { workspace = true }
tonic = { workspace = true, features = ["transport", "tls-native-roots", "tls-aws-lc"] } tonic = { workspace = true, features = ["transport", "tls-native-roots", "tls-aws-lc", "gzip", "deflate"] }
tonic-prost = { workspace = true } tonic-prost = { workspace = true }
tonic-prost-build = { workspace = true } tonic-prost-build = { workspace = true }
tokio = { workspace = true, features = ["sync"] } tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
[lib] [lib]
+6 -6
View File
@@ -26,17 +26,17 @@ categories = ["web-programming", "development-tools", "filesystem"]
documentation = "https://docs.rs/rustfs-replication/latest/rustfs_replication/" documentation = "https://docs.rs/rustfs-replication/latest/rustfs_replication/"
[dependencies] [dependencies]
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
byteorder.workspace = true byteorder.workspace = true
regex.workspace = true regex.workspace = true
rmp.workspace = true rmp.workspace = true
rmp-serde.workspace = true rmp-serde.workspace = true
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
serde.workspace = true serde = { workspace = true, features = ["derive"] }
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
tokio = { workspace = true, features = ["sync"] } tokio = { workspace = true, features = ["sync", "fs", "rt-multi-thread"] }
url.workspace = true url.workspace = true
uuid = { workspace = true, features = ["v4", "serde"] } uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] }
[lints] [lints]
workspace = true workspace = true
+6 -6
View File
@@ -29,20 +29,20 @@ documentation = "https://docs.rs/rustfs-rio-v2/latest/rustfs_rio_v2/"
workspace = true workspace = true
[dependencies] [dependencies]
aes-gcm.workspace = true aes-gcm = { workspace = true, features = ["rand_core"] }
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
chacha20poly1305.workspace = true chacha20poly1305.workspace = true
hex.workspace = true hex.workspace = true
hmac.workspace = true hmac.workspace = true
minlz.workspace = true minlz.workspace = true
pin-project-lite.workspace = true pin-project-lite.workspace = true
rand.workspace = true rand = { workspace = true, features = ["serde"] }
rustfs-rio.workspace = true rustfs-rio.workspace = true
rustfs-utils.workspace = true rustfs-utils.workspace = true
serde.workspace = true serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
sha2.workspace = true sha2.workspace = true
tokio.workspace = true tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
[dev-dependencies] [dev-dependencies]
rustfs-filemeta.workspace = true rustfs-filemeta.workspace = true
+10 -10
View File
@@ -35,32 +35,32 @@ 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"] } tokio = { workspace = true, features = ["full", "fs", "rt-multi-thread"] }
rand = { workspace = true } rand = { workspace = true, features = ["serde"] }
http.workspace = true http.workspace = true
aes-gcm = { workspace = true } aes-gcm = { workspace = true, features = ["rand_core"] }
crc-fast = { workspace = true } crc-fast = { workspace = true }
pin-project-lite.workspace = true pin-project-lite.workspace = true
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
reqwest.workspace = true reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
rustls-pki-types.workspace = true rustls-pki-types.workspace = true
tokio-util.workspace = true tokio-util = { workspace = true, features = ["io", "compat"] }
faster-hex.workspace = true faster-hex.workspace = true
futures.workspace = true futures.workspace = true
rustfs-config = { workspace = true, features = ["constants"] } rustfs-config = { workspace = true, features = ["constants"] }
rustfs-io-metrics.workspace = true rustfs-io-metrics.workspace = true
rustfs-tls-runtime.workspace = true rustfs-tls-runtime.workspace = true
rustfs-utils = { workspace = true, features = ["io", "hash", "compress"] } rustfs-utils = { workspace = true, features = ["io", "hash", "compress"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
md-5 = { workspace = true } md-5 = { workspace = true }
tracing.workspace = true tracing.workspace = true
thiserror.workspace = true thiserror.workspace = true
base64.workspace = true base64.workspace = true
sha1.workspace = true sha1.workspace = true
sha2.workspace = true sha2.workspace = true
xxhash-rust = { workspace = true } xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] }
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
hex-simd.workspace = true hex-simd.workspace = true
[dev-dependencies] [dev-dependencies]
+2 -2
View File
@@ -28,8 +28,8 @@ categories = ["data-structures"]
workspace = true workspace = true
[dependencies] [dependencies]
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
[lib] [lib]
doctest = false doctest = false
+7 -7
View File
@@ -28,22 +28,22 @@ documentation = "https://docs.rs/rustfs-s3select-api/latest/rustfs_s3select_api/
[dependencies] [dependencies]
metrics = { workspace = true } metrics = { workspace = true }
async-trait.workspace = true async-trait.workspace = true
bytes.workspace = true bytes = { workspace = true, features = ["serde"] }
chrono.workspace = true chrono = { workspace = true, features = ["serde"] }
rustfs-common.workspace = true rustfs-common.workspace = true
datafusion = { workspace = true, features = ["parquet", "recursive_protection", "sql"] } datafusion = { workspace = true, default-features = false, features = ["parquet", "recursive_protection", "sql"] }
rustfs-ecstore.workspace = true rustfs-ecstore.workspace = true
rustfs-storage-api.workspace = true rustfs-storage-api.workspace = true
futures = { workspace = true } futures = { workspace = true }
futures-core = { workspace = true } futures-core = { workspace = true }
http.workspace = true http.workspace = true
pin-project-lite.workspace = true pin-project-lite.workspace = true
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
thiserror = { workspace = true } thiserror = { workspace = true }
parking_lot.workspace = true parking_lot.workspace = true
tokio.workspace = true tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
tokio-util.workspace = true tokio-util = { workspace = true, features = ["io", "compat"] }
tracing.workspace = true tracing.workspace = true
transform-stream.workspace = true transform-stream.workspace = true
url.workspace = true url.workspace = true
+3 -3
View File
@@ -29,12 +29,12 @@ documentation = "https://docs.rs/rustfs-s3select-query/latest/rustfs_s3select_qu
rustfs-s3select-api = { workspace = true } rustfs-s3select-api = { workspace = true }
async-recursion = { workspace = true } async-recursion = { workspace = true }
async-trait.workspace = true async-trait.workspace = true
datafusion = { workspace = true, features = ["parquet", "recursive_protection", "sql"] } datafusion = { workspace = true, default-features = false, features = ["parquet", "recursive_protection", "sql"] }
derive_builder = { workspace = true } derive_builder = { workspace = true }
futures = { workspace = true } futures = { workspace = true }
parking_lot = { workspace = true } parking_lot = { workspace = true }
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
tokio = { workspace = true } tokio = { workspace = true, features = ["fs", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
[lib] [lib]
+10 -10
View File
@@ -33,32 +33,32 @@ 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"] } tokio = { workspace = true, features = ["fs", "sync", "rt", "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 } 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 } time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
chrono = { workspace = true } chrono = { workspace = true, features = ["serde"] }
rmp-serde = { workspace = true } rmp-serde = { workspace = true }
rustfs-filemeta = { workspace = true } rustfs-filemeta = { workspace = true }
tokio-util = { workspace = true } tokio-util = { workspace = true, features = ["io", "compat"] }
rustfs-ecstore = { workspace = true } rustfs-ecstore = { workspace = true }
rustfs-storage-api = { workspace = true } rustfs-storage-api = { workspace = true }
http = { workspace = true } http = { workspace = true }
rand = { workspace = true } rand = { workspace = true, features = ["serde"] }
s3s = { workspace = true } s3s = { workspace = true, features = ["minio"] }
metrics = { workspace = true } metrics = { workspace = true }
rustfs-data-usage = { workspace = true } rustfs-data-usage = { workspace = true }
[dev-dependencies] [dev-dependencies]
tracing-subscriber = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
serial_test = { workspace = true } serial_test = { workspace = true }
temp-env = { workspace = true } temp-env = { workspace = true }
uuid = { workspace = true, features = ["v4", "serde"] } uuid = { workspace = true, features = ["v4", "serde", "fast-rng", "macro-diagnostics"] }
tokio = { workspace = true, features = ["test-util"] } tokio = { workspace = true, features = ["test-util", "fs", "rt-multi-thread"] }
# Enables the shared MockWarmBackend / xl.meta assertion helpers exposed via # Enables the shared MockWarmBackend / xl.meta assertion helpers exposed via
# the ecstore `api::tier::test_util` facade module (rustfs/backlog#1148 ilm-6). # the ecstore `api::tier::test_util` facade module (rustfs/backlog#1148 ilm-6).
rustfs-ecstore = { workspace = true, features = ["test-util"] } rustfs-ecstore = { workspace = true, features = ["test-util"] }
+4 -4
View File
@@ -27,13 +27,13 @@ documentation = "https://docs.rs/rustfs-signer/latest/rustfs_signer/"
[dependencies] [dependencies]
tracing.workspace = true tracing.workspace = true
bytes = { workspace = true } bytes = { workspace = true, features = ["serde"] }
http.workspace = true http.workspace = true
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
hyper.workspace = true 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"] }
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
base64-simd.workspace = true base64-simd.workspace = true
thiserror.workspace = true thiserror.workspace = true
+6 -6
View File
@@ -32,14 +32,14 @@ async-trait.workspace = true
# Storage-facing replication contracts are isolated in src/replication.rs until # Storage-facing replication contracts are isolated in src/replication.rs until
# 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 serde = { workspace = true, features = ["derive"] }
time.workspace = true time = { workspace = true, features = ["std", "parsing", "formatting", "macros", "serde"] }
uuid.workspace = true uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
[dev-dependencies] [dev-dependencies]
insta = { workspace = true } insta = { workspace = true, features = ["yaml", "json"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
tokio = { workspace = true, features = ["macros", "rt"] } tokio = { workspace = true, features = ["macros", "rt", "fs", "rt-multi-thread"] }
[lints] [lints]
workspace = true workspace = true
+19 -19
View File
@@ -19,45 +19,45 @@ rustfs-s3-types = { workspace = true }
rustfs-utils = { workspace = true, features = ["egress"] } rustfs-utils = { workspace = true, features = ["egress"] }
async-trait = { workspace = true } async-trait = { workspace = true }
async-nats = { workspace = true } async-nats = { workspace = true }
deadpool-postgres = { workspace = true } deadpool-postgres = { workspace = true, features = ["rt_tokio_1"] }
hyper = { workspace = true } hyper = { workspace = true, features = ["http2", "http1", "server"] }
hyper-rustls = { workspace = true } hyper-rustls = { workspace = true, default-features = false, features = ["native-tokio", "http1", "tls12", "logging", "http2", "aws-lc-rs", "webpki-roots"] }
lapin = { workspace = true } lapin = { workspace = true, default-features = false, features = ["tokio", "rustls", "rustls--aws_lc_rs"] }
libc = { workspace = true } libc = { workspace = true }
pulsar = { workspace = true } pulsar = { workspace = true, default-features = false, features = ["tokio-rustls-runtime", "telemetry"] }
regex = { workspace = true } regex = { workspace = true }
reqwest = { workspace = true } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
rumqttc = { workspace = true } rumqttc = { workspace = true, features = ["websocket"] }
redis = { workspace = true } redis = { workspace = true, features = ["connection-manager", "tokio-rustls-comp", "tls-rustls-insecure"] }
rustls = { workspace = true } rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
rustls-native-certs = { workspace = true } rustls-native-certs = { workspace = true }
s3s = { workspace = true } s3s = { workspace = true, features = ["minio"] }
serde = { workspace = true } serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true } serde_json = { workspace = true, features = ["raw_value"] }
sha2 = { workspace = true } sha2 = { workspace = true }
snap = { workspace = true } snap = { workspace = true }
thiserror = { workspace = true } thiserror = { workspace = true }
tokio = { workspace = true, features = ["fs", "rt-multi-thread", "sync", "time"] } tokio = { workspace = true, features = ["fs", "rt-multi-thread", "sync", "time"] }
tokio-postgres = { workspace = true } tokio-postgres = { workspace = true, default-features = false, features = ["runtime", "with-serde_json-1"] }
tokio-postgres-rustls = { workspace = true } tokio-postgres-rustls = { workspace = true }
tracing = { workspace = true } tracing = { workspace = true }
url = { workspace = true } url = { workspace = true }
urlencoding = { workspace = true } urlencoding = { workspace = true }
uuid = { workspace = true, features = ["v4", "v7", "serde"] } uuid = { workspace = true, features = ["v4", "v7", "serde", "fast-rng", "macro-diagnostics"] }
sysinfo = { workspace = true, features = ["multithread"] } sysinfo = { workspace = true, features = ["multithread"] }
rustfs-kafka-async = { workspace = true } rustfs-kafka-async = { workspace = true }
mysql_async = { workspace = true } mysql_async = { workspace = true, default-features = false, features = ["default-rustls", "tracing"] }
chrono = { workspace = true } chrono = { workspace = true, features = ["serde"] }
parking_lot = { workspace = true } parking_lot = { workspace = true }
hashbrown = { workspace = true } hashbrown = { workspace = true, features = ["serde", "rayon"] }
arc-swap = { workspace = true } arc-swap = { workspace = true }
metrics = { workspace = true } metrics = { workspace = true }
[dev-dependencies] [dev-dependencies]
criterion = { workspace = true } criterion = { workspace = true, features = ["html_reports"] }
tempfile = { workspace = true } tempfile = { workspace = true }
rcgen = { workspace = true } rcgen = { workspace = true }
tracing-subscriber = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
[[bench]] [[bench]]
name = "queue_store_benchmark" name = "queue_store_benchmark"
+4 -4
View File
@@ -28,10 +28,10 @@ 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"] } tokio = { workspace = true, features = ["fs", "rt", "rt-multi-thread"] }
tokio-util = { workspace = true } tokio-util = { workspace = true, features = ["io", "compat"] }
tracing-subscriber = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
uuid = { workspace = true, features = ["v4"] } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
[lints] [lints]
workspace = true workspace = true
+3 -3
View File
@@ -32,7 +32,7 @@ rustfs-common.workspace = true
rustfs-config.workspace = true rustfs-config.workspace = true
arc-swap.workspace = true arc-swap.workspace = true
metrics.workspace = true metrics.workspace = true
rustls.workspace = true rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
rustls-pki-types.workspace = true rustls-pki-types.workspace = true
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
sha2.workspace = true sha2.workspace = true
@@ -42,9 +42,9 @@ tracing.workspace = true
[dev-dependencies] [dev-dependencies]
rcgen.workspace = true rcgen.workspace = true
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
tempfile.workspace = true tempfile.workspace = true
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } tokio = { workspace = true, features = ["macros", "rt-multi-thread", "fs"] }
[lib] [lib]
doctest = false doctest = false
+8 -8
View File
@@ -28,23 +28,23 @@ categories = ["network-programming", "security", "web-programming"]
async-trait = { workspace = true } async-trait = { workspace = true }
axum = { workspace = true } axum = { workspace = true }
http = { workspace = true } http = { workspace = true }
ipnetwork = { workspace = true } 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 } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
rustfs-config = { workspace = true } rustfs-config = { workspace = true }
rustfs-utils = { workspace = true, features = ["net"] } rustfs-utils = { workspace = true, features = ["net"] }
serde.workspace = true serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true 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"] } tokio = { workspace = true, features = ["macros", "rt-multi-thread", "sync", "time", "test-util", "fs"] }
tower = { workspace = true } 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"] } tokio = { workspace = true, features = ["full", "test-util", "fs", "rt-multi-thread"] }
tower = { workspace = true, features = ["util"] } tower = { workspace = true, features = ["util", "timeout"] }
serial_test = { workspace = true } serial_test = { workspace = true }
temp-env = { workspace = true } temp-env = { workspace = true }
+6 -6
View File
@@ -28,7 +28,7 @@ categories = ["web-programming", "development-tools", "cryptography"]
base64-simd = { workspace = true, optional = true } base64-simd = { workspace = true, optional = true }
blake2 = { workspace = true, optional = true } blake2 = { workspace = true, optional = true }
brotli = { workspace = true, optional = true } brotli = { workspace = true, optional = true }
bytes = { workspace = true, optional = true } bytes = { workspace = true, optional = true, features = ["serde"] }
crc-fast = { workspace = true, optional = true } crc-fast = { workspace = true, optional = true }
flate2 = { workspace = true, optional = true } flate2 = { workspace = true, optional = true }
futures = { workspace = true, optional = true } futures = { workspace = true, optional = true }
@@ -36,21 +36,21 @@ hex-simd = { workspace = true, optional = true }
highway = { workspace = true, optional = true } highway = { workspace = true, optional = true }
hmac = { workspace = true, optional = true } hmac = { workspace = true, optional = true }
http = { workspace = true, optional = true } http = { workspace = true, optional = true }
hyper = { workspace = true, optional = true } hyper = { workspace = true, optional = true, features = ["http2", "http1", "server"] }
local-ip-address = { workspace = true, optional = true } local-ip-address = { workspace = true, optional = true }
lz4 = { workspace = true, optional = true } lz4 = { workspace = true, optional = true }
md-5 = { workspace = true, optional = true } md-5 = { workspace = true, optional = true }
netif = { workspace = true, optional = true } netif = { workspace = true, optional = true }
regex = { workspace = true, optional = true } regex = { workspace = true, optional = true }
rustix = { workspace = true, optional = true } rustix = { workspace = true, optional = true, features = ["fs"] }
serde = { workspace = true, optional = true } serde = { workspace = true, optional = true, features = ["derive"] }
sha1 = { workspace = true, optional = true } sha1 = { workspace = true, optional = true }
sha2 = { workspace = true, optional = true } sha2 = { workspace = true, optional = true }
convert_case = { workspace = true, optional = true } convert_case = { workspace = true, optional = true }
siphasher = { workspace = true, optional = true } siphasher = { workspace = true, optional = true }
snap = { workspace = true, optional = true } snap = { workspace = true, optional = true }
tempfile = { workspace = true, optional = true } tempfile = { workspace = true, optional = true }
tokio = { workspace = true, optional = true, features = ["io-util", "macros"] } tokio = { workspace = true, optional = true, features = ["io-util", "macros", "fs", "rt-multi-thread"] }
tracing = { workspace = true } tracing = { workspace = true }
transform-stream = { workspace = true, optional = true } transform-stream = { workspace = true, optional = true }
url = { workspace = true, optional = true } url = { workspace = true, optional = true }
@@ -58,7 +58,7 @@ zstd = { workspace = true, optional = true }
[dev-dependencies] [dev-dependencies]
tempfile = { workspace = true } tempfile = { workspace = true }
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] } tokio = { workspace = true, features = ["macros", "rt-multi-thread", "fs"] }
temp-env = { workspace = true } temp-env = { workspace = true }
proptest = "1" proptest = "1"
+1 -1
View File
@@ -41,7 +41,7 @@ async-compression = { workspace = true, features = [
"zstd", "zstd",
"xz", "xz",
] } ] }
tokio = { workspace = true, features = ["fs","io-util","macros"] } tokio = { workspace = true, features = ["fs", "io-util", "macros", "rt-multi-thread"] }
tokio-stream = { workspace = true } tokio-stream = { workspace = true }
astral-tokio-tar = { workspace = true } astral-tokio-tar = { workspace = true }
thiserror = { workspace = true } thiserror = { workspace = true }
+36 -35
View File
@@ -104,7 +104,7 @@ rustfs-object-data-cache = { workspace = true }
rustfs-concurrency = { workspace = true } rustfs-concurrency = { workspace = true }
rustfs-scanner = { workspace = true } rustfs-scanner = { workspace = true }
tempfile = { workspace = true } tempfile = { workspace = true }
starshard = { workspace = true } starshard = { workspace = true, features = ["rayon", "async", "serde"] }
# Async Runtime and Networking # Async Runtime and Networking
async-trait = { workspace = true } async-trait = { workspace = true }
@@ -112,53 +112,53 @@ axum.workspace = true
futures.workspace = true futures.workspace = true
futures-lite.workspace = true futures-lite.workspace = true
futures-util.workspace = true futures-util.workspace = true
hyper.workspace = true hyper = { workspace = true, features = ["http2", "http1", "server"] }
hyper-util.workspace = true hyper-util = { workspace = true, features = ["tokio", "server-auto", "server-graceful", "tracing"] }
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 } reqwest = { workspace = true, default-features = false, features = ["rustls", "charset", "http2", "system-proxy", "stream", "json", "blocking", "query", "form"] }
socket2 = { workspace = true } socket2 = { workspace = true, features = ["all"] }
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "net", "signal", "process", "io-util"] } tokio = { workspace = true, features = ["rt-multi-thread", "macros", "net", "signal", "process", "io-util", "fs"] }
tokio-rustls = { workspace = true } tokio-rustls = { workspace = true, default-features = false, features = ["logging", "tls12", "aws-lc-rs"] }
aws-sdk-s3 = { workspace = true } aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] }
tokio-stream.workspace = true tokio-stream.workspace = true
tokio-util.workspace = true tokio-util = { workspace = true, features = ["io", "compat"] }
tonic = { workspace = true } tonic = { workspace = true, features = ["gzip", "deflate"] }
tower.workspace = true tower = { workspace = true, features = ["timeout"] }
tower-http = { workspace = true, features = ["trace", "compression-full", "cors", "catch-panic", "timeout", "limit", "request-id", "add-extension"] } tower-http = { workspace = true, features = ["trace", "compression-full", "cors", "catch-panic", "timeout", "limit", "request-id", "add-extension"] }
# Serialization and Data Formats # Serialization and Data Formats
apache-avro = { workspace = true } apache-avro = { workspace = true }
bytes = { workspace = true } bytes = { workspace = true, features = ["serde"] }
chrono = { workspace = true, features = ["serde"] } chrono = { workspace = true, features = ["serde"] }
flatbuffers.workspace = true flatbuffers.workspace = true
rmp-serde.workspace = true rmp-serde.workspace = true
quick-xml.workspace = true quick-xml.workspace = true
rustfs-signer.workspace = true rustfs-signer.workspace = true
serde.workspace = true serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true serde_json = { workspace = true, features = ["raw_value"] }
serde_urlencoded = { workspace = true } serde_urlencoded = { workspace = true }
# Cryptography and Security # Cryptography and Security
rustls = { workspace = true } rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
rustls-pki-types = { workspace = true } rustls-pki-types = { workspace = true }
subtle = { workspace = true } subtle = { workspace = true }
jiff = { workspace = true } jiff = { workspace = true, features = ["serde"] }
time = { workspace = true, features = ["parsing", "formatting", "serde"] } time = { workspace = true, features = ["parsing", "formatting", "serde", "std", "macros"] }
# Utilities and Tools # Utilities and Tools
astral-tokio-tar = { workspace = true } astral-tokio-tar = { workspace = true }
atoi = { workspace = true } atoi = { workspace = true }
atomic_enum = { workspace = true } atomic_enum = { workspace = true }
async_zip = { workspace = true } async_zip = { workspace = true, default-features = false, features = ["tokio", "deflate"] }
base64 = { workspace = true } base64 = { workspace = true }
hmac = { workspace = true } hmac = { workspace = true }
sha2 = { workspace = true } sha2 = { workspace = true }
base64-simd.workspace = true base64-simd.workspace = true
clap = { workspace = true } clap = { workspace = true, features = ["derive", "env"] }
const-str = { workspace = true } const-str = { workspace = true, features = ["std", "proc"] }
datafusion = { workspace = true, features = ["parquet", "recursive_protection", "sql"] } datafusion = { workspace = true, default-features = false, features = ["parquet", "recursive_protection", "sql"] }
hex-simd.workspace = true hex-simd.workspace = true
matchit = { workspace = true } matchit = { workspace = true }
md5.workspace = true md5.workspace = true
@@ -167,18 +167,18 @@ percent-encoding = { workspace = true }
pin-project-lite.workspace = true pin-project-lite.workspace = true
parking_lot = { workspace = true } parking_lot = { workspace = true }
rust-embed = { workspace = true, features = ["interpolate-folder-path"] } rust-embed = { workspace = true, features = ["interpolate-folder-path"] }
s3s.workspace = true s3s = { workspace = true, features = ["minio"] }
shadow-rs = { workspace = true, features = ["build", "metadata"] } shadow-rs = { workspace = true, default-features = false, features = ["build", "metadata"] }
sysinfo = { workspace = true, features = ["multithread"] } sysinfo = { workspace = true, features = ["multithread"] }
thiserror = { workspace = true } thiserror = { workspace = true }
tracing.workspace = true tracing.workspace = true
url = { workspace = true } url = { workspace = true }
urlencoding = { workspace = true } urlencoding = { workspace = true }
uuid = { workspace = true } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
zip = { workspace = true } zip = { workspace = true }
libc = { workspace = true } libc = { workspace = true }
rand = { workspace = true } rand = { workspace = true, features = ["serde"] }
aes-gcm = { workspace = true } aes-gcm = { workspace = true, features = ["rand_core"] }
chacha20poly1305 = { workspace = true } chacha20poly1305 = { workspace = true }
# Observability and Metrics # Observability and Metrics
@@ -186,7 +186,7 @@ metrics = { workspace = true }
opentelemetry = { workspace = true } opentelemetry = { workspace = true }
tracing-opentelemetry = { workspace = true } tracing-opentelemetry = { workspace = true }
# Data structures # Data structures
hashbrown = { workspace = true } hashbrown = { workspace = true, features = ["serde", "rayon"] }
mimalloc = { workspace = true } mimalloc = { workspace = true }
[target.'cfg(target_os = "linux")'.dependencies] [target.'cfg(target_os = "linux")'.dependencies]
@@ -196,17 +196,17 @@ libsystemd.workspace = true
libmimalloc-sys = { version = "0.1.49", features = ["extended"] } libmimalloc-sys = { version = "0.1.49", features = ["extended"] }
[dev-dependencies] [dev-dependencies]
uuid = { workspace = true, features = ["v4"] } uuid = { workspace = true, features = ["v4", "fast-rng", "macro-diagnostics"] }
serial_test = { workspace = true } serial_test = { workspace = true }
tempfile = { workspace = true } tempfile = { workspace = true }
aws-config = { workspace = true } aws-config = { workspace = true }
anyhow = { workspace = true } anyhow = { workspace = true }
insta = { workspace = true } insta = { workspace = true, features = ["yaml", "json"] }
proptest = "1" proptest = "1"
tokio = { workspace = true, features = ["test-util"] } tokio = { workspace = true, features = ["test-util", "fs", "rt-multi-thread"] }
temp-env = { workspace = true, features = ["async_closure"] } temp-env = { workspace = true, features = ["async_closure"] }
tracing-subscriber = { workspace = true } tracing-subscriber = { workspace = true, features = ["env-filter", "time"] }
opentelemetry_sdk = { workspace = true } opentelemetry_sdk = { workspace = true, features = ["rt-tokio"] }
rsa = { workspace = true } rsa = { workspace = true }
rcgen = { workspace = true } rcgen = { workspace = true }
# Enables the shared MockWarmBackend / xl.meta assertion helpers exposed via # Enables the shared MockWarmBackend / xl.meta assertion helpers exposed via
@@ -216,11 +216,12 @@ rustfs-ecstore = { workspace = true, features = ["test-util"] }
[build-dependencies] [build-dependencies]
http.workspace = true http.workspace = true
futures.workspace = true futures.workspace = true
s3s = { workspace = true } s3s = { workspace = true, features = ["minio"] }
clap = { workspace = true } clap = { workspace = true, features = ["derive", "env"] }
hyper-util = { workspace = true, features = [ hyper-util = { workspace = true, features = [
"tokio", "tokio",
"server-auto", "server-auto",
"server-graceful", "server-graceful",
"tracing",
] } ] }
shadow-rs = { workspace = true, features = ["build"] } shadow-rs = { workspace = true, default-features = false, features = ["build"] }