mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 08:18:18 +00:00
56179210ab
* chore(deps): remove redundant dependency features Remove manifest feature entries that are implied by other requested features in the same dependency declaration. Verified that the resolved Cargo feature graph is unchanged after the cleanup. Co-Authored-By: heihutu <heihutu@gmail.com> * chore(deps): narrow tokio and reqwest features Co-Authored-By: heihutu <heihutu@gmail.com> --------- Co-authored-by: heihutu <heihutu@gmail.com>
188 lines
7.4 KiB
TOML
188 lines
7.4 KiB
TOML
# Copyright 2024 RustFS Team
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
[package]
|
|
name = "rustfs-ecstore"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
homepage.workspace = true
|
|
description = "Erasure coding storage backend for RustFS, providing efficient data storage and retrieval with redundancy."
|
|
keywords = ["erasure-coding", "storage", "rustfs", "Minio", "solomon"]
|
|
categories = ["web-programming", "development-tools", "filesystem"]
|
|
documentation = "https://docs.rs/rustfs-ecstore/latest/rustfs_ecstore/"
|
|
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
[lints]
|
|
workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
rio-v2 = ["dep:rustfs-rio-v2"]
|
|
hotpath = ["dep:hotpath", "hotpath/hotpath", "rustfs-filemeta/hotpath", "rustfs-rio/hotpath"]
|
|
# Exposes shared lifecycle/tier test utilities (MockWarmBackend, fault
|
|
# injection, xl.meta transition assertions) via `api::tier::test_util`.
|
|
# Enable only from `[dev-dependencies]` (rustfs/backlog#1148 ilm-6).
|
|
test-util = []
|
|
|
|
[dependencies]
|
|
hotpath = { workspace = true, optional = true }
|
|
rustfs-filemeta.workspace = true
|
|
rustfs-utils = { workspace = true, features = ["full"] }
|
|
rustfs-rio.workspace = true
|
|
rustfs-rio-v2 = { workspace = true, optional = true }
|
|
rustfs-signer.workspace = true
|
|
rustfs-storage-api.workspace = true
|
|
rustfs-tls-runtime.workspace = true
|
|
rustfs-checksums.workspace = true
|
|
rustfs-config = { workspace = true, features = ["notify", "audit", "server-config-model"] }
|
|
rustfs-concurrency.workspace = true
|
|
rustfs-credentials = { workspace = true }
|
|
rustfs-common.workspace = true
|
|
rustfs-policy.workspace = true
|
|
rustfs-protos.workspace = true
|
|
rustfs-replication.workspace = true
|
|
rustfs-lifecycle.workspace = true
|
|
rustfs-kms.workspace = true
|
|
rustfs-s3-types = { workspace = true }
|
|
rustfs-data-usage.workspace = true
|
|
rustfs-object-capacity.workspace = true
|
|
async-trait.workspace = true
|
|
bytes = { workspace = true, features = ["serde"] }
|
|
byteorder = { workspace = true }
|
|
chrono = { workspace = true, features = ["serde"] }
|
|
glob = { workspace = true }
|
|
thiserror.workspace = true
|
|
flatbuffers.workspace = true
|
|
futures.workspace = true
|
|
futures-util.workspace = true
|
|
tracing.workspace = true
|
|
tracing-opentelemetry.workspace = true
|
|
serde = { workspace = true, features = ["derive"] }
|
|
time = { workspace = true, features = ["parsing", "formatting", "macros", "serde"] }
|
|
bytesize.workspace = true
|
|
serde_json = { workspace = true, features = ["raw_value"] }
|
|
quick-xml = { workspace = true, features = ["serialize", "async-tokio"] }
|
|
s3s = { workspace = true, features = ["minio"] }
|
|
http.workspace = true
|
|
opentelemetry.workspace = true
|
|
http-body = { workspace = true }
|
|
http-body-util.workspace = true
|
|
url.workspace = true
|
|
uuid = { workspace = true, features = ["v4", "fast-rng", "serde", "macro-diagnostics"] }
|
|
reed-solomon-erasure = { workspace = true, features = ["simd-accel"] }
|
|
reed-solomon-simd = { workspace = true }
|
|
lazy_static.workspace = true
|
|
moka = { workspace = true, features = ["future"] }
|
|
rustfs-lock.workspace = true
|
|
rustfs-io-metrics.workspace = true
|
|
regex = { workspace = true }
|
|
path-absolutize = { workspace = true }
|
|
rmp.workspace = true
|
|
rmp-serde.workspace = true
|
|
tokio-util = { workspace = true, features = ["io", "compat"] }
|
|
base64 = { workspace = true }
|
|
hmac = { workspace = true }
|
|
sha1 = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
hex-simd = { workspace = true }
|
|
tempfile.workspace = true
|
|
hyper = { workspace = true, features = ["http2", "http1", "server"] }
|
|
hyper-util = { workspace = true, features = ["tokio", "server-auto", "server-graceful", "tracing"] }
|
|
hyper-rustls = { workspace = true, default-features = false, features = ["native-tokio", "http1", "tls12", "logging", "http2", "aws-lc-rs", "webpki-roots"] }
|
|
rustls = { workspace = true, default-features = false, features = ["aws-lc-rs", "logging", "tls12", "prefer-post-quantum", "std"] }
|
|
rustls-pki-types.workspace = true
|
|
tokio = { workspace = true, features = ["io-util", "sync", "signal", "fs", "rt-multi-thread"] }
|
|
tonic = { workspace = true, features = ["gzip", "deflate"] }
|
|
xxhash-rust = { workspace = true, features = ["xxh64", "xxh3"] }
|
|
tower = { workspace = true, features = ["timeout"] }
|
|
async-channel.workspace = true
|
|
enumset = { workspace = true }
|
|
num_cpus = { workspace = true }
|
|
rand = { workspace = true, features = ["serde"] }
|
|
pin-project-lite.workspace = true
|
|
md-5.workspace = true
|
|
memmap2 = { workspace = true }
|
|
libc.workspace = true
|
|
# "process" adds getrlimit for the io_uring fd-cache RLIMIT_NOFILE gate
|
|
# (backlog#1178); "fs" comes from the workspace default.
|
|
rustix = { workspace = true, features = ["process", "fs"] }
|
|
rustfs-madmin.workspace = true
|
|
reqwest = { workspace = true, default-features = false, features = ["rustls", "http2", "system-proxy"] }
|
|
aes-gcm = { workspace = true, features = ["rand_core"] }
|
|
chacha20poly1305.workspace = true
|
|
aws-sdk-s3 = { workspace = true, default-features = false, features = ["sigv4a", "default-https-client", "rt-tokio"] }
|
|
urlencoding = { workspace = true }
|
|
smallvec = { workspace = true, features = ["serde"] }
|
|
shadow-rs = { workspace = true, default-features = false }
|
|
async-recursion.workspace = true
|
|
aws-credential-types = { workspace = true }
|
|
aws-smithy-types = { workspace = true }
|
|
aws-smithy-runtime-api = { workspace = true, features = ["http-1x"] }
|
|
parking_lot = { workspace = true }
|
|
base64-simd.workspace = true
|
|
serde_urlencoded.workspace = true
|
|
google-cloud-storage = { workspace = true }
|
|
google-cloud-auth = { workspace = true }
|
|
aws-config = { workspace = true }
|
|
faster-hex = { workspace = true }
|
|
ratelimit = { workspace = true }
|
|
aws-smithy-http-client = { workspace = true, default-features = false, features = ["rustls-aws-lc"] }
|
|
|
|
# Observability and Metrics
|
|
metrics = { workspace = true }
|
|
|
|
# Runtime-probed io_uring read backend (backlog#1104). Linux-only, from
|
|
# crates.io. The guard scripts/check_no_tokio_io_uring.sh allows an explicit
|
|
# io-uring integration; only the tokio "io-uring" runtime feature is banned.
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
rustfs-uring = "0.2.1"
|
|
|
|
[dev-dependencies]
|
|
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "test-util", "fs"] }
|
|
criterion = { workspace = true, features = ["html_reports"] }
|
|
temp-env = { workspace = true, features = ["async_closure"] }
|
|
tracing-subscriber = { workspace = true, features = ["json", "env-filter", "time"] }
|
|
serial_test = { workspace = true }
|
|
opentelemetry_sdk = { workspace = true, features = ["rt-tokio"] }
|
|
proptest = "1"
|
|
rcgen.workspace = true
|
|
insta = { workspace = true, features = ["yaml", "json"] }
|
|
rustfs-crypto = { workspace = true }
|
|
|
|
[build-dependencies]
|
|
shadow-rs = { workspace = true, default-features = false, features = ["build", "metadata"] }
|
|
|
|
[[bench]]
|
|
name = "erasure_benchmark"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "comparison_benchmark"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "rename_data_meta_benchmark"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "single_block_non_inline_benchmark"
|
|
harness = false
|
|
|
|
[lib]
|
|
doctest = false
|