-
Notifications
You must be signed in to change notification settings - Fork 37
/
Cargo.toml
123 lines (114 loc) · 3.46 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
[package]
name = "bindle"
version = "0.9.2"
authors = [
"Matt Butcher <[email protected]>",
"Taylor Thomas <[email protected]>",
]
edition = "2021"
license-file = "LICENSE.txt"
description = "An aggregate object storage system for applications"
repository = "https://github.com/deislabs/bindle"
readme = "docs/crate-readme.md"
keywords = ["storage", "package"]
exclude = ["docs/*", ".github/*", ".gitignore", "bin/", "test/"]
[badges]
maintenance = { status = "actively-developed" }
[features]
default = ["server", "client", "caching", "test-tools", "native-tls"]
server = ["warp", "openid", "hyper", "mime", "either", "dirs", "_common"]
client = [
"mime_guess",
"dirs",
"time",
"async-compression",
"tokio-tar",
"_common",
]
# Internal use only feature that groups all of the optional deps we need for both server and client
_common = [
"providers",
"tokio/full",
"tokio-util",
"oauth2",
"reqwest",
"tokio-stream/fs",
]
# Activates provider implementations
providers = ["lru", "serde_cbor", "sled"]
caching = ["lru"]
test-tools = []
cli = ["clap", "tracing-subscriber"]
native-tls = ["reqwest?/default-tls", "openid?/native-tls"]
rustls-tls = ["reqwest?/rustls-tls", "openid?/rustls"]
[package.metadata.docs.rs]
all-features = true
[dependencies]
anyhow = "1.0.44"
async-compression = { version = "0.3", default-features = false, features = [
"tokio",
"gzip",
], optional = true }
async-trait = "0.1.51"
base64 = "0.21"
bcrypt = "0.13"
bytes = "1.1.0"
clap = { workspace = true, features = [
"derive",
"env",
"cargo",
], optional = true }
dirs = { version = "4.0.0", optional = true }
ed25519-dalek = { version = "2", features = ["pkcs8", "rand_core"] }
either = { version = "1.6.1", optional = true }
futures = "0.3.17"
hyper = { version = "0.14.12", optional = true }
jsonwebtoken = "9.1"
lru = { version = "0.8", optional = true }
mime = { version = "0.3.16", optional = true }
mime_guess = { version = "2.0.3", optional = true }
oauth2 = { version = "4.4.2", features = ["reqwest"], optional = true }
openid = { version = "0.12", default-features = false, optional = true }
rand = "0.8"
reqwest = { version = "0.11.22", features = [
"stream",
], default-features = false, optional = true }
semver = { version = "1.0.4", features = ["serde"] }
serde = { version = "1.0.130", features = ["derive"] }
serde_cbor = { version = "0.11.2", optional = true }
serde_json = "1.0.68"
sha2 = "0.10"
sled = { version = "0.34.7", optional = true }
tempfile = "3.2.0"
thiserror = "1.0.29"
time = { version = "0.3", features = ["serde"], optional = true }
tokio = { version = "1.11.0", default-features = false, features = [
"sync",
"io-util",
] }
tokio-stream = { version = "0.1.7" }
tokio-tar = { version = "0.3", optional = true }
tokio-util = { version = "0.7", features = ["io", "codec"], optional = true }
toml = "0.5.8"
tracing = { version = "0.1.27", features = ["log"] }
tracing-futures = "0.2.5"
tracing-subscriber = { version = "0.3.7", features = [
"env-filter",
], optional = true }
url = "2.2.2"
warp = { version = "0.3", features = ["tls"], optional = true }
[target.'cfg(target_family = "windows")'.dependencies]
remove_dir_all = "0.8"
[dev-dependencies]
clap = { workspace = true, features = ["cargo"] }
rstest = "0.15.0"
[workspace.dependencies]
clap = "3"
[[bin]]
name = "bindle-server"
path = "bin/server.rs"
required-features = ["cli"]
[[bin]]
name = "bindle"
path = "bin/client/main.rs"
required-features = ["cli"]