[package]
edition = "2021"
rust-version = "1.85"
name = "loonfs-server"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The reference LoonFS HTTP server."
readme = false
license = "Apache-2.0"
repository = "https://github.com/loonfs/loonfs"
[features]
openapi = [
"dep:utoipa",
"loonfs-api/openapi",
]
[lib]
name = "loonfs_server"
path = "src/lib.rs"
[[bin]]
name = "loonfs-openapi"
path = "src/bin/loonfs-openapi.rs"
required-features = ["openapi"]
[[bin]]
name = "loonfs-server"
path = "src/main.rs"
[[test]]
name = "it"
path = "tests/it/main.rs"
[dependencies.axum]
version = "0.8"
[dependencies.bytes]
version = "1"
[dependencies.clap]
version = "4.5"
features = [
"derive",
"env",
]
[dependencies.futures]
version = "0.3"
[dependencies.http]
version = "1"
[dependencies.loonfs]
version = "0.2.0"
[dependencies.loonfs-api]
version = "0.2.0"
[dependencies.loonfs-grep]
version = "0.2.0"
[dependencies.loonfs-objectstore]
version = "0.2.0"
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
"logging",
]
default-features = false
[dependencies.rustls-pemfile]
version = "2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"fs",
"io-util",
"macros",
"net",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"tls12",
"logging",
]
default-features = false
[dependencies.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.utoipa]
version = "5.5"
features = ["macros"]
optional = true
[dev-dependencies.async-trait]
version = "0.1"
[dev-dependencies.loonfs-client]
version = "0.2.0"
[dev-dependencies.rcgen]
version = "0.14"
features = [
"crypto",
"ring",
"pem",
]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tower]
version = "0.5"
features = ["util"]
[dev-dependencies.ureq]
version = "2.10"
features = ["json"]
[lints.clippy]
dbg_macro = "warn"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
panic = "warn"
print_stderr = "warn"
print_stdout = "warn"
todo = "warn"
unimplemented = "warn"
unwrap_used = "warn"
[lints.rust]
unreachable_pub = "warn"
unsafe_code = "forbid"