6fc053ed85
pxar: encoder: limit number of max entries held at once in memory during archive creation.
...
Limit the total number of entries and therefore the approximate memory
consumption instead of doing this on a per directory basis as it was previously.
This makes more sense as it limits not only the width but also the depth of the
directory tree.
Further, instead of hardcoding this value, allow to pass this information as
additional optional parameter 'entires-max'.
By this, creation of the archive with directories containing a large number of
entries is possible.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2020-01-10 13:45:08 +01:00
141304d64e
src/api2/config/remotes.rs: new API to configure remotes
2020-01-10 13:28:15 +01:00
331b869d96
src/bin/proxmox-backup-manager.rs: implement shell completion for remote datastore name
2020-01-10 11:58:31 +01:00
eb506c830c
rename src/api2/sync.rs -> src/api2/pull.rs
...
Use "pull" instead of "sync", because this also indicates a
direction (like "sync from").
2020-01-10 11:15:16 +01:00
a81af92f9d
src/section_config.rs: implement generic lookup
2020-01-09 17:35:44 +01:00
0eb0e02451
src/bin/proxmox-backup-manager.rs: implement cli sync command
2020-01-09 14:52:29 +01:00
a575320657
src/config/remotes.rs: implement SectionConfig for remote hosts
2020-01-09 14:51:02 +01:00
ecbc62261c
pxar: encoder: warn on lacking read permissions instead of fail.
...
If during creation of the archive, files/dirs with lacking read permissions are
encountered, the user is displayed a warning and the archive is created without
including the file/dir.
Previously this resulted in an error and the archive creation failed.
In order to implement this also for the .pxarexclude files, the Error type of
MatchPattern::from_file() and MatchPattern::from_line() was adopted accordingly.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2020-01-09 10:41:19 +01:00
88cee60bad
pxar: encoder: fix incorrect goodbye table entries and update displayed path.
...
If nodes are excluded by feature flags, they must not appear in the goodbye table.
This is fixed by continuing with the next entry in the for loop.
Further the relative path buffer is now poped in order to correctly display the path.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2020-01-09 10:39:41 +01:00
ec906dcf19
src/pxar/encoder.rs: avoid use of macro and initialize Vec with known capacity.
...
Signed-off-by: Christian Ebner <c.ebner@proxmox.com >
2020-01-09 10:38:58 +01:00
71da3d6a1b
src/api2/types.rs: fix SnapshotListItem schema definition
2020-01-09 10:36:19 +01:00
de8ec04123
src/api2/sync.rs: implement remote sync
2020-01-08 14:03:52 +01:00
27c9affb23
src/bin/proxmox-backup-client.rs: cleanup - factor out api_datastore_latest_snapshot()
2020-01-07 15:18:36 +01:00
42af4b8f06
src/bin/proxmox-backup-client.rs: cleanup - factor out api_datastore_list_snapshots()
2020-01-07 15:07:57 +01:00
af9d4afc66
src/bin/proxmox-backup-client.rs: use SnapshotListItem
2020-01-07 13:25:25 +01:00
fc189b198c
src/api2/types.rs: define and use new api type SnapshotListItem
2020-01-07 12:52:52 +01:00
8f14e8fe4c
src/backup/backup_info.rs: implement last_successful_backup()
...
A backup is considered successful if there is a manifest file.
2020-01-06 11:35:22 +01:00
247a8ca5bb
src/backup/manifest.rs: impl TryFrom DataBlob
2020-01-05 16:28:18 +01:00
7759eef552
src/backup/datastore.rs: implement cleanup_backup_dir()
2020-01-05 15:15:12 +01:00
5e1d1bead1
src/client/backup_reader.rs: make compute_file_csum() public
2020-01-05 14:50:54 +01:00
3743dee6de
src/client/http_client.rs: allow access to AuthInfo fields
2020-01-05 10:31:19 +01:00
3758b398cd
src/backup/read_chunk.rs: add read_raw_chunk()
...
Allow to read chunk data without decoding.
2020-01-02 13:29:10 +01:00
2585a8a4e2
src/backup/chunk_store.rs: implement cond_touch_chunk()
...
This will be used by backup sync to test if a chunk already exists.
2020-01-02 13:26:28 +01:00
1cf5178ac5
src/backup/datastore.rs: new helper try_shared_chunk_store_lock()
2020-01-02 11:00:33 +01:00
1e8da0a789
src/backup/manifest.rs: new helper archive_type()
2019-12-31 15:23:41 +01:00
94f085fab5
src/bin/proxmox-backup-proxy.rs: remove unused use clause
2019-12-30 11:50:24 +01:00
22be470d90
src/bin/proxmox-backup-api.rs: create cert here
2019-12-27 13:44:21 +01:00
ca6119551d
src/client/http_client.rs - start_h2_connection: correctly return error during upgrade
2019-12-27 13:41:31 +01:00
a546a8a072
proxy/api: await running workers before shutdown
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-12-27 12:50:33 +01:00
f8fd5095d8
src/bin/proxmox-backup-proxy.rs: create self signed cert at startup.
2019-12-27 11:21:32 +01:00
afddffc7ec
proxmox-backup-manager.rs: remove wrong fixme
2019-12-27 10:17:06 +01:00
e739a8d8b4
src/bin/proxmox-backup-manager.rs: impl. cert info
2019-12-23 13:06:43 +01:00
550e0d8870
src/bin/proxmox-backup-manager.rs: add cli to generate proxy certificate
...
Without calling external openssl binary.
2019-12-22 17:35:06 +01:00
5e62d19cfb
fix create_datastore parameters:
...
comment was declared as optional but unwrap()ed, causing
panics when not using it
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-12-20 12:30:25 +01:00
645995634a
src/api2/config/datastore.rs - create: pass uid and gid instead of User
2019-12-20 09:23:58 +01:00
e67770d496
src/backup/chunk_store.rs - create: pass User instead of CreateOptions
2019-12-20 09:11:40 +01:00
bca9093520
api/ui: datastore: allow to set simple comment
...
for now forbid all control characters[0] in the comment value, the
section config writer cannot cope with newlines in the value, it
writes them out literally, allowing "injection" or breaking the whole
config.
In the webinterface use also a textfield, not a textarea.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2019-12-19 17:58:01 +01:00
afdcfb5bc9
let ChunkStore::create take CreateOptions
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-12-19 13:14:49 +01:00
47d4712152
src/bin/proxmox-backup-manager.rs: add task management cli
2019-12-19 11:27:36 +01:00
d6c4a1198a
src/bin/proxmox-backup-client.rs: use async fn
2019-12-19 11:20:59 +01:00
f74a03da1f
remove tools::getpwnam_ugid, impl. crate::backup::backup_user()
...
And use new nix::unistd::User struct.
2019-12-19 10:20:13 +01:00
8bf4559b4e
update to nix 0.16
2019-12-19 09:29:44 +01:00
769f8c9998
src/bin/proxmox-backup-manager.rs: connect to daemon to execute GC
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2019-12-19 08:45:27 +01:00
25de1c8005
src/client/backup_repo.rs: impl. new()
2019-12-19 08:44:38 +01:00
94913f35ca
src/bin/proxmox-backup-client.rs - start_garbage_collection: add missing output-format parameter
2019-12-19 07:57:53 +01:00
868c585219
src/backup/datastore.rs: avoid divide by zero
2019-12-19 07:14:23 +01:00
217170e11e
src/server/worker_task.rs: set worker thread name
...
This gives better logs on thread panic...
2019-12-19 07:07:39 +01:00
7e210bd0b4
src/backup/chunk_store.rs: create lock file with correct owner
2019-12-19 06:55:53 +01:00
2337df7b3d
api2: add very basic 'status/usage' endpoint for nodes
...
For returning the nodes basic "usage status", for now one gets memory
and CPU utilization.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2019-12-18 17:24:32 +01:00
bce023c57c
src/tools.rs: fix typo
2019-12-18 14:29:29 +01:00