540fca5c9e
tree-wide: cleanup manual map/flatten
...
found with clippy, best viewed with `-w` ;)
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2021-12-30 15:02:07 +01:00
9a37bd6c84
tree-wide: fix needless borrows
...
found and fixed via clippy
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2021-12-30 13:55:33 +01:00
821aa8eae6
bump proxmox-schema to 1.1
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-12-16 11:25:02 +01:00
8a8a1850d0
remove trait BufferedRead from pbs-tools/src/io.rs
...
We do not need it.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-11-25 09:45:47 +01:00
9eb58647c1
pbs-datastore: use hex::serde feature
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-11-24 13:06:14 +01:00
25877d05ac
update to proxmox-sys 0.2 crate
...
- imported pbs-api-types/src/common_regex.rs from old proxmox crate
- use hex crate to generate/parse hex digest
- remove all reference to proxmox crate (use proxmox-sys and
proxmox-serde instead)
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-11-24 10:32:27 +01:00
154d01b042
d/control and Cargo.toml bumps
...
* pin-utils isn't used anymore
* proxmox-sys version should also be tracked in Cargo.toml
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-11-22 10:56:36 +01:00
a58a5cf795
move HumanByte to pbs-abi-types crate
...
Originally-by: Dietmar Maurer <dietmar@proxmox.com >
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-11-20 19:35:24 +01:00
daaeea8b4b
update to base64 0.13
...
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
2021-11-19 11:58:17 +01:00
d5790a9f27
use new proxmox-sys crate
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-11-19 11:06:35 +01:00
860eaec58f
use proxmox::tools::fd::fd_change_cloexec from proxmox 0.15.3
...
Depend on proxmox 0.15.3
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-11-18 13:43:41 +01:00
0ceb97538a
BackupGroup: add filter helper
...
to have a single implementation of "group is matched by group filter".
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com >
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-11-18 10:36:57 +01:00
342ed4aea0
PruneMark: implement display without the write! macro
...
by using write_str instead
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-28 12:54:54 +02:00
d4e9d5470e
PruneMark: use copied values instead of references
...
the type is small enough
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-28 12:54:54 +02:00
8292d3d20e
api2/admin/datastore: add get/set_protection
...
for gettin/setting the protected flag for snapshots (akin to notes)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-28 11:31:11 +02:00
de91418b79
backup/datastore: prevent protected snapshots to be removed
...
by throwing an error for remove_backup_dir, and skipping for
remove_backup_group
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-28 11:31:00 +02:00
02db72678f
add protected info of snapshots to api and task logs
...
adds the info that a snapshot is protected to:
* snapshot list
* manual pruning (also dry-run)
* prune jobs
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-28 11:30:51 +02:00
db4b469285
pbs-datastore: skip protected backups in pruning
...
as a separate keep reason so it will not be calculated for the other reasons
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-28 11:30:47 +02:00
92c5cf42d1
pbs-datastore: add protection info to BackupInfo
...
and add necessary helper functions (protected_file/is_protected)
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-28 11:30:44 +02:00
e0a19d3313
use new fsync parameter to replace_file and atomic_open_or_create
...
Depend on proxmox 0.15.0 and proxmox-openid 0.8.1
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-10-21 07:28:32 +02:00
5a8726e6d2
pbs-tools: drop borrow module
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-13 14:14:03 +02:00
6ef1b649d9
update to first proxmox crate split
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-11 11:58:49 +02:00
e3f3359c86
bump proxmox dependency to 0.14.0 and proxmox-http to 0.5.0
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-10-08 11:18:22 +02:00
99940358e3
ExtJsFormatter: use ParameterError to correctly compute 'errors'
...
By default, 'errors' is now empty.
Depend on proxmox 0.13.5.
2021-09-28 10:19:55 +02:00
8a23ea4656
move src/backup/read_chunk.rs to pbs-datastore/src/local_chunk_reader.rs
2021-09-27 11:10:14 +02:00
c95c1c83b0
move src/backup/snapshot_reader.rs to pbs_datastore crate
2021-09-27 09:58:20 +02:00
6d5d305d9d
move src/backup/datastore.rs into pbs_datastore crate
2021-09-27 09:11:38 +02:00
0fd55b08d9
WorkerTaskContext: add shutdown_requested() and fail_on_shutdown()
2021-09-24 12:04:31 +02:00
c8449217dc
rename TaskState to WorkerTaskContext
2021-09-24 10:33:49 +02:00
b9700a9fe5
move worker_task.rs into proxmox-rest-server crate
...
Also moved pbs-datastore/src/task.rs to pbs-tools, which now depends on 'log'.
2021-09-24 10:28:17 +02:00
81867f0539
use UPID and systemd helpers from proxmox 0.13.4
2021-09-23 12:01:43 +02:00
fd6d243843
move ApiConfig, FileLogger and CommandoSocket to proxmox-rest-server workspace
...
ApiConfig: avoid using pbs_config::backup_user()
CommandoSocket: avoid using pbs_config::backup_user()
FileLogger: avoid using pbs_config::backup_user()
- use atomic_open_or_create_file()
Auth Trait: moved definitions to proxmox-rest-server/src/lib.rs
- removed CachedUserInfo patrameter
- return user as String (not Authid)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
89725197c0
move PruneOptions to pbs_api_types workspace
2021-09-10 09:21:27 +02:00
58bfa3b19c
remove dead code
...
backup_user() and backup_group() are now in pbs_config workspace
2021-09-08 06:34:44 +02:00
bbdda58b35
moved key_derivation.rs from pbs_datastore to pbs-config/src/key_config.rs
...
Also moved pbs-datastore/src/crypt_config.rs to pbs-tools/src/crypt_config.rs.
We do not want to depend on pbs-api-types there, so I use [u8;32] instead of
Fingerprint.
2021-09-07 10:12:17 +02:00
ed2080762c
move data_blob encode/decode from crypt_config.rs to data_blob.rs
2021-09-07 10:00:05 +02:00
45d5d873ce
move Kdf and KeyInfo to pbs_api_types workspace
2021-09-07 09:59:59 +02:00
42dad3abd3
fixup imports in tests and examples
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-09-01 12:32:21 +02:00
86582454e8
make api2::helpers::list_dir_content a CatalogReader method
...
this is its natural place and everything required is already
part of the catalog module
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-08-31 11:29:17 +02:00
013b1e8bca
move some more API types
...
ArchiveEntry -> pbs-datastore
RestoreDaemonStatus -> pbs-api-types
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-08-31 11:29:17 +02:00
2e2d64fdba
bump proxmox dependency to 0.13.0
...
and with it:
* bump proxmox-http dependency to 0.4.0
* bump proxmox-apt dependency to 0.7.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-08-25 10:43:58 +02:00
9b8e8012a7
cargo: update proxmox to 0.12.1
...
For the FS compat improvement in the atomic create file helper
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-07-22 10:09:53 +02:00
ef4df211ab
move CachedChunkReader to pbs-datastore
...
this was actually still missing from the previous commit
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-21 14:20:03 +02:00
eb5e0ae65a
move remaining client tools to pbs-tools/datastore
...
pbs-datastore now ended up depending on tokio after all, but
that's fine for now
for the fuse code I added pbs-fuse-loop (has the old
fuse_loop and its 'loopdev' module)
ultimately only binaries should depend on this to avoid the
library link
the only thins remaining to move out the client binary are
the api method return types, those will need to be moved to
pbs-api-types...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-21 14:12:24 +02:00
a301c362e3
add helpers to write configuration files
2021-07-20 18:54:23 +02:00
dc46aa9a00
pbs-datastore/prune: make PruneOptions an api type
...
so that we can reuse it from here
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-07-16 11:34:18 +02:00
31c94d1645
chunk_store/insert_chunk: add more information to file errors
...
otherwise this context is missing in some tasks (e.g. tape restore)
and it is unclear where it came from
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
2021-07-13 11:55:33 +02:00
ea584a7510
move more api types for the client
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-09 15:17:53 +02:00
2f02e431b0
moving more code to pbs-datastore
...
prune and fixed/dynamic index
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-09 10:40:14 +02:00
e64f38cb6b
move chunk_stat, read_chunk to pbs-datastore
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-07-09 10:40:14 +02:00