[package] name = "rfs" version = "0.2.0" edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [build-dependencies] git-version = "0.3.5" [[bin]] name = "rfs" path = "src/main.rs" required-features = ["build-binary"] [features] build-binary = [ "dep:polyfuse", "dep:simple_logger", "dep:daemonize", "dep:clap", "parallel-download" ] parallel-download = [] [lib] name = "rfs" path = "src/lib.rs" [dependencies] anyhow = "1.0.44" time = "0.3" sqlx = { version = "0.7.4", features = [ "runtime-tokio-rustls", "sqlite" ] } tokio = { version = "1", features = ["full"] } libc = "0.2" futures = "0.3" thiserror = "1.0" bytes = "1.1.0" log = "0.4" lru = "0.7.0" snap = "1.0.5" bb8-redis = "0.13" async-trait = "0.1.53" url = "2.3.1" blake2b_simd = "1" aes-gcm = "0.10" hex = "0.4" rand = "0.8" # next are only needed for the binarys clap = { version = "4.2", features = ["derive"], optional = true} simple_logger = {version = "1.0.1", optional = true} daemonize = { version = "0.5", optional = true } tempfile = { version = "3.3.0"} workers = { git="https://github.com/threefoldtech/tokio-worker-pool.git" } rust-s3 = "0.34.0-rc3" openssl = { version = "0.10", features = ["vendored"] } regex = "1.9.6" which = "6.0" reqwest = { version = "0.11", features = ["json"] } nix = "0.23.0" # Docker functionality dependencies bollard = "0.15.0" sha2 = "0.10" futures-util = "0.3" uuid = { version = "1.3.1", features = ["v4"] } tempdir = "0.3" serde_json = "1.0" toml = "0.4.2" serde = { version = "1.0.159" , features = ["derive"] } tokio-async-drop = "0.1.0" walkdir = "2.5.0" axum = "0.7" axum-macros = "0.4.1" tower = { version = "0.4", features = ["util", "timeout", "load-shed", "limit"] } tower-http = { version = "0.5.2", features = ["fs", "cors", "add-extension", "auth", "compression-full", "trace", "limit"] } mime_guess = "2.0.5" mime = "0.3.17" percent-encoding = "2.3.1" tracing = "0.1.40" askama = "0.12.1" hyper = { version = "1.4.0", features = ["full"] } chrono = "0.4.38" jsonwebtoken = "9.3.0" utoipa = { version = "4", features = ["axum_extras"] } utoipa-swagger-ui = { version = "7", features = ["axum"] } hostname-validator = "1.1.1" sha256 = "1.5.0" [dependencies.polyfuse] branch = "master" git = "https://github.com/muhamadazmy/polyfuse" optional = true [dev-dependencies] reqwest = { version = "0.11", features = ["blocking"] } assert_cmd = "2.0" [profile.release] lto = true codegen-units = 1