]> git.proxmox.com Git - proxmox-backup.git/blob - Cargo.toml
c531607f01f229d3b489985ef7982afccd3829ba
[proxmox-backup.git] / Cargo.toml
1 [workspace.package]
2 version = "3.2.7"
3 authors = [
4 "Dietmar Maurer <dietmar@proxmox.com>",
5 "Dominik Csapak <d.csapak@proxmox.com>",
6 "Christian Ebner <c.ebner@proxmox.com>",
7 "Fabian Grünbichler <f.gruenbichler@proxmox.com>",
8 "Stefan Reiter <s.reiter@proxmox.com>",
9 "Thomas Lamprecht <t.lamprecht@proxmox.com>",
10 "Wolfgang Bumiller <w.bumiller@proxmox.com>",
11 "Proxmox Support Team <support@proxmox.com>",
12 ]
13 edition = "2021"
14 license = "AGPL-3"
15 repository = "https://git.proxmox.com/?p=proxmox-backup.git"
16 rust-version = "1.80"
17
18 [package]
19 name = "proxmox-backup"
20 description = "Proxmox Backup"
21 homepage = "https://www.proxmox.com"
22
23 version.workspace = true
24 edition.workspace = true
25 license.workspace = true
26 repository.workspace = true
27
28 exclude = [ "build", "debian", "tests/catar_data/test_symlink/symlink1"]
29
30 [workspace]
31 members = [
32 "pbs-api-types",
33 "pbs-buildcfg",
34 "pbs-client",
35 "pbs-config",
36 "pbs-datastore",
37 "pbs-fuse-loop",
38 "pbs-key-config",
39 "pbs-pxar-fuse",
40 "pbs-tape",
41 "pbs-tools",
42
43 "proxmox-backup-banner",
44 "proxmox-backup-client",
45 "proxmox-file-restore",
46 "proxmox-restore-daemon",
47
48 "pxar-bin",
49 ]
50
51 [lib]
52 name = "proxmox_backup"
53 path = "src/lib.rs"
54
55 [workspace.dependencies]
56 # proxmox workspace
57 proxmox-apt = { version = "0.11", features = [ "cache" ] }
58 proxmox-apt-api-types = "1.0.1"
59 proxmox-async = "0.4"
60 proxmox-auth-api = "0.4"
61 proxmox-borrow = "1"
62 proxmox-compression = "0.2"
63 proxmox-config-digest = "0.1.0"
64 proxmox-daemon = "0.1.0"
65 proxmox-fuse = "0.1.3"
66 proxmox-http = { version = "0.9.0", features = [ "client", "http-helpers", "websocket" ] } # see below
67 proxmox-human-byte = "0.1"
68 proxmox-io = "1.0.1" # tools and client use "tokio" feature
69 proxmox-lang = "1.1"
70 proxmox-log = "0.2.4"
71 proxmox-ldap = "0.2.1"
72 proxmox-metrics = "0.3.1"
73 proxmox-notify = "0.4"
74 proxmox-openid = "0.10.0"
75 proxmox-rest-server = { version = "0.8", features = [ "templates" ] }
76 # some use "cli", some use "cli" and "server", pbs-config uses nothing
77 proxmox-router = { version = "3.0.0", default-features = false }
78 proxmox-rrd = "0.4"
79 proxmox-rrd-api-types = "1.0.2"
80 # everything but pbs-config and pbs-client use "api-macro"
81 proxmox-schema = "3"
82 proxmox-section-config = "2"
83 proxmox-serde = "0.1.1"
84 proxmox-shared-cache = "0.1"
85 proxmox-shared-memory = "0.3.0"
86 proxmox-sortable-macro = "0.1.2"
87 proxmox-subscription = { version = "0.4.2", features = [ "api-types" ] }
88 proxmox-sys = "0.6"
89 proxmox-systemd = "0.1"
90 proxmox-tfa = { version = "5", features = [ "api", "api-types" ] }
91 proxmox-time = "2"
92 proxmox-uuid = "1"
93 proxmox-worker-task = "0.1"
94
95 # other proxmox crates
96 pathpatterns = "0.3"
97 proxmox-acme = "0.5.3"
98 pxar = "0.12"
99
100 # PBS workspace
101 pbs-api-types = { path = "pbs-api-types" }
102 pbs-buildcfg = { path = "pbs-buildcfg" }
103 pbs-client = { path = "pbs-client" }
104 pbs-config = { path = "pbs-config" }
105 pbs-datastore = { path = "pbs-datastore" }
106 pbs-fuse-loop = { path = "pbs-fuse-loop" }
107 pbs-key-config = { path = "pbs-key-config" }
108 pbs-pxar-fuse = { path = "pbs-pxar-fuse" }
109 pbs-tape = { path = "pbs-tape" }
110 pbs-tools = { path = "pbs-tools" }
111
112 # regular crates
113 anyhow = "1.0"
114 async-trait = "0.1.56"
115 apt-pkg-native = "0.3.2"
116 base64 = "0.13"
117 bitflags = "2.4"
118 bytes = "1.0"
119 cidr = "0.2.1"
120 crc32fast = "1"
121 const_format = "0.2"
122 crossbeam-channel = "0.5"
123 endian_trait = { version = "0.6", features = ["arrays"] }
124 env_logger = "0.10"
125 flate2 = "1.0"
126 foreign-types = "0.3"
127 futures = "0.3"
128 h2 = { version = "0.4", features = [ "stream" ] }
129 handlebars = "3.0"
130 hex = "0.4.3"
131 http = "0.2"
132 hyper = { version = "0.14", features = [ "full" ] }
133 libc = "0.2"
134 log = "0.4.17"
135 nix = "0.26.1"
136 nom = "7"
137 num-traits = "0.2"
138 once_cell = "1.3.1"
139 openssl = "0.10.40"
140 percent-encoding = "2.1"
141 pin-project-lite = "0.2"
142 regex = "1.5.5"
143 rustyline = "9"
144 serde = { version = "1.0", features = ["derive"] }
145 serde_json = "1.0"
146 serde_plain = "1"
147 siphasher = "0.3"
148 syslog = "6"
149 tar = "0.4"
150 termcolor = "1.1.2"
151 thiserror = "1.0"
152 tokio = "1.6"
153 tokio-openssl = "0.6.1"
154 tokio-stream = "0.1.0"
155 tokio-util = { version = "0.7", features = [ "io" ] }
156 tracing = "0.1"
157 tower-service = "0.3.0"
158 udev = "0.4"
159 url = "2.1"
160 walkdir = "2"
161 xdg = "2.2"
162 zstd = { version = "0.12", features = [ "bindgen" ] }
163 zstd-safe = "6.0"
164
165 [dependencies]
166 anyhow.workspace = true
167 async-trait.workspace = true
168 base64.workspace = true
169 bytes.workspace = true
170 cidr.workspace = true
171 const_format.workspace = true
172 crc32fast.workspace = true
173 crossbeam-channel.workspace = true
174 endian_trait.workspace = true
175 futures.workspace = true
176 h2.workspace = true
177 hex.workspace = true
178 http.workspace = true
179 hyper.workspace = true
180 libc.workspace = true
181 log.workspace = true
182 nix.workspace = true
183 nom.workspace = true
184 num-traits.workspace = true
185 once_cell.workspace = true
186 openssl.workspace = true
187 percent-encoding.workspace = true
188 regex.workspace = true
189 rustyline.workspace = true
190 serde.workspace = true
191 serde_json.workspace = true
192 syslog.workspace = true
193 termcolor.workspace = true
194 thiserror.workspace = true
195 tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
196 tokio-openssl.workspace = true
197 tokio-stream.workspace = true
198 tokio-util = { workspace = true, features = [ "codec" ] }
199 tracing.workspace = true
200 udev.workspace = true
201 url.workspace = true
202 walkdir.workspace = true
203 zstd.workspace = true
204
205 #valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
206
207 # proxmox workspace
208 proxmox-apt.workspace = true
209 proxmox-apt-api-types.workspace = true
210 proxmox-async.workspace = true
211 proxmox-auth-api = { workspace = true, features = [ "api", "pam-authenticator" ] }
212 proxmox-compression.workspace = true
213 proxmox-config-digest.workspace = true
214 proxmox-daemon.workspace = true
215 proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async", "rate-limited-stream" ] } # pbs-client doesn't use these
216 proxmox-human-byte.workspace = true
217 proxmox-io.workspace = true
218 proxmox-lang.workspace = true
219 proxmox-log.workspace = true
220 proxmox-ldap.workspace = true
221 proxmox-metrics.workspace = true
222 proxmox-notify = { workspace = true, features = [ "pbs-context" ] }
223 proxmox-openid.workspace = true
224 proxmox-rest-server = { workspace = true, features = [ "rate-limited-stream" ] }
225 proxmox-router = { workspace = true, features = [ "cli", "server"] }
226 proxmox-schema = { workspace = true, features = [ "api-macro" ] }
227 proxmox-section-config.workspace = true
228 proxmox-serde = { workspace = true, features = [ "serde_json" ] }
229 proxmox-shared-cache.workspace = true
230 proxmox-shared-memory.workspace = true
231 proxmox-sortable-macro.workspace = true
232 proxmox-subscription.workspace = true
233 proxmox-sys = { workspace = true, features = [ "timer" ] }
234 proxmox-systemd.workspace = true
235 proxmox-tfa.workspace = true
236 proxmox-time.workspace = true
237 proxmox-uuid.workspace = true
238 proxmox-worker-task.workspace = true
239
240 # in their respective repo
241 proxmox-acme.workspace = true
242 pxar.workspace = true
243
244 # proxmox-backup workspace/internal crates
245 pbs-api-types.workspace = true
246 pbs-buildcfg.workspace = true
247 pbs-client.workspace = true
248 pbs-config.workspace = true
249 pbs-datastore.workspace = true
250 pbs-key-config.workspace = true
251 pbs-tape.workspace = true
252 pbs-tools.workspace = true
253 proxmox-rrd.workspace = true
254 proxmox-rrd-api-types.workspace = true
255
256 # Local path overrides
257 # NOTE: You must run `cargo update` after changing this for it to take effect!
258 [patch.crates-io]
259
260 #proxmox-apt = { path = "../proxmox/proxmox-apt" }
261 #proxmox-apt-api-types = { path = "../proxmox/proxmox-apt-api-types" }
262 #proxmox-async = { path = "../proxmox/proxmox-async" }
263 #proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" }
264 #proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
265 #proxmox-compression = { path = "../proxmox/proxmox-compression" }
266 #proxmox-config-digest = { path = "../proxmox/proxmox-config-digest" }
267 #proxmox-daemon = { path = "../proxmox/proxmox-daemon" }
268 #proxmox-fuse = { path = "../proxmox-fuse" }
269 #proxmox-http = { path = "../proxmox/proxmox-http" }
270 #proxmox-human-byte = { path = "../proxmox/proxmox-human-byte" }
271 #proxmox-io = { path = "../proxmox/proxmox-io" }
272 #proxmox-lang = { path = "../proxmox/proxmox-lang" }
273 #proxmox-log = { path = "../proxmox/proxmox-log" }
274 #proxmox-ldap = { path = "../proxmox/proxmox-ldap" }
275 #proxmox-metrics = { path = "../proxmox/proxmox-metrics" }
276 #proxmox-notify = { path = "../proxmox/proxmox-notify" }
277 #proxmox-openid = { path = "../proxmox/proxmox-openid" }
278 #proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" }
279 #proxmox-router = { path = "../proxmox/proxmox-router" }
280 #proxmox-rrd = { path = "../proxmox/proxmox-rrd" }
281 #proxmox-rrd-api-types = { path = "../proxmox/proxmox-rrd-api-types" }
282 #proxmox-schema = { path = "../proxmox/proxmox-schema" }
283 #proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
284 #proxmox-serde = { path = "../proxmox/proxmox-serde" }
285 #proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" }
286 #proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" }
287 #proxmox-subscription = { path = "../proxmox/proxmox-subscription" }
288 #proxmox-sys = { path = "../proxmox/proxmox-sys" }
289 #proxmox-systemd = { path = "../proxmox/proxmox-systemd" }
290 #proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
291 #proxmox-time = { path = "../proxmox/proxmox-time" }
292 #proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
293 #proxmox-worker-task = { path = "../proxmox/proxmox-worker-task" }
294
295 #proxmox-acme = { path = "../proxmox/proxmox-acme" }
296 #pathpatterns = {path = "../pathpatterns" }
297 #pxar = { path = "../pxar" }
298
299 [features]
300 default = []
301 #valgrind = ["valgrind_request"]