]>
Commit | Line | Data |
---|---|---|
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-memory = "0.3.0" | |
85 | proxmox-sortable-macro = "0.1.2" | |
86 | proxmox-subscription = { version = "0.4.2", features = [ "api-types" ] } | |
87 | proxmox-sys = "0.6" | |
88 | proxmox-systemd = "0.1" | |
89 | proxmox-tfa = { version = "5", features = [ "api", "api-types" ] } | |
90 | proxmox-time = "2" | |
91 | proxmox-uuid = "1" | |
92 | proxmox-worker-task = "0.1" | |
93 | ||
94 | # other proxmox crates | |
95 | pathpatterns = "0.3" | |
96 | proxmox-acme = "0.5" | |
97 | pxar = "0.12" | |
98 | ||
99 | # PBS workspace | |
100 | pbs-api-types = { path = "pbs-api-types" } | |
101 | pbs-buildcfg = { path = "pbs-buildcfg" } | |
102 | pbs-client = { path = "pbs-client" } | |
103 | pbs-config = { path = "pbs-config" } | |
104 | pbs-datastore = { path = "pbs-datastore" } | |
105 | pbs-fuse-loop = { path = "pbs-fuse-loop" } | |
106 | pbs-key-config = { path = "pbs-key-config" } | |
107 | pbs-pxar-fuse = { path = "pbs-pxar-fuse" } | |
108 | pbs-tape = { path = "pbs-tape" } | |
109 | pbs-tools = { path = "pbs-tools" } | |
110 | ||
111 | # regular crates | |
112 | anyhow = "1.0" | |
113 | async-trait = "0.1.56" | |
114 | apt-pkg-native = "0.3.2" | |
115 | base64 = "0.13" | |
116 | bitflags = "2.4" | |
117 | bytes = "1.0" | |
118 | cidr = "0.2.1" | |
119 | crc32fast = "1" | |
120 | const_format = "0.2" | |
121 | crossbeam-channel = "0.5" | |
122 | endian_trait = { version = "0.6", features = ["arrays"] } | |
123 | env_logger = "0.10" | |
124 | flate2 = "1.0" | |
125 | foreign-types = "0.3" | |
126 | futures = "0.3" | |
127 | h2 = { version = "0.4", features = [ "stream" ] } | |
128 | handlebars = "3.0" | |
129 | hex = "0.4.3" | |
130 | http = "0.2" | |
131 | hyper = { version = "0.14", features = [ "full" ] } | |
132 | libc = "0.2" | |
133 | log = "0.4.17" | |
134 | nix = "0.26.1" | |
135 | nom = "7" | |
136 | num-traits = "0.2" | |
137 | once_cell = "1.3.1" | |
138 | openssl = "0.10.40" | |
139 | percent-encoding = "2.1" | |
140 | pin-project-lite = "0.2" | |
141 | regex = "1.5.5" | |
142 | rustyline = "9" | |
143 | serde = { version = "1.0", features = ["derive"] } | |
144 | serde_json = "1.0" | |
145 | serde_plain = "1" | |
146 | siphasher = "0.3" | |
147 | syslog = "6" | |
148 | tar = "0.4" | |
149 | termcolor = "1.1.2" | |
150 | thiserror = "1.0" | |
151 | tokio = "1.6" | |
152 | tokio-openssl = "0.6.1" | |
153 | tokio-stream = "0.1.0" | |
154 | tokio-util = { version = "0.7", features = [ "io" ] } | |
155 | tracing = "0.1" | |
156 | tower-service = "0.3.0" | |
157 | udev = "0.4" | |
158 | url = "2.1" | |
159 | walkdir = "2" | |
160 | xdg = "2.2" | |
161 | zstd = { version = "0.12", features = [ "bindgen" ] } | |
162 | zstd-safe = "6.0" | |
163 | ||
164 | [dependencies] | |
165 | anyhow.workspace = true | |
166 | async-trait.workspace = true | |
167 | base64.workspace = true | |
168 | bytes.workspace = true | |
169 | cidr.workspace = true | |
170 | const_format.workspace = true | |
171 | crc32fast.workspace = true | |
172 | crossbeam-channel.workspace = true | |
173 | endian_trait.workspace = true | |
174 | futures.workspace = true | |
175 | h2.workspace = true | |
176 | hex.workspace = true | |
177 | http.workspace = true | |
178 | hyper.workspace = true | |
179 | libc.workspace = true | |
180 | log.workspace = true | |
181 | nix.workspace = true | |
182 | nom.workspace = true | |
183 | num-traits.workspace = true | |
184 | once_cell.workspace = true | |
185 | openssl.workspace = true | |
186 | percent-encoding.workspace = true | |
187 | regex.workspace = true | |
188 | rustyline.workspace = true | |
189 | serde.workspace = true | |
190 | serde_json.workspace = true | |
191 | syslog.workspace = true | |
192 | termcolor.workspace = true | |
193 | thiserror.workspace = true | |
194 | tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time" ] } | |
195 | tokio-openssl.workspace = true | |
196 | tokio-stream.workspace = true | |
197 | tokio-util = { workspace = true, features = [ "codec" ] } | |
198 | tracing.workspace = true | |
199 | udev.workspace = true | |
200 | url.workspace = true | |
201 | walkdir.workspace = true | |
202 | zstd.workspace = true | |
203 | ||
204 | #valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true } | |
205 | ||
206 | # proxmox workspace | |
207 | proxmox-apt.workspace = true | |
208 | proxmox-apt-api-types.workspace = true | |
209 | proxmox-async.workspace = true | |
210 | proxmox-auth-api = { workspace = true, features = [ "api", "pam-authenticator" ] } | |
211 | proxmox-compression.workspace = true | |
212 | proxmox-config-digest.workspace = true | |
213 | proxmox-daemon.workspace = true | |
214 | proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async", "rate-limited-stream" ] } # pbs-client doesn't use these | |
215 | proxmox-human-byte.workspace = true | |
216 | proxmox-io.workspace = true | |
217 | proxmox-lang.workspace = true | |
218 | proxmox-log.workspace = true | |
219 | proxmox-ldap.workspace = true | |
220 | proxmox-metrics.workspace = true | |
221 | proxmox-notify = { workspace = true, features = [ "pbs-context" ] } | |
222 | proxmox-openid.workspace = true | |
223 | proxmox-rest-server = { workspace = true, features = [ "rate-limited-stream" ] } | |
224 | proxmox-router = { workspace = true, features = [ "cli", "server"] } | |
225 | proxmox-schema = { workspace = true, features = [ "api-macro" ] } | |
226 | proxmox-section-config.workspace = true | |
227 | proxmox-serde = { workspace = true, features = [ "serde_json" ] } | |
228 | proxmox-shared-memory.workspace = true | |
229 | proxmox-sortable-macro.workspace = true | |
230 | proxmox-subscription.workspace = true | |
231 | proxmox-sys = { workspace = true, features = [ "timer" ] } | |
232 | proxmox-systemd.workspace = true | |
233 | proxmox-tfa.workspace = true | |
234 | proxmox-time.workspace = true | |
235 | proxmox-uuid.workspace = true | |
236 | proxmox-worker-task.workspace = true | |
237 | ||
238 | # in their respective repo | |
239 | proxmox-acme.workspace = true | |
240 | pxar.workspace = true | |
241 | ||
242 | # proxmox-backup workspace/internal crates | |
243 | pbs-api-types.workspace = true | |
244 | pbs-buildcfg.workspace = true | |
245 | pbs-client.workspace = true | |
246 | pbs-config.workspace = true | |
247 | pbs-datastore.workspace = true | |
248 | pbs-key-config.workspace = true | |
249 | pbs-tape.workspace = true | |
250 | pbs-tools.workspace = true | |
251 | proxmox-rrd.workspace = true | |
252 | proxmox-rrd-api-types.workspace = true | |
253 | ||
254 | # Local path overrides | |
255 | # NOTE: You must run `cargo update` after changing this for it to take effect! | |
256 | [patch.crates-io] | |
257 | ||
258 | #proxmox-apt = { path = "../proxmox/proxmox-apt" } | |
259 | #proxmox-apt-api-types = { path = "../proxmox/proxmox-apt-api-types" } | |
260 | #proxmox-async = { path = "../proxmox/proxmox-async" } | |
261 | #proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" } | |
262 | #proxmox-borrow = { path = "../proxmox/proxmox-borrow" } | |
263 | #proxmox-compression = { path = "../proxmox/proxmox-compression" } | |
264 | #proxmox-config-digest = { path = "../proxmox/proxmox-config-digest" } | |
265 | #proxmox-daemon = { path = "../proxmox/proxmox-daemon" } | |
266 | #proxmox-fuse = { path = "../proxmox-fuse" } | |
267 | #proxmox-http = { path = "../proxmox/proxmox-http" } | |
268 | #proxmox-human-byte = { path = "../proxmox/proxmox-human-byte" } | |
269 | #proxmox-io = { path = "../proxmox/proxmox-io" } | |
270 | #proxmox-lang = { path = "../proxmox/proxmox-lang" } | |
271 | #proxmox-log = { path = "../proxmox/proxmox-log" } | |
272 | #proxmox-ldap = { path = "../proxmox/proxmox-ldap" } | |
273 | #proxmox-metrics = { path = "../proxmox/proxmox-metrics" } | |
274 | #proxmox-notify = { path = "../proxmox/proxmox-notify" } | |
275 | #proxmox-openid = { path = "../proxmox/proxmox-openid" } | |
276 | #proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" } | |
277 | #proxmox-router = { path = "../proxmox/proxmox-router" } | |
278 | #proxmox-rrd = { path = "../proxmox/proxmox-rrd" } | |
279 | #proxmox-rrd-api-types = { path = "../proxmox/proxmox-rrd-api-types" } | |
280 | #proxmox-schema = { path = "../proxmox/proxmox-schema" } | |
281 | #proxmox-section-config = { path = "../proxmox/proxmox-section-config" } | |
282 | #proxmox-serde = { path = "../proxmox/proxmox-serde" } | |
283 | #proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } | |
284 | #proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" } | |
285 | #proxmox-subscription = { path = "../proxmox/proxmox-subscription" } | |
286 | #proxmox-sys = { path = "../proxmox/proxmox-sys" } | |
287 | #proxmox-systemd = { path = "../proxmox/proxmox-systemd" } | |
288 | #proxmox-tfa = { path = "../proxmox/proxmox-tfa" } | |
289 | #proxmox-time = { path = "../proxmox/proxmox-time" } | |
290 | #proxmox-uuid = { path = "../proxmox/proxmox-uuid" } | |
291 | #proxmox-worker-task = { path = "../proxmox/proxmox-worker-task" } | |
292 | ||
293 | #proxmox-acme = { path = "../proxmox/proxmox-acme" } | |
294 | #pathpatterns = {path = "../pathpatterns" } | |
295 | #pxar = { path = "../pxar" } | |
296 | ||
297 | [features] | |
298 | default = [] | |
299 | #valgrind = ["valgrind_request"] |