]> git.proxmox.com Git - proxmox-backup.git/blob - src/backup/mod.rs
move client to pbs-client subcrate
[proxmox-backup.git] / src / backup / mod.rs
1 //! Server/client-specific parts for what's otherwise in pbs-datastore.
2
3 use anyhow::{bail, Error};
4
5 // Note: .pcat1 => Proxmox Catalog Format version 1
6 pub const CATALOG_NAME: &str = "catalog.pcat1.didx";
7
8 /// Unix system user used by proxmox-backup-proxy
9 pub const BACKUP_USER_NAME: &str = "backup";
10 /// Unix system group used by proxmox-backup-proxy
11 pub const BACKUP_GROUP_NAME: &str = "backup";
12
13 /// Return User info for the 'backup' user (``getpwnam_r(3)``)
14 pub fn backup_user() -> Result<nix::unistd::User, Error> {
15 match nix::unistd::User::from_name(BACKUP_USER_NAME)? {
16 Some(user) => Ok(user),
17 None => bail!("Unable to lookup backup user."),
18 }
19 }
20
21 /// Return Group info for the 'backup' group (``getgrnam(3)``)
22 pub fn backup_group() -> Result<nix::unistd::Group, Error> {
23 match nix::unistd::Group::from_name(BACKUP_GROUP_NAME)? {
24 Some(group) => Ok(group),
25 None => bail!("Unable to lookup backup user."),
26 }
27 }
28
29 pub use pbs_datastore::backup_info;
30 pub use pbs_datastore::backup_info::*;
31 pub use pbs_datastore::catalog;
32 pub use pbs_datastore::catalog::*;
33 pub use pbs_datastore::checksum_reader;
34 pub use pbs_datastore::checksum_reader::*;
35 pub use pbs_datastore::checksum_writer;
36 pub use pbs_datastore::checksum_writer::*;
37 pub use pbs_datastore::chunk_stat;
38 pub use pbs_datastore::chunk_stat::*;
39 pub use pbs_datastore::chunk_store;
40 pub use pbs_datastore::chunk_store::*;
41 pub use pbs_datastore::chunker;
42 pub use pbs_datastore::chunker::*;
43 pub use pbs_datastore::crypt_config;
44 pub use pbs_datastore::crypt_config::*;
45 pub use pbs_datastore::crypt_reader;
46 pub use pbs_datastore::crypt_reader::*;
47 pub use pbs_datastore::crypt_writer;
48 pub use pbs_datastore::crypt_writer::*;
49 pub use pbs_datastore::data_blob;
50 pub use pbs_datastore::data_blob::*;
51 pub use pbs_datastore::data_blob_reader;
52 pub use pbs_datastore::data_blob_reader::*;
53 pub use pbs_datastore::data_blob_writer;
54 pub use pbs_datastore::data_blob_writer::*;
55 pub use pbs_datastore::file_formats;
56 pub use pbs_datastore::file_formats::*;
57 pub use pbs_datastore::index;
58 pub use pbs_datastore::index::*;
59 pub use pbs_datastore::key_derivation;
60 pub use pbs_datastore::key_derivation::*;
61 pub use pbs_datastore::manifest;
62 pub use pbs_datastore::manifest::*;
63 pub use pbs_datastore::prune;
64 pub use pbs_datastore::prune::*;
65
66 pub use pbs_datastore::store_progress::StoreProgress;
67
68 pub use pbs_datastore::dynamic_index::*;
69 pub use pbs_datastore::fixed_index;
70 pub use pbs_datastore::fixed_index::*;
71
72 pub use pbs_datastore::read_chunk::*;
73
74 mod chunk_stream;
75 pub use chunk_stream::*;
76
77 // Split
78 mod read_chunk;
79 pub use read_chunk::*;
80
81 // Split
82 mod dynamic_index;
83 pub use dynamic_index::*;
84
85 mod datastore;
86 pub use datastore::*;
87
88 mod verify;
89 pub use verify::*;
90
91 mod cached_chunk_reader;
92 pub use cached_chunk_reader::*;