# 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" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true homepage.workspace = true description = "RustFS is a high-performance, distributed file system designed for modern cloud-native applications, providing efficient data storage and retrieval with advanced features like S3 Select, IAM, and policy management." keywords.workspace = true categories.workspace = true documentation = "https://docs.rustfs.com/" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [[bin]] name = "rustfs" path = "src/main.rs" [lints] workspace = true [dependencies] rustfs-ahm = { workspace = true } rustfs-zip = { workspace = true } rustfs-madmin = { workspace = true } rustfs-s3select-api = { workspace = true } rustfs-appauth = { workspace = true } rustfs-ecstore = { workspace = true } rustfs-policy = { workspace = true } rustfs-common = { workspace = true } rustfs-iam = { workspace = true } rustfs-filemeta.workspace = true rustfs-rio.workspace = true rustfs-config = { workspace = true, features = ["constants", "notify"] } rustfs-notify = { workspace = true } rustfs-obs = { workspace = true } rustfs-utils = { workspace = true, features = ["full"] } rustfs-protos.workspace = true rustfs-s3select-query = { workspace = true } atoi = { workspace = true } atomic_enum = { workspace = true } axum.workspace = true async-trait = { workspace = true } bytes = { workspace = true } chrono = { workspace = true } clap = { workspace = true } datafusion = { workspace = true } const-str = { workspace = true } futures.workspace = true hyper.workspace = true hyper-util.workspace = true http.workspace = true http-body.workspace = true matchit = { workspace = true } mime_guess = { workspace = true } opentelemetry = { workspace = true } percent-encoding = { workspace = true } pin-project-lite.workspace = true reqwest = { workspace = true } rustls.workspace = true rust-embed = { workspace = true, features = ["interpolate-folder-path"] } s3s.workspace = true serde.workspace = true serde_json.workspace = true serde_urlencoded = { workspace = true } shadow-rs = { workspace = true, features = ["build", "metadata"] } socket2 = { workspace = true } thiserror = { workspace = true } tracing.workspace = true time = { workspace = true, features = ["parsing", "formatting", "serde"] } tokio-util.workspace = true tokio = { workspace = true, features = [ "rt-multi-thread", "macros", "net", "signal", ] } tokio-stream.workspace = true tokio-rustls = { workspace = true, features = ["default"] } tokio-tar = { workspace = true } tonic = { workspace = true } tower.workspace = true tower-http = { workspace = true, features = [ "trace", "compression-deflate", "compression-gzip", "cors", "catch-panic", ] } urlencoding = { workspace = true } uuid = { workspace = true } zip = { workspace = true } [target.'cfg(any(target_os = "macos", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd"))'.dependencies] sysctl = { workspace = true } [target.'cfg(target_os = "linux")'.dependencies] libsystemd.workspace = true [target.'cfg(all(target_os = "linux", target_env = "gnu"))'.dependencies] tikv-jemallocator = "0.6" [build-dependencies] http.workspace = true futures.workspace = true s3s = { workspace = true } clap = { workspace = true } hyper-util = { workspace = true, features = [ "tokio", "server-auto", "server-graceful", ] } shadow-rs = { workspace = true, features = ["build"] }