[workspace.package]
-version = "3.2.1"
+version = "3.2.7"
authors = [
"Dietmar Maurer <dietmar@proxmox.com>",
"Dominik Csapak <d.csapak@proxmox.com>",
edition = "2021"
license = "AGPL-3"
repository = "https://git.proxmox.com/?p=proxmox-backup.git"
+rust-version = "1.80"
[package]
name = "proxmox-backup"
[workspace.dependencies]
# proxmox workspace
-proxmox-apt = "0.10.5"
+proxmox-apt = { version = "0.11", features = [ "cache" ] }
+proxmox-apt-api-types = "1.0.1"
proxmox-async = "0.4"
-proxmox-auth-api = "0.3"
+proxmox-auth-api = "0.4"
proxmox-borrow = "1"
proxmox-compression = "0.2"
+proxmox-config-digest = "0.1.0"
+proxmox-daemon = "0.1.0"
proxmox-fuse = "0.1.3"
proxmox-http = { version = "0.9.0", features = [ "client", "http-helpers", "websocket" ] } # see below
proxmox-human-byte = "0.1"
proxmox-io = "1.0.1" # tools and client use "tokio" feature
proxmox-lang = "1.1"
+proxmox-log = "0.2.4"
proxmox-ldap = "0.2.1"
-proxmox-metrics = "0.3"
+proxmox-metrics = "0.3.1"
proxmox-notify = "0.4"
proxmox-openid = "0.10.0"
-proxmox-rest-server = { version = "0.5.1", features = [ "templates" ] }
+proxmox-rest-server = { version = "0.8", features = [ "templates" ] }
# some use "cli", some use "cli" and "server", pbs-config uses nothing
-proxmox-router = { version = "2.0.0", default_features = false }
-proxmox-rrd = { version = "0.1" }
+proxmox-router = { version = "3.0.0", default-features = false }
+proxmox-rrd = "0.4"
+proxmox-rrd-api-types = "1.0.2"
# everything but pbs-config and pbs-client use "api-macro"
proxmox-schema = "3"
proxmox-section-config = "2"
proxmox-shared-memory = "0.3.0"
proxmox-sortable-macro = "0.1.2"
proxmox-subscription = { version = "0.4.2", features = [ "api-types" ] }
-proxmox-sys = "0.5.3"
-proxmox-tfa = { version = "4.0.4", features = [ "api", "api-types" ] }
-proxmox-time = "1.1.6"
+proxmox-sys = "0.6"
+proxmox-systemd = "0.1"
+proxmox-tfa = { version = "5", features = [ "api", "api-types" ] }
+proxmox-time = "2"
proxmox-uuid = "1"
+proxmox-worker-task = "0.1"
# other proxmox crates
pathpatterns = "0.3"
proxmox-acme = "0.5"
-pxar = "0.10.2"
+pxar = "0.12"
# PBS workspace
pbs-api-types = { path = "pbs-api-types" }
async-trait = "0.1.56"
apt-pkg-native = "0.3.2"
base64 = "0.13"
-bitflags = "1.2.1"
+bitflags = "2.4"
bytes = "1.0"
cidr = "0.2.1"
crc32fast = "1"
flate2 = "1.0"
foreign-types = "0.3"
futures = "0.3"
-h2 = { version = "0.3", features = [ "stream" ] }
+h2 = { version = "0.4", features = [ "stream" ] }
handlebars = "3.0"
hex = "0.4.3"
http = "0.2"
hyper = { version = "0.14", features = [ "full" ] }
-lazy_static = "1.4"
libc = "0.2"
log = "0.4.17"
nix = "0.26.1"
tokio-openssl = "0.6.1"
tokio-stream = "0.1.0"
tokio-util = { version = "0.7", features = [ "io" ] }
+tracing = "0.1"
tower-service = "0.3.0"
udev = "0.4"
url = "2.1"
walkdir = "2"
xdg = "2.2"
zstd = { version = "0.12", features = [ "bindgen" ] }
+zstd-safe = "6.0"
[dependencies]
anyhow.workspace = true
async-trait.workspace = true
-apt-pkg-native.workspace = true
base64.workspace = true
-bitflags.workspace = true
bytes.workspace = true
cidr.workspace = true
const_format.workspace = true
crc32fast.workspace = true
crossbeam-channel.workspace = true
endian_trait.workspace = true
-flate2.workspace = true
futures.workspace = true
h2.workspace = true
-handlebars.workspace = true
hex.workspace = true
http.workspace = true
hyper.workspace = true
-lazy_static.workspace = true
libc.workspace = true
log.workspace = true
nix.workspace = true
rustyline.workspace = true
serde.workspace = true
serde_json.workspace = true
-siphasher.workspace = true
syslog.workspace = true
termcolor.workspace = true
thiserror.workspace = true
tokio-openssl.workspace = true
tokio-stream.workspace = true
tokio-util = { workspace = true, features = [ "codec" ] }
-tower-service.workspace = true
+tracing.workspace = true
udev.workspace = true
url.workspace = true
walkdir.workspace = true
-xdg.workspace = true
zstd.workspace = true
#valgrind_request = { git = "https://github.com/edef1c/libvalgrind_request", version = "1.1.0", optional = true }
# proxmox workspace
proxmox-apt.workspace = true
+proxmox-apt-api-types.workspace = true
proxmox-async.workspace = true
proxmox-auth-api = { workspace = true, features = [ "api", "pam-authenticator" ] }
proxmox-compression.workspace = true
+proxmox-config-digest.workspace = true
+proxmox-daemon.workspace = true
proxmox-http = { workspace = true, features = [ "client-trait", "proxmox-async", "rate-limited-stream" ] } # pbs-client doesn't use these
proxmox-human-byte.workspace = true
proxmox-io.workspace = true
proxmox-lang.workspace = true
+proxmox-log.workspace = true
proxmox-ldap.workspace = true
proxmox-metrics.workspace = true
proxmox-notify = { workspace = true, features = [ "pbs-context" ] }
proxmox-sortable-macro.workspace = true
proxmox-subscription.workspace = true
proxmox-sys = { workspace = true, features = [ "timer" ] }
+proxmox-systemd.workspace = true
proxmox-tfa.workspace = true
proxmox-time.workspace = true
proxmox-uuid.workspace = true
+proxmox-worker-task.workspace = true
# in their respective repo
-pathpatterns.workspace = true
proxmox-acme.workspace = true
pxar.workspace = true
pbs-tape.workspace = true
pbs-tools.workspace = true
proxmox-rrd.workspace = true
+proxmox-rrd-api-types.workspace = true
# Local path overrides
# NOTE: You must run `cargo update` after changing this for it to take effect!
[patch.crates-io]
#proxmox-apt = { path = "../proxmox/proxmox-apt" }
+#proxmox-apt-api-types = { path = "../proxmox/proxmox-apt-api-types" }
#proxmox-async = { path = "../proxmox/proxmox-async" }
#proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" }
#proxmox-borrow = { path = "../proxmox/proxmox-borrow" }
#proxmox-compression = { path = "../proxmox/proxmox-compression" }
+#proxmox-config-digest = { path = "../proxmox/proxmox-config-digest" }
+#proxmox-daemon = { path = "../proxmox/proxmox-daemon" }
#proxmox-fuse = { path = "../proxmox-fuse" }
#proxmox-http = { path = "../proxmox/proxmox-http" }
#proxmox-human-byte = { path = "../proxmox/proxmox-human-byte" }
#proxmox-io = { path = "../proxmox/proxmox-io" }
#proxmox-lang = { path = "../proxmox/proxmox-lang" }
+#proxmox-log = { path = "../proxmox/proxmox-log" }
#proxmox-ldap = { path = "../proxmox/proxmox-ldap" }
#proxmox-metrics = { path = "../proxmox/proxmox-metrics" }
#proxmox-notify = { path = "../proxmox/proxmox-notify" }
#proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" }
#proxmox-router = { path = "../proxmox/proxmox-router" }
#proxmox-rrd = { path = "../proxmox/proxmox-rrd" }
+#proxmox-rrd-api-types = { path = "../proxmox/proxmox-rrd-api-types" }
#proxmox-schema = { path = "../proxmox/proxmox-schema" }
#proxmox-section-config = { path = "../proxmox/proxmox-section-config" }
#proxmox-serde = { path = "../proxmox/proxmox-serde" }
#proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" }
#proxmox-subscription = { path = "../proxmox/proxmox-subscription" }
#proxmox-sys = { path = "../proxmox/proxmox-sys" }
+#proxmox-systemd = { path = "../proxmox/proxmox-systemd" }
#proxmox-tfa = { path = "../proxmox/proxmox-tfa" }
#proxmox-time = { path = "../proxmox/proxmox-time" }
#proxmox-uuid = { path = "../proxmox/proxmox-uuid" }
+#proxmox-worker-task = { path = "../proxmox/proxmox-worker-task" }
#proxmox-acme = { path = "../proxmox/proxmox-acme" }
#pathpatterns = {path = "../pathpatterns" }