[package]
edition = "2021"
name = "dragonfly-client"
version = "1.2.9"
authors = ["The Dragonfly Developers"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Dragonfly client written in Rust"
homepage = "https://d7y.io/"
readme = "README.md"
keywords = [
"dragonfly",
"dragonfly-client",
"p2p",
"container",
"docker-image",
]
license = "Apache-2.0"
repository = "https://github.com/dragonflyoss/client.git"
[package.metadata.deb.variants.aarch64-unknown-linux-gnu]
assets = [
[
"../target/aarch64-unknown-linux-gnu/release/dfget",
"usr/bin/dfget",
"755",
],
[
"../target/aarch64-unknown-linux-gnu/release/dfdaemon",
"usr/bin/dfdaemon",
"755",
],
[
"../target/aarch64-unknown-linux-gnu/release/dfcache",
"usr/bin/dfcache",
"755",
],
[
"../target/aarch64-unknown-linux-gnu/release/dfstore",
"usr/bin/dfstore",
"755",
],
[
"../ci/dfdaemon.service",
"lib/systemd/system/dfdaemon.service",
"644",
],
[
"../CONTRIBUTING.md",
"usr/share/doc/client/CONTRIBUTING.md",
"644",
],
[
"../LICENSE",
"usr/share/doc/client/LICENSE",
"644",
],
[
"../README.md",
"usr/share/doc/client/README.md",
"644",
],
]
maintainer = "Dragonfly <dragonfly-maintainers@googlegroups.com>"
priority = "optional"
section = "rust"
[package.metadata.deb.variants.aarch64-unknown-linux-musl]
assets = [
[
"../target/aarch64-unknown-linux-musl/release/dfget",
"usr/bin/dfget",
"755",
],
[
"../target/aarch64-unknown-linux-musl/release/dfdaemon",
"usr/bin/dfdaemon",
"755",
],
[
"../target/aarch64-unknown-linux-musl/release/dfcache",
"usr/bin/dfcache",
"755",
],
[
"../target/aarch64-unknown-linux-musl/release/dfstore",
"usr/bin/dfstore",
"755",
],
[
"../ci/dfdaemon.service",
"lib/systemd/system/dfdaemon.service",
"644",
],
[
"../CONTRIBUTING.md",
"usr/share/doc/client/CONTRIBUTING.md",
"644",
],
[
"../LICENSE",
"usr/share/doc/client/LICENSE",
"644",
],
[
"../README.md",
"usr/share/doc/client/README.md",
"644",
],
]
maintainer = "Dragonfly <dragonfly-maintainers@googlegroups.com>"
priority = "optional"
section = "rust"
[package.metadata.deb.variants.x86_64-unknown-linux-gnu]
assets = [
[
"../target/x86_64-unknown-linux-gnu/release/dfget",
"usr/bin/dfget",
"755",
],
[
"../target/x86_64-unknown-linux-gnu/release/dfdaemon",
"usr/bin/dfdaemon",
"755",
],
[
"../target/x86_64-unknown-linux-gnu/release/dfcache",
"usr/bin/dfcache",
"755",
],
[
"../target/x86_64-unknown-linux-gnu/release/dfstore",
"usr/bin/dfstore",
"755",
],
[
"../ci/dfdaemon.service",
"lib/systemd/system/dfdaemon.service",
"644",
],
[
"../CONTRIBUTING.md",
"usr/share/doc/client/CONTRIBUTING.md",
"644",
],
[
"../LICENSE",
"usr/share/doc/client/LICENSE",
"644",
],
[
"../README.md",
"usr/share/doc/client/README.md",
"644",
],
]
maintainer = "Dragonfly <dragonfly-maintainers@googlegroups.com>"
priority = "optional"
section = "rust"
[package.metadata.deb.variants.x86_64-unknown-linux-musl]
assets = [
[
"../target/x86_64-unknown-linux-musl/release/dfget",
"usr/bin/dfget",
"755",
],
[
"../target/x86_64-unknown-linux-musl/release/dfdaemon",
"usr/bin/dfdaemon",
"755",
],
[
"../target/x86_64-unknown-linux-musl/release/dfcache",
"usr/bin/dfcache",
"755",
],
[
"../target/x86_64-unknown-linux-musl/release/dfstore",
"usr/bin/dfstore",
"755",
],
[
"../ci/dfdaemon.service",
"lib/systemd/system/dfdaemon.service",
"644",
],
[
"../CONTRIBUTING.md",
"usr/share/doc/client/CONTRIBUTING.md",
"644",
],
[
"../LICENSE",
"usr/share/doc/client/LICENSE",
"644",
],
[
"../README.md",
"usr/share/doc/client/README.md",
"644",
],
]
maintainer = "Dragonfly <dragonfly-maintainers@googlegroups.com>"
priority = "optional"
section = "rust"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfget"
mode = "755"
source = "../target/aarch64-unknown-linux-gnu/release/dfget"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfdaemon"
mode = "755"
source = "../target/aarch64-unknown-linux-gnu/release/dfdaemon"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfcache"
mode = "755"
source = "../target/aarch64-unknown-linux-gnu/release/dfcache"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfstore"
mode = "755"
source = "../target/aarch64-unknown-linux-gnu/release/dfstore"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
config = true
dest = "/lib/systemd/system/dfdaemon.service"
mode = "644"
source = "../ci/dfdaemon.service"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
dest = "/usr/share/doc/client/CONTRIBUTING.md"
doc = true
mode = "644"
source = "../CONTRIBUTING.md"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
dest = "/usr/share/doc/client/LICENSE.md"
doc = true
mode = "644"
source = "../LICENSE"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-gnu.assets]]
dest = "/usr/share/doc/client/README.md"
doc = true
mode = "644"
source = "../README.md"
[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl]
auto-req = "no"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfget"
mode = "755"
source = "../target/aarch64-unknown-linux-musl/release/dfget"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfdaemon"
mode = "755"
source = "../target/aarch64-unknown-linux-musl/release/dfdaemon"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfcache"
mode = "755"
source = "../target/aarch64-unknown-linux-musl/release/dfcache"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfstore"
mode = "755"
source = "../target/aarch64-unknown-linux-musl/release/dfstore"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
config = true
dest = "/lib/systemd/system/dfdaemon.service"
mode = "644"
source = "../ci/dfdaemon.service"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
dest = "/usr/share/doc/client/CONTRIBUTING.md"
doc = true
mode = "644"
source = "../CONTRIBUTING.md"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
dest = "/usr/share/doc/client/LICENSE.md"
doc = true
mode = "644"
source = "../LICENSE"
[[package.metadata.generate-rpm.variants.aarch64-unknown-linux-musl.assets]]
dest = "/usr/share/doc/client/README.md"
doc = true
mode = "644"
source = "../README.md"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfget"
mode = "755"
source = "../target/x86_64-unknown-linux-gnu/release/dfget"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfdaemon"
mode = "755"
source = "../target/x86_64-unknown-linux-gnu/release/dfdaemon"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfcache"
mode = "755"
source = "../target/x86_64-unknown-linux-gnu/release/dfcache"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
dest = "/usr/bin/dfstore"
mode = "755"
source = "../target/x86_64-unknown-linux-gnu/release/dfstore"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
config = true
dest = "/lib/systemd/system/dfdaemon.service"
mode = "644"
source = "../ci/dfdaemon.service"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
dest = "/usr/share/doc/client/CONTRIBUTING.md"
doc = true
mode = "644"
source = "../CONTRIBUTING.md"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
dest = "/usr/share/doc/client/LICENSE.md"
doc = true
mode = "644"
source = "../LICENSE"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-gnu.assets]]
dest = "/usr/share/doc/client/README.md"
doc = true
mode = "644"
source = "../README.md"
[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl]
auto-req = "no"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfget"
mode = "755"
source = "../target/x86_64-unknown-linux-musl/release/dfget"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfdaemon"
mode = "755"
source = "../target/x86_64-unknown-linux-musl/release/dfdaemon"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfcache"
mode = "755"
source = "../target/x86_64-unknown-linux-musl/release/dfcache"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
dest = "/usr/bin/dfstore"
mode = "755"
source = "../target/x86_64-unknown-linux-musl/release/dfstore"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
config = true
dest = "/lib/systemd/system/dfdaemon.service"
mode = "644"
source = "../ci/dfdaemon.service"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
dest = "/usr/share/doc/client/CONTRIBUTING.md"
doc = true
mode = "644"
source = "../CONTRIBUTING.md"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
dest = "/usr/share/doc/client/LICENSE.md"
doc = true
mode = "644"
source = "../LICENSE"
[[package.metadata.generate-rpm.variants.x86_64-unknown-linux-musl.assets]]
dest = "/usr/share/doc/client/README.md"
doc = true
mode = "644"
source = "../README.md"
[lib]
name = "dragonfly_client"
path = "src/lib.rs"
[[bin]]
name = "dfcache"
path = "src/bin/dfcache/main.rs"
[[bin]]
name = "dfdaemon"
path = "src/bin/dfdaemon/main.rs"
[[bin]]
name = "dfget"
path = "src/bin/dfget/main.rs"
[[bin]]
name = "dfstore"
path = "src/bin/dfstore/main.rs"
[dependencies.anyhow]
version = "1.0.99"
[dependencies.bytes]
version = "1.11"
[dependencies.bytesize]
version = "1.3.3"
features = ["serde"]
[dependencies.chrono]
version = "0.4.42"
features = [
"serde",
"clock",
]
[dependencies.clap]
version = "4.5.53"
features = ["derive"]
[dependencies.console-subscriber]
version = "0.4.1"
[dependencies.dashmap]
version = "6.1.0"
[dependencies.dragonfly-api]
version = "=2.2.11"
[dependencies.dragonfly-client-backend]
version = "1.2.9"
[dependencies.dragonfly-client-config]
version = "1.2.9"
[dependencies.dragonfly-client-core]
version = "1.2.9"
[dependencies.dragonfly-client-metric]
version = "1.2.9"
[dependencies.dragonfly-client-storage]
version = "1.2.9"
[dependencies.dragonfly-client-util]
version = "1.2.9"
[dependencies.fastrand]
version = "2.3.0"
[dependencies.fs2]
version = "0.4.3"
[dependencies.futures]
version = "0.3.31"
[dependencies.glob]
version = "0.3.3"
[dependencies.hashring]
version = "0.3.6"
[dependencies.http]
version = "1"
[dependencies.http-body-util]
version = "0.1.3"
[dependencies.humantime]
version = "2.3.0"
[dependencies.hyper]
version = "1.6"
features = ["full"]
[dependencies.hyper-rustls]
version = "0.27.7"
features = [
"http1",
"http2",
"logging",
"ring",
]
default-features = false
[dependencies.hyper-util]
version = "0.1.19"
features = [
"client",
"client-legacy",
"tokio",
"server-auto",
"http1",
"http2",
]
[dependencies.indicatif]
version = "0.18.3"
[dependencies.lazy_static]
version = "1.5"
[dependencies.leaky-bucket]
version = "1.1.2"
[dependencies.local-ip-address]
version = "0.6.5"
[dependencies.opendal]
version = "0.55.0"
features = [
"services-fs",
"services-s3",
"services-azblob",
"services-gcs",
"services-oss",
"services-obs",
"services-cos",
"services-webhdfs",
]
[dependencies.openssl]
version = "0.10"
features = ["vendored"]
[dependencies.opentelemetry]
version = "0.29.1"
features = ["trace"]
default-features = false
[dependencies.opentelemetry-otlp]
version = "0.29.0"
features = [
"trace",
"grpc-tonic",
"http-proto",
"reqwest-blocking-client",
]
default-features = false
[dependencies.opentelemetry-semantic-conventions]
version = "0.31.0"
features = ["semconv_experimental"]
[dependencies.opentelemetry_sdk]
version = "0.29.0"
features = [
"trace",
"rt-tokio",
]
default-features = false
[dependencies.path-absolutize]
version = "3.1.1"
[dependencies.percent-encoding]
version = "2.3.2"
[dependencies.pprof]
version = "0.15"
features = [
"flamegraph",
"protobuf-codec",
]
[dependencies.prometheus]
version = "0.13"
features = ["process"]
[dependencies.prost-wkt-types]
version = "0.6"
[dependencies.rand]
version = "0.9.2"
[dependencies.rcgen]
version = "0.12.1"
features = ["x509-parser"]
[dependencies.reqwest]
version = "0.12.28"
features = [
"stream",
"native-tls",
"default-tls",
"rustls-tls",
"blocking",
"hickory-dns",
]
[dependencies.rolling-file]
version = "0.2.0"
[dependencies.rustls]
version = "0.23.35"
features = [
"tls12",
"ring",
]
default-features = false
[dependencies.rustls-pki-types]
version = "1.13.2"
[dependencies.scopeguard]
version = "1.2.0"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.sysinfo]
version = "0.32.1"
features = [
"component",
"disk",
"network",
"system",
"user",
]
default-features = false
[dependencies.tabled]
version = "0.20.0"
[dependencies.termion]
version = "4.0.6"
[dependencies.tokio]
version = "1.49.0"
features = [
"full",
"tracing",
]
[dependencies.tokio-rustls]
version = "0.26"
features = ["ring"]
default-features = false
[dependencies.tokio-stream]
version = "0.1.18"
[dependencies.tokio-util]
version = "0.7.17"
features = ["full"]
[dependencies.tonic]
version = "0.12.2"
features = ["tls"]
[dependencies.tonic-health]
version = "0.12.3"
[dependencies.tonic-reflection]
version = "0.12.3"
[dependencies.tower]
version = "0.4.13"
features = [
"limit",
"load-shed",
"buffer",
]
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2.4"
[dependencies.tracing-opentelemetry]
version = "0.30.0"
[dependencies.tracing-panic]
version = "0.1.2"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"time",
"chrono",
]
[dependencies.url]
version = "2.5.4"
[dependencies.uuid]
version = "1.19"
features = ["v4"]
[dependencies.vortex-protocol]
version = "0.1.5"
[dependencies.warp]
version = "0.3.5"
[dev-dependencies.mocktail]
version = "0.3.0"
[dev-dependencies.tempfile]
version = "3.23.0"
[target.'cfg(not(target_env = "msvc"))'.dependencies.tikv-jemallocator]
version = "0.5.4"
features = [
"profiling",
"stats",
"unprefixed_malloc_on_supported_platforms",
"background_threads",
]
[target.'cfg(target_os = "linux")'.dependencies.jemalloc_pprof]
version = "0.4.2"