[workspace.package] version = "3.2.8" authors = [ "Dietmar Maurer ", "Dominik Csapak ", "Christian Ebner ", "Fabian Grünbichler ", "Stefan Reiter ", "Thomas Lamprecht ", "Wolfgang Bumiller ", "Proxmox Support Team ", ] edition = "2021" license = "AGPL-3" repository = "https://git.proxmox.com/?p=proxmox-backup.git" rust-version = "1.80" [package] name = "proxmox-backup" description = "Proxmox Backup" homepage = "https://www.proxmox.com" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true exclude = ["build", "debian", "tests/catar_data/test_symlink/symlink1"] [workspace] members = [ "pbs-api-types", "pbs-buildcfg", "pbs-client", "pbs-config", "pbs-datastore", "pbs-fuse-loop", "pbs-key-config", "pbs-pxar-fuse", "pbs-tape", "pbs-tools", "proxmox-backup-banner", "proxmox-backup-client", "proxmox-file-restore", "proxmox-restore-daemon", "pxar-bin", ] [lib] name = "proxmox_backup" path = "src/lib.rs" [workspace.dependencies] # proxmox workspace proxmox-apt = { version = "0.11", features = ["cache"] } proxmox-apt-api-types = "1.0.1" proxmox-async = "0.4" 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.1" proxmox-notify = "0.4" proxmox-openid = "0.10.0" proxmox-rest-server = { version = "0.8", features = ["templates"] } # some use "cli", some use "cli" and "server", pbs-config uses nothing 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-serde = "0.1.1" proxmox-shared-cache = "0.1" proxmox-shared-memory = "0.3.0" proxmox-sortable-macro = "0.1.2" proxmox-subscription = { version = "0.4.2", features = ["api-types"] } 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.3" pxar = "0.12" # PBS workspace pbs-api-types = { path = "pbs-api-types" } pbs-buildcfg = { path = "pbs-buildcfg" } pbs-client = { path = "pbs-client" } pbs-config = { path = "pbs-config" } pbs-datastore = { path = "pbs-datastore" } pbs-fuse-loop = { path = "pbs-fuse-loop" } pbs-key-config = { path = "pbs-key-config" } pbs-pxar-fuse = { path = "pbs-pxar-fuse" } pbs-tape = { path = "pbs-tape" } pbs-tools = { path = "pbs-tools" } # regular crates anyhow = "1.0" async-trait = "0.1.56" apt-pkg-native = "0.3.2" base64 = "0.13" bitflags = "2.4" bytes = "1.0" cidr = "0.2.1" crc32fast = "1" const_format = "0.2" crossbeam-channel = "0.5" endian_trait = { version = "0.6", features = ["arrays"] } env_logger = "0.10" flate2 = "1.0" foreign-types = "0.3" futures = "0.3" h2 = { version = "0.3", features = ["stream"] } handlebars = "3.0" hex = "0.4.3" http = "0.2" hyper = { version = "0.14", features = ["full"] } libc = "0.2" log = "0.4.17" nix = "0.26.1" nom = "7" num-traits = "0.2" once_cell = "1.3.1" openssl = "0.10.40" percent-encoding = "2.1" pin-project-lite = "0.2" regex = "1.5.5" rustyline = "9" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_plain = "1" siphasher = "0.3" syslog = "6" tar = "0.4" termcolor = "1.1.2" thiserror = "1.0" tokio = "1.6" 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 base64.workspace = true bytes.workspace = true cidr.workspace = true const_format.workspace = true crc32fast.workspace = true crossbeam-channel.workspace = true endian_trait.workspace = true futures.workspace = true h2.workspace = true hex.workspace = true http.workspace = true hyper.workspace = true libc.workspace = true log.workspace = true nix.workspace = true nom.workspace = true num-traits.workspace = true once_cell.workspace = true openssl.workspace = true percent-encoding.workspace = true regex.workspace = true rustyline.workspace = true serde.workspace = true serde_json.workspace = true syslog.workspace = true termcolor.workspace = true thiserror.workspace = true tokio = { workspace = true, features = [ "fs", "io-util", "io-std", "macros", "net", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "time", ] } tokio-openssl.workspace = true tokio-stream.workspace = true tokio-util = { workspace = true, features = ["codec"] } tracing.workspace = true udev.workspace = true url.workspace = true walkdir.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-openid.workspace = true proxmox-rest-server = { workspace = true, features = ["rate-limited-stream"] } proxmox-router = { workspace = true, features = ["cli", "server"] } proxmox-schema = { workspace = true, features = ["api-macro"] } proxmox-section-config.workspace = true proxmox-serde = { workspace = true, features = ["serde_json"] } proxmox-shared-cache.workspace = true proxmox-shared-memory.workspace = true 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 proxmox-acme.workspace = true pxar.workspace = true # proxmox-backup workspace/internal crates pbs-api-types.workspace = true pbs-buildcfg.workspace = true pbs-client.workspace = true pbs-config.workspace = true pbs-datastore.workspace = true pbs-key-config.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-openid = { path = "../proxmox/proxmox-openid" } #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-shared-memory = { path = "../proxmox/proxmox-shared-memory" } #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" } #pxar = { path = "../pxar" } [features] #default = [] #valgrind = ["valgrind_request"] alt-linux = ["proxmox-apt/alt-linux", "proxmox-apt-api-types/alt-linux"] default = ["alt-linux"]