mirror of
https://github.com/rustfs/rustfs.git
synced 2026-01-17 01:30:33 +00:00
293 lines
9.3 KiB
TOML
293 lines
9.3 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.
|
|
|
|
[workspace]
|
|
members = [
|
|
"rustfs", # Core file system implementation
|
|
"cli/rustfs-gui", # Graphical user interface client
|
|
"crates/appauth", # Application authentication and authorization
|
|
"crates/common", # Shared utilities and data structures
|
|
"crates/config", # Configuration management
|
|
"crates/crypto", # Cryptography and security features
|
|
"crates/ecstore", # Erasure coding storage implementation
|
|
"crates/e2e_test", # End-to-end test suite
|
|
"crates/filemeta", # File metadata management
|
|
"crates/iam", # Identity and Access Management
|
|
"crates/lock", # Distributed locking implementation
|
|
"crates/madmin", # Management dashboard and admin API interface
|
|
"crates/notify", # Notification system for events
|
|
"crates/obs", # Observability utilities
|
|
"crates/protos", # Protocol buffer definitions
|
|
"crates/rio", # Rust I/O utilities and abstractions
|
|
"crates/s3select-api", # S3 Select API interface
|
|
"crates/s3select-query", # S3 Select query engine
|
|
"crates/signer", # client signer
|
|
"crates/utils", # Utility functions and helpers
|
|
"crates/workers", # Worker thread pools and task scheduling
|
|
"crates/zip", # ZIP file handling and compression
|
|
"crates/ahm",
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/rustfs/rustfs"
|
|
rust-version = "1.85"
|
|
version = "0.0.5"
|
|
homepage = "https://rustfs.com"
|
|
description = "RustFS is a high-performance distributed object storage software built using Rust, one of the most popular languages worldwide. "
|
|
keywords = ["RustFS", "Minio", "object-storage", "filesystem", "s3"]
|
|
categories = ["web-programming", "development-tools", "filesystem", "network-programming"]
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "deny"
|
|
|
|
[workspace.lints.clippy]
|
|
all = "warn"
|
|
|
|
[patch.crates-io]
|
|
rustfs-utils = { path = "crates/utils" }
|
|
rustfs-filemeta = { path = "crates/filemeta" }
|
|
rustfs-rio = { path = "crates/rio" }
|
|
|
|
[workspace.dependencies]
|
|
rustfs-ahm = { path = "crates/ahm", version = "0.0.5" }
|
|
rustfs-s3select-api = { path = "crates/s3select-api", version = "0.0.5" }
|
|
rustfs-appauth = { path = "crates/appauth", version = "0.0.5" }
|
|
rustfs-common = { path = "crates/common", version = "0.0.5" }
|
|
rustfs-crypto = { path = "crates/crypto", version = "0.0.5" }
|
|
rustfs-ecstore = { path = "crates/ecstore", version = "0.0.5" }
|
|
rustfs-iam = { path = "crates/iam", version = "0.0.5" }
|
|
rustfs-lock = { path = "crates/lock", version = "0.0.5" }
|
|
rustfs-madmin = { path = "crates/madmin", version = "0.0.5" }
|
|
rustfs-policy = { path = "crates/policy", version = "0.0.5" }
|
|
rustfs-protos = { path = "crates/protos", version = "0.0.5" }
|
|
rustfs-s3select-query = { path = "crates/s3select-query", version = "0.0.5" }
|
|
rustfs = { path = "./rustfs", version = "0.0.5" }
|
|
rustfs-zip = { path = "./crates/zip", version = "0.0.5" }
|
|
rustfs-config = { path = "./crates/config", version = "0.0.5" }
|
|
rustfs-obs = { path = "crates/obs", version = "0.0.5" }
|
|
rustfs-notify = { path = "crates/notify", version = "0.0.5" }
|
|
rustfs-utils = { path = "crates/utils", version = "0.0.5" }
|
|
rustfs-rio = { path = "crates/rio", version = "0.0.5" }
|
|
rustfs-filemeta = { path = "crates/filemeta", version = "0.0.5" }
|
|
rustfs-signer = { path = "crates/signer", version = "0.0.5" }
|
|
rustfs-workers = { path = "crates/workers", version = "0.0.5" }
|
|
aes-gcm = { version = "0.10.3", features = ["std"] }
|
|
arc-swap = "1.7.1"
|
|
argon2 = { version = "0.5.3", features = ["std"] }
|
|
atoi = "2.0.0"
|
|
async-channel = "2.5.0"
|
|
async-recursion = "1.1.1"
|
|
async-trait = "0.1.88"
|
|
async-compression = { version = "0.4.0" }
|
|
atomic_enum = "0.3.0"
|
|
aws-sdk-s3 = "1.96.0"
|
|
axum = "0.8.4"
|
|
axum-extra = "0.10.1"
|
|
axum-server = { version = "0.7.2", features = ["tls-rustls"] }
|
|
base64-simd = "0.8.0"
|
|
base64 = "0.22.1"
|
|
brotli = "8.0.1"
|
|
bytes = { version = "1.10.1", features = ["serde"] }
|
|
bytesize = "2.0.1"
|
|
byteorder = "1.5.0"
|
|
cfg-if = "1.0.1"
|
|
chacha20poly1305 = { version = "0.10.1" }
|
|
chrono = { version = "0.4.41", features = ["serde"] }
|
|
clap = { version = "4.5.41", features = ["derive", "env"] }
|
|
const-str = { version = "0.6.3", features = ["std", "proc"] }
|
|
crc32fast = "1.5.0"
|
|
criterion = { version = "0.5", features = ["html_reports"] }
|
|
dashmap = "6.1.0"
|
|
datafusion = "46.0.1"
|
|
derive_builder = "0.20.2"
|
|
dioxus = { version = "0.6.3", features = ["router"] }
|
|
dirs = "6.0.0"
|
|
enumset = "1.1.7"
|
|
flatbuffers = "25.2.10"
|
|
flate2 = "1.1.2"
|
|
flexi_logger = { version = "0.31.2", features = ["trc", "dont_minimize_extra_stacks"] }
|
|
form_urlencoded = "1.2.1"
|
|
futures = "0.3.31"
|
|
futures-core = "0.3.31"
|
|
futures-util = "0.3.31"
|
|
glob = "0.3.2"
|
|
hex = "0.4.3"
|
|
hex-simd = "0.8.0"
|
|
highway = { version = "1.3.0" }
|
|
hmac = "0.12.1"
|
|
hyper = "1.6.0"
|
|
hyper-util = { version = "0.1.16", features = [
|
|
"tokio",
|
|
"server-auto",
|
|
"server-graceful",
|
|
] }
|
|
hyper-rustls = "0.27.7"
|
|
http = "1.3.1"
|
|
http-body = "1.0.1"
|
|
humantime = "2.2.0"
|
|
ipnetwork = { version = "0.21.1", features = ["serde"] }
|
|
jsonwebtoken = "9.3.1"
|
|
keyring = { version = "3.6.2", features = [
|
|
"apple-native",
|
|
"windows-native",
|
|
"sync-secret-service",
|
|
] }
|
|
lazy_static = "1.5.0"
|
|
libsystemd = { version = "0.7.2" }
|
|
lru = "0.16"
|
|
local-ip-address = "0.6.5"
|
|
lz4 = "1.28.1"
|
|
matchit = "0.8.4"
|
|
md-5 = "0.10.6"
|
|
mime_guess = "2.0.5"
|
|
netif = "0.1.6"
|
|
nix = { version = "0.30.1", features = ["fs"] }
|
|
nu-ansi-term = "0.50.1"
|
|
num_cpus = { version = "1.17.0" }
|
|
nvml-wrapper = "0.11.0"
|
|
object_store = "0.11.2"
|
|
once_cell = "1.21.3"
|
|
opentelemetry = { version = "0.30.0" }
|
|
opentelemetry-appender-tracing = { version = "0.30.1", features = [
|
|
"experimental_use_tracing_span_context",
|
|
"experimental_metadata_attributes",
|
|
"spec_unstable_logs_enabled"
|
|
] }
|
|
opentelemetry_sdk = { version = "0.30.0" }
|
|
opentelemetry-stdout = { version = "0.30.0" }
|
|
opentelemetry-otlp = { version = "0.30.0", default-features = false, features = [
|
|
"grpc-tonic", "gzip-tonic", "trace", "metrics", "logs", "internal-logs"
|
|
] }
|
|
opentelemetry-semantic-conventions = { version = "0.30.0", features = [
|
|
"semconv_experimental",
|
|
] }
|
|
parking_lot = "0.12.4"
|
|
path-absolutize = "3.1.1"
|
|
path-clean = "1.0.1"
|
|
blake3 = { version = "1.8.2" }
|
|
pbkdf2 = "0.12.2"
|
|
percent-encoding = "2.3.1"
|
|
pin-project-lite = "0.2.16"
|
|
prost = "0.13.5"
|
|
quick-xml = "0.38.0"
|
|
rand = "0.9.2"
|
|
rdkafka = { version = "0.38.0", features = ["tokio"] }
|
|
reed-solomon-simd = { version = "3.0.1" }
|
|
regex = { version = "1.11.1" }
|
|
reqwest = { version = "0.12.22", default-features = false, features = [
|
|
"rustls-tls",
|
|
"charset",
|
|
"http2",
|
|
"system-proxy",
|
|
"stream",
|
|
"json",
|
|
"blocking",
|
|
] }
|
|
rfd = { version = "0.15.4", default-features = false, features = [
|
|
"xdg-portal",
|
|
"tokio",
|
|
] }
|
|
rmp = "0.8.14"
|
|
rmp-serde = "1.3.0"
|
|
rsa = "0.9.8"
|
|
rumqttc = { version = "0.24" }
|
|
rust-embed = { version = "8.7.2" }
|
|
rust-i18n = { version = "3.1.5" }
|
|
rustfs-rsc = "2025.506.1"
|
|
rustls = { version = "0.23.29" }
|
|
rustls-pki-types = "1.12.0"
|
|
rustls-pemfile = "2.2.0"
|
|
s3s = { version = "0.12.0-minio-preview.2" }
|
|
shadow-rs = { version = "1.2.0", default-features = false }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
serde_json = { version = "1.0.141", features = ["raw_value"] }
|
|
serde-xml-rs = "0.8.1"
|
|
serde_urlencoded = "0.7.1"
|
|
sha1 = "0.10.6"
|
|
sha2 = "0.10.9"
|
|
siphasher = "1.0.1"
|
|
smallvec = { version = "1.15.1", features = ["serde"] }
|
|
snafu = "0.8.6"
|
|
snap = "1.1.1"
|
|
socket2 = "0.6.0"
|
|
strum = { version = "0.27.2", features = ["derive"] }
|
|
sysinfo = "0.36.1"
|
|
sysctl = "0.6.0"
|
|
tempfile = "3.20.0"
|
|
temp-env = "0.3.6"
|
|
test-case = "3.3.1"
|
|
thiserror = "2.0.12"
|
|
time = { version = "0.3.41", features = [
|
|
"std",
|
|
"parsing",
|
|
"formatting",
|
|
"macros",
|
|
"serde",
|
|
] }
|
|
tokio = { version = "1.46.1", features = ["fs", "rt-multi-thread"] }
|
|
tokio-rustls = { version = "0.26.2", default-features = false }
|
|
tokio-stream = { version = "0.1.17" }
|
|
tokio-tar = "0.3.1"
|
|
tokio-test = "0.4.4"
|
|
tokio-util = { version = "0.7.15", features = ["io", "compat"] }
|
|
tonic = { version = "0.13.1", features = ["gzip"] }
|
|
tonic-build = { version = "0.13.1" }
|
|
tower = { version = "0.5.2", features = ["timeout"] }
|
|
tower-http = { version = "0.6.6", features = ["cors"] }
|
|
tracing = "0.1.41"
|
|
tracing-core = "0.1.34"
|
|
tracing-error = "0.2.1"
|
|
tracing-subscriber = { version = "0.3.19", features = ["env-filter", "time"] }
|
|
tracing-appender = "0.2.3"
|
|
tracing-opentelemetry = "0.31.0"
|
|
transform-stream = "0.3.1"
|
|
url = "2.5.4"
|
|
urlencoding = "2.1.3"
|
|
uuid = { version = "1.17.0", features = [
|
|
"v4",
|
|
"fast-rng",
|
|
"macro-diagnostics",
|
|
] }
|
|
wildmatch = { version = "2.4.0", features = ["serde"] }
|
|
winapi = { version = "0.3.9" }
|
|
xxhash-rust = { version = "0.8.15", features = ["xxh64", "xxh3"] }
|
|
zip = "2.4.2"
|
|
zstd = "0.13.3"
|
|
anyhow = "1.0.98"
|
|
|
|
[profile.wasm-dev]
|
|
inherits = "dev"
|
|
opt-level = 1
|
|
|
|
[profile.server-dev]
|
|
inherits = "dev"
|
|
|
|
[profile.android-dev]
|
|
inherits = "dev"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
|
|
[profile.production]
|
|
inherits = "release"
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
|
|
[profile.profiling]
|
|
inherits = "release"
|
|
debug = true
|