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>",
15 repository = "https://git.proxmox.com/?p=proxmox-backup.git"
18 name = "proxmox-backup"
19 description = "Proxmox Backup"
20 homepage = "https://www.proxmox.com"
22 version.workspace = true
23 edition.workspace = true
24 license.workspace = true
25 repository.workspace = true
27 exclude = [ "build", "debian", "tests/catar_data/test_symlink/symlink1"]
41 "proxmox-backup-banner",
42 "proxmox-backup-client",
43 "proxmox-file-restore",
44 "proxmox-restore-daemon",
51 name = "proxmox_backup"
54 [workspace.dependencies]
58 proxmox-compression = "0.1.1"
59 proxmox-fuse = "0.1.3"
60 proxmox-http = { version = "0.7", features = [ "client", "http-helpers", "websocket" ] } # see below
61 proxmox-io = "1.0.1" # tools and client use "tokio" feature
63 proxmox-metrics = "0.2"
64 proxmox-rest-server = "0.2"
65 # some use "cli", some use "cli" and "server", pbs-config uses nothing
66 proxmox-router = { version = "1.3.0", default_features = false }
67 # everything but pbs-config and pbs-client ues "api-macro"
68 proxmox-schema = "1.3.1"
69 proxmox-section-config = "1"
70 proxmox-serde = "0.1.1"
71 proxmox-shared-memory = "0.2"
72 proxmox-subscription = { version = "0.3", features = [ "api-types" ] }
74 proxmox-tfa = { version = "2.1", features = [ "api", "api-types" ] }
75 proxmox-time = "1.1.2"
78 # other proxmox crates
79 pathpatterns = "0.1.2"
80 proxmox-acme-rs = "0.4"
82 proxmox-openid = "0.9.0"
86 pbs-api-types = { path = "pbs-api-types" }
87 pbs-buildcfg = { path = "pbs-buildcfg" }
88 pbs-client = { path = "pbs-client" }
89 pbs-config = { path = "pbs-config" }
90 pbs-datastore = { path = "pbs-datastore" }
91 pbs-fuse-loop = { path = "pbs-fuse-loop" }
92 pbs-pxar-fuse = { path = "pbs-pxar-fuse" }
93 pbs-tape = { path = "pbs-tape" }
94 pbs-tools = { path = "pbs-tools" }
95 proxmox-rrd = { path = "proxmox-rrd" }
99 apt-pkg-native = "0.3.2"
105 crossbeam-channel = "0.5"
106 endian_trait = { version = "0.6", features = ["arrays"] }
109 h2 = { version = "0.3", features = [ "stream" ] }
113 hyper = { version = "0.14", features = [ "full" ] }
124 percent-encoding = "2.1"
127 serde = { version = "1.0", features = ["derive"] }
134 tokio-openssl = "0.6.1"
135 tokio-stream = "0.1.0"
136 tokio-util = { version = "0.7", features = [ "io" ] }
137 tower-service = "0.3.0"
142 zstd = { version = "0.6", features = [ "bindgen" ] }
145 anyhow.workspace = true
146 apt-pkg-native.workspace = true
147 base64.workspace = true
148 bitflags.workspace = true
149 bytes.workspace = true
150 cidr.workspace = true
151 crc32fast.workspace = true
152 crossbeam-channel.workspace = true
153 endian_trait.workspace = true
154 flate2.workspace = true
155 thiserror.workspace = true
156 futures.workspace = true
158 handlebars.workspace = true
160 http.workspace = true
161 hyper.workspace = true
162 lazy_static.workspace = true
163 libc.workspace = true
167 num-traits.workspace = true
168 once_cell.workspace = true
169 openssl.workspace = true
171 pam-sys.workspace = true
172 percent-encoding.workspace = true
173 regex.workspace = true
174 rustyline.workspace = true
175 serde.workspace = true
176 serde_json.workspace = true
177 siphasher.workspace = true
178 syslog.workspace = true
179 termcolor.workspace = true
180 tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] }
181 tokio-openssl.workspace = true
182 tokio-stream.workspace = true
183 tokio-util = { workspace = true, features = [ "codec" ] }
184 tower-service.workspace = true
185 udev.workspace = true
187 walkdir.workspace = true
189 zstd.workspace = true
191 #valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
194 proxmox-async.workspace = true
195 proxmox-compression.workspace = true
196 proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async" ] } # pbs-client doesn't use these
197 proxmox-io.workspace = true
198 proxmox-lang.workspace = true
199 proxmox-metrics.workspace = true
200 proxmox-rest-server.workspace = true
201 proxmox-router = { workspace = true, features = [ "cli", "server"] }
202 proxmox-schema = { workspace = true, features = [ "api-macro" ] }
203 proxmox-section-config.workspace = true
204 proxmox-serde = { workspace = true, features = [ "serde_json" ] }
205 proxmox-shared-memory.workspace = true
206 proxmox-subscription.workspace = true
207 proxmox-sys = { workspace = true, features = [ "sortable-macro", "timer" ] }
208 proxmox-tfa.workspace = true
209 proxmox-time.workspace = true
210 proxmox-uuid.workspace = true
212 pathpatterns.workspace = true
213 proxmox-acme-rs.workspace = true
214 proxmox-apt.workspace = true
215 proxmox-openid.workspace = true
216 pxar.workspace = true
218 pbs-api-types.workspace = true
219 pbs-buildcfg.workspace = true
220 pbs-client.workspace = true
221 pbs-config.workspace = true
222 pbs-datastore.workspace = true
223 proxmox-rrd.workspace = true
224 pbs-tools.workspace = true
225 pbs-tape.workspace = true
227 # Local path overrides
228 # NOTE: You must run `cargo update` after changing this for it to take effect!
230 #proxmox-acme-rs = { path = "../proxmox-acme-rs" }
231 #proxmox-apt = { path = "../proxmox-apt" }
232 #proxmox-async = { path = "../proxmox/proxmox-async" }
233 #proxmox-compression = { path = "../proxmox/proxmox-compression" }
234 #proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
235 #proxmox-fuse = { path = "../proxmox-fuse" }
236 #proxmox-http = { path = "../proxmox/proxmox-http" }
237 #proxmox-io = { path = "../proxmox/proxmox-io" }
238 #proxmox-lang = { path = "../proxmox/proxmox-lang" }
239 #proxmox-openid = { path = "../proxmox-openid-rs" }
240 #proxmox-router = { path = "../proxmox/proxmox-rest-server" }
241 #proxmox-router = { path = "../proxmox/proxmox-router" }
242 #proxmox-schema = { path = "../proxmox/proxmox-schema" }
243 #proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
244 #proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" }
245 #proxmox-sys = { path = "../proxmox/proxmox-sys" }
246 #proxmox-serde = { path = "../proxmox/proxmox-serde" }
247 #proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
248 #proxmox-time = { path = "../proxmox/proxmox-time" }
249 #proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
250 #pxar = { path = "../pxar" }
254 #valgrind = ["valgrind_request"]