mirror of
https://github.com/rustfs/rustfs.git
synced 2026-07-26 16:28:15 +00:00
e9d6e2ca95
* feat: improve address binding and port handling mechanism 1. Add support for ":port" format to enable dual-stack binding (IPv4/IPv6) 2. Implement automatic port allocation when port 0 is specified 3. Optimize server startup process with unified address resolution 4. Enhance error handling and logging for address resolution 5. Improve graceful shutdown with signal listening 6. Clean up commented code in console.rs Files: - ecstore/src/utils/net.rs - rustfs/src/console.rs - rustfs/src/main.rs Branch: feature/server-and-console-port * improve code for console * improve code * improve code for console and net.rs * Update rustfs/src/main.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update rustfs/src/utils/mod.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
202 lines
6.0 KiB
TOML
202 lines
6.0 KiB
TOML
[workspace]
|
|
members = [
|
|
"madmin", # Management dashboard and admin API interface
|
|
"rustfs", # Core file system implementation
|
|
"ecstore", # Erasure coding storage implementation
|
|
"e2e_test", # End-to-end test suite
|
|
"common/common", # Shared utilities and data structures
|
|
"common/lock", # Distributed locking implementation
|
|
"common/protos", # Protocol buffer definitions
|
|
"common/workers", # Worker thread pools and task scheduling
|
|
"iam", # Identity and Access Management
|
|
"crypto", # Cryptography and security features
|
|
"cli/rustfs-gui", # Graphical user interface client
|
|
"crates/obs", # Observability utilities
|
|
"crates/event-notifier", # Event notification system
|
|
"s3select/api", # S3 Select API interface
|
|
"s3select/query", # S3 Select query engine
|
|
"appauth", # Application authentication and authorization
|
|
]
|
|
resolver = "2"
|
|
|
|
[workspace.package]
|
|
edition = "2021"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/rustfs/rustfs"
|
|
rust-version = "1.75"
|
|
version = "0.0.1"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "deny"
|
|
|
|
[workspace.lints.clippy]
|
|
all = "warn"
|
|
|
|
[workspace.dependencies]
|
|
api = { path = "./s3select/api", version = "0.0.1" }
|
|
appauth = { path = "./appauth", version = "0.0.1" }
|
|
common = { path = "./common/common", version = "0.0.1" }
|
|
crypto = { path = "./crypto", version = "0.0.1" }
|
|
ecstore = { path = "./ecstore", version = "0.0.1" }
|
|
iam = { path = "./iam", version = "0.0.1" }
|
|
lock = { path = "./common/lock", version = "0.0.1" }
|
|
madmin = { path = "./madmin", version = "0.0.1" }
|
|
policy = { path = "./policy", version = "0.0.1" }
|
|
protos = { path = "./common/protos", version = "0.0.1" }
|
|
query = { path = "./s3select/query", version = "0.0.1" }
|
|
rustfs = { path = "./rustfs", version = "0.0.1" }
|
|
rustfs-obs = { path = "crates/obs", version = "0.0.1" }
|
|
rustfs-event-notifier = { path = "crates/event-notifier", version = "0.0.1" }
|
|
workers = { path = "./common/workers", version = "0.0.1" }
|
|
atoi = "2.0.0"
|
|
async-recursion = "1.1.1"
|
|
async-trait = "0.1.88"
|
|
atomic_enum = "0.3.0"
|
|
axum = "0.8.3"
|
|
axum-extra = "0.10.1"
|
|
axum-server = { version = "0.7.2", features = ["tls-rustls"] }
|
|
backon = "1.5.0"
|
|
bytes = "1.10.1"
|
|
bytesize = "2.0.1"
|
|
chrono = { version = "0.4.40", features = ["serde"] }
|
|
clap = { version = "4.5.37", features = ["derive", "env"] }
|
|
config = "0.15.11"
|
|
datafusion = "46.0.1"
|
|
derive_builder = "0.20.2"
|
|
dioxus = { version = "0.6.3", features = ["router"] }
|
|
dirs = "6.0.0"
|
|
flatbuffers = "25.2.10"
|
|
futures = "0.3.31"
|
|
futures-core = "0.3.31"
|
|
futures-util = "0.3.31"
|
|
hex = "0.4.3"
|
|
hyper = "1.6.0"
|
|
hyper-util = { version = "0.1.11", features = [
|
|
"tokio",
|
|
"server-auto",
|
|
"server-graceful",
|
|
] }
|
|
http = "1.3.1"
|
|
http-body = "1.0.1"
|
|
humantime = "2.2.0"
|
|
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.1" }
|
|
local-ip-address = "0.6.3"
|
|
matchit = "0.8.4"
|
|
md-5 = "0.10.6"
|
|
mime = "0.3.17"
|
|
mime_guess = "2.0.5"
|
|
netif = "0.1.6"
|
|
nvml-wrapper = "0.10.0"
|
|
object_store = "0.11.2"
|
|
opentelemetry = { version = "0.29.1" }
|
|
opentelemetry-appender-tracing = { version = "0.29.1", features = [
|
|
"experimental_use_tracing_span_context",
|
|
"experimental_metadata_attributes",
|
|
] }
|
|
opentelemetry_sdk = { version = "0.29.0" }
|
|
opentelemetry-stdout = { version = "0.29.0" }
|
|
opentelemetry-otlp = { version = "0.29.0" }
|
|
opentelemetry-semantic-conventions = { version = "0.29.0", features = ["semconv_experimental"] }
|
|
parking_lot = "0.12.3"
|
|
pin-project-lite = "0.2.16"
|
|
# pin-utils = "0.1.0"
|
|
prost = "0.13.5"
|
|
prost-build = "0.13.5"
|
|
prost-types = "0.13.5"
|
|
protobuf = "3.7"
|
|
rand = "0.8.5"
|
|
rdkafka = { version = "0.37.0", features = ["tokio"] }
|
|
reqwest = { version = "0.12.15", default-features = false, features = [
|
|
"rustls-tls",
|
|
"charset",
|
|
"http2",
|
|
"macos-system-configuration",
|
|
"stream",
|
|
"json",
|
|
"blocking",
|
|
] }
|
|
rfd = { version = "0.15.3", default-features = false, features = [
|
|
"xdg-portal",
|
|
"tokio",
|
|
] }
|
|
rmp = "0.8.14"
|
|
rmp-serde = "1.3.0"
|
|
rumqttc = { version = "0.24" }
|
|
rust-embed = "8.7.0"
|
|
rustls = { version = "0.23.26" }
|
|
rustls-pki-types = "1.11.0"
|
|
rustls-pemfile = "2.2.0"
|
|
s3s = { git = "https://github.com/Nugine/s3s.git", rev = "4733cdfb27b2713e832967232cbff413bb768c10" }
|
|
s3s-policy = { git = "https://github.com/Nugine/s3s.git", rev = "4733cdfb27b2713e832967232cbff413bb768c10" }
|
|
shadow-rs = { version = "1.1.1", default-features = false }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
serde_json = "1.0.140"
|
|
serde_urlencoded = "0.7.1"
|
|
serde_with = "3.12.0"
|
|
sha2 = "0.10.8"
|
|
smallvec = { version = "1.15.0", features = ["serde"] }
|
|
snafu = "0.8.5"
|
|
strum = { version = "0.27.1", features = ["derive"] }
|
|
sysinfo = "0.34.2"
|
|
tempfile = "3.19.1"
|
|
test-case = "3.3.1"
|
|
thiserror = "2.0.12"
|
|
time = { version = "0.3.41", features = [
|
|
"std",
|
|
"parsing",
|
|
"formatting",
|
|
"macros",
|
|
"serde",
|
|
] }
|
|
tokio = { version = "1.44.2", features = ["fs", "rt-multi-thread"] }
|
|
tonic = { version = "0.13.0", features = ["gzip"] }
|
|
tonic-build = "0.13.0"
|
|
tokio-rustls = { version = "0.26.2", default-features = false }
|
|
tokio-stream = "0.1.17"
|
|
tokio-util = { version = "0.7.14", features = ["io", "compat"] }
|
|
tower = { version = "0.5.2", features = ["timeout"] }
|
|
tower-http = { version = "0.6.2", features = ["cors"] }
|
|
tracing = "0.1.41"
|
|
tracing-core = "0.1.33"
|
|
tracing-error = "0.2.1"
|
|
tracing-subscriber = { version = "0.3.19", features = ["env-filter", "time"] }
|
|
tracing-appender = "0.2.3"
|
|
tracing-opentelemetry = "0.30.0"
|
|
transform-stream = "0.3.1"
|
|
url = "2.5.4"
|
|
uuid = { version = "1.16.0", features = [
|
|
"v4",
|
|
"fast-rng",
|
|
"macro-diagnostics",
|
|
] }
|
|
|
|
|
|
[profile.wasm-dev]
|
|
inherits = "dev"
|
|
opt-level = 1
|
|
|
|
[profile.server-dev]
|
|
inherits = "dev"
|
|
|
|
[profile.android-dev]
|
|
inherits = "dev"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
panic = "abort" # Optional, remove the panic expansion code
|
|
strip = true # strip symbol information to reduce binary size
|
|
|
|
[profile.production]
|
|
inherits = "release"
|
|
lto = "fat"
|
|
codegen-units = 1
|