]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
21 months agopbs-config: add missing proxmox-sys/timer feature
Fabian Grünbichler [Mon, 5 Sep 2022 10:18:00 +0000 (12:18 +0200)]
pbs-config: add missing proxmox-sys/timer feature

else building pbs-config directly (not from the workspace root with `-p
pbs-config`) fails (and so do similar dep chains that don't pull in the
feature via another way, like `cd proxmox-backup-client; cargo build`).

Reported-by: Dominiki Csapak <d.csapak@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agouse short assign-bit-or (clippy fix)
Fabian Grünbichler [Mon, 22 Aug 2022 11:15:53 +0000 (13:15 +0200)]
use short assign-bit-or (clippy fix)

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agoupdate to nom 7
Fabian Grünbichler [Fri, 19 Aug 2022 11:49:09 +0000 (13:49 +0200)]
update to nom 7

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agorustfmt
Wolfgang Bumiller [Fri, 19 Aug 2022 11:38:46 +0000 (13:38 +0200)]
rustfmt

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoproxmox-backup-client: added ignore-acls/xattrs/ownership/permissions & overwrite...
Markus Frank [Fri, 19 Aug 2022 10:48:48 +0000 (12:48 +0200)]
proxmox-backup-client: added ignore-acls/xattrs/ownership/permissions & overwrite parameters

If ignore-acls/ignore-xattrs/ignore-ownership/ignore-permissions is
set, the corresponding flag gets removed.

overwrite is saved as an PxarExtractOption like allow-existing-dirs.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
22 months agopbs-client: added options to skip acls/xattrs/ownership/permissions
Markus Frank [Fri, 19 Aug 2022 10:48:47 +0000 (12:48 +0200)]
pbs-client: added options to skip acls/xattrs/ownership/permissions

Also added WITH_OWNER and WITH_PERMISSION to Default-Flags,
because otherwise it would be needed to activly set these flags and most
filesystems that support XATTR and ACL also support
POSIX-Permissions & Ownership.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
22 months agopbs-client: added overwrite parameter to PxarExtractOptions.
Markus Frank [Fri, 19 Aug 2022 10:48:46 +0000 (12:48 +0200)]
pbs-client: added overwrite parameter to PxarExtractOptions.

If overwrite is true, O_TRUNC is set (to clean the leftovers)
instead of O_EXCL and therefore overwrites the files and
does not error out.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
22 months agomore stable clippy fixups
Wolfgang Bumiller [Mon, 1 Aug 2022 10:04:38 +0000 (12:04 +0200)]
more stable clippy fixups

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoproperly scope clippy allow
Fabian Grünbichler [Tue, 2 Aug 2022 09:09:40 +0000 (11:09 +0200)]
properly scope clippy allow

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agobump d/control
Wolfgang Bumiller [Thu, 28 Jul 2022 11:48:56 +0000 (13:48 +0200)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agobump proxmox-sys dep to 0.4
Wolfgang Bumiller [Thu, 28 Jul 2022 11:40:07 +0000 (13:40 +0200)]
bump proxmox-sys dep to 0.4

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agotools: drop unused proxmox-borrow dependency
Wolfgang Bumiller [Thu, 28 Jul 2022 11:44:43 +0000 (13:44 +0200)]
tools: drop unused proxmox-borrow dependency

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoallow too_many_arguments in tape restore code
Wolfgang Bumiller [Thu, 28 Jul 2022 10:10:02 +0000 (12:10 +0200)]
allow too_many_arguments in tape restore code

Some of them could easily be grouped in a kind of
RestoreWorker struct, but that'll still leave one bigger
function that's more annoying to change.
Let's just allow it for now.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agolower PullParameters to pub(crate), allow too_many_parameters
Wolfgang Bumiller [Thu, 28 Jul 2022 08:56:43 +0000 (10:56 +0200)]
lower PullParameters to pub(crate), allow too_many_parameters

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoclippy: deal with some internal type complexity
Wolfgang Bumiller [Thu, 28 Jul 2022 08:53:38 +0000 (10:53 +0200)]
clippy: deal with some internal type complexity

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoclippy auto-deref fixes
Wolfgang Bumiller [Thu, 28 Jul 2022 08:32:07 +0000 (10:32 +0200)]
clippy auto-deref fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoclippy fixups for Default impls
Wolfgang Bumiller [Thu, 28 Jul 2022 08:30:02 +0000 (10:30 +0200)]
clippy fixups for Default impls

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoticket: box TfaChallenge, it's large
Wolfgang Bumiller [Thu, 28 Jul 2022 08:23:19 +0000 (10:23 +0200)]
ticket: box TfaChallenge, it's large

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agomore low hanging clippy fruits
Wolfgang Bumiller [Thu, 28 Jul 2022 08:14:28 +0000 (10:14 +0200)]
more low hanging clippy fruits

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoclippy: deal with let bindings
Wolfgang Bumiller [Thu, 28 Jul 2022 08:08:08 +0000 (10:08 +0200)]
clippy: deal with let bindings

In the auth code we rather #[allow] the binding, because in
this case we explicitly want to assert the type.

In fact, it would make more sense for clippy to not warn
about a unit type if the unit type is explicitly spelled
out.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agomore simpler clippy fixes
Wolfgang Bumiller [Thu, 28 Jul 2022 07:56:03 +0000 (09:56 +0200)]
more simpler clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agofile-restore: clippy fixes
Wolfgang Bumiller [Thu, 28 Jul 2022 07:55:43 +0000 (09:55 +0200)]
file-restore: clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agotape: trivial clippy fixes
Wolfgang Bumiller [Thu, 28 Jul 2022 07:55:23 +0000 (09:55 +0200)]
tape: trivial clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agotape: 'comparison_chain' clippy fixes
Wolfgang Bumiller [Thu, 28 Jul 2022 07:55:07 +0000 (09:55 +0200)]
tape: 'comparison_chain' clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoclient: clippy fixes
Wolfgang Bumiller [Thu, 28 Jul 2022 07:26:29 +0000 (09:26 +0200)]
client: clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agodatastore: clippy fixes
Wolfgang Bumiller [Wed, 27 Jul 2022 13:26:50 +0000 (15:26 +0200)]
datastore: clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoconfig: clippy fixes
Wolfgang Bumiller [Wed, 27 Jul 2022 13:22:09 +0000 (15:22 +0200)]
config: clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agotools: allow type_complexity on purely internal field
Wolfgang Bumiller [Wed, 27 Jul 2022 13:19:18 +0000 (15:19 +0200)]
tools: allow type_complexity on purely internal field

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agorest-server: clippy fixups
Wolfgang Bumiller [Wed, 27 Jul 2022 12:52:06 +0000 (14:52 +0200)]
rest-server: clippy fixups

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agorrd: Entry type and clippy fixes
Wolfgang Bumiller [Wed, 27 Jul 2022 11:43:04 +0000 (13:43 +0200)]
rrd: Entry type and clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoapi-types: clippy fixes
Wolfgang Bumiller [Wed, 27 Jul 2022 11:29:32 +0000 (13:29 +0200)]
api-types: clippy fixes

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agomore clippy fixes and annotations
Fabian Grünbichler [Tue, 26 Jul 2022 11:36:14 +0000 (13:36 +0200)]
more clippy fixes and annotations

the remaining ones are:
- type complexity
- fns with many arguments
- new() without default()
- false positives for redundant closures (where closure returns a static
  value)
- expected vs actual length check without match/cmp

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agoclippy fixes
Fabian Grünbichler [Mon, 25 Jul 2022 13:40:44 +0000 (15:40 +0200)]
clippy fixes

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agobump d/control
Wolfgang Bumiller [Mon, 25 Jul 2022 11:43:32 +0000 (13:43 +0200)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agotfa: allow modifying 'allow-subdomains'
Wolfgang Bumiller [Mon, 25 Jul 2022 11:39:41 +0000 (13:39 +0200)]
tfa: allow modifying 'allow-subdomains'

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agobump d/control
Wolfgang Bumiller [Mon, 25 Jul 2022 10:03:41 +0000 (12:03 +0200)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agocargo fmt
Fabian Grünbichler [Thu, 21 Jul 2022 11:48:43 +0000 (13:48 +0200)]
cargo fmt

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agoadapt to proxmox-subscription changes
Fabian Grünbichler [Thu, 21 Jul 2022 11:48:22 +0000 (13:48 +0200)]
adapt to proxmox-subscription changes

key location is now in a single place, missing key and no signature is
not fatal anymore.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agoadapt to proxmox-apt change
Fabian Grünbichler [Thu, 21 Jul 2022 10:05:49 +0000 (12:05 +0200)]
adapt to proxmox-apt change

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agowww: add Signed info to subscription panel
Fabian Grünbichler [Thu, 30 Jun 2022 12:42:06 +0000 (14:42 +0200)]
www: add Signed info to subscription panel

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agomanager: add 'subscription set-offline-key' command
Fabian Grünbichler [Wed, 29 Jun 2022 11:40:10 +0000 (13:40 +0200)]
manager: add 'subscription set-offline-key' command

and disallow updating offline subscription keys via the regular
check/update code path.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agoextract proxmox-subscription crate
Fabian Grünbichler [Tue, 21 Jun 2022 12:35:28 +0000 (14:35 +0200)]
extract proxmox-subscription crate

and add support for signed subscription keys.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agobump proxmox-http dep to 0.6.4
Wolfgang Bumiller [Thu, 21 Jul 2022 11:00:22 +0000 (13:00 +0200)]
bump proxmox-http dep to 0.6.4

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobump version to 2.2.5-1
Thomas Lamprecht [Mon, 18 Jul 2022 12:23:05 +0000 (14:23 +0200)]
bump version to 2.2.5-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoapi daemons: periodically unpark a tokio thread to ensure progress
Thomas Lamprecht [Mon, 18 Jul 2022 12:11:01 +0000 (14:11 +0200)]
api daemons: periodically unpark a tokio thread to ensure progress

The underlying issue seems to be the case when the thread that runs
the IO driver is polling its own tasks, while that happens the IO
driver/poller won't run and thus work stealing won't happen, meaning
that idle and parked threads will keep being parked even if there's
pending work they could do.

A promising solution for tokio is proposed in its issue tracker [0],
but it wasn't yet implemented. So, as stop gap spawn a separate
thread that periodically spawns a no-op ready future in the runtime
which would unpark a worker in the aforementioned case and thus
should break the bogus idleness. Choose a 3s period for that without
any overly elaborate reasons, our main goal is to ensure we accept
incoming connections and 3s is well below a HTTP timeout and leaves
some room for high network latencies while not invoking to much
additional wakeups for systems that are really idling.

[0]: https://github.com/tokio-rs/tokio/issues/4730#issuecomment-1147975074

Link: https://github.com/tokio-rs/tokio/issues/4730
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agofix #4157: docs: fix copy-paste error in repo examples
Thomas Lamprecht [Sat, 16 Jul 2022 09:41:12 +0000 (11:41 +0200)]
fix #4157: docs: fix copy-paste error in repo examples

refer to actually used host/datastore from the example

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agobump version to 2.2.4-1
Thomas Lamprecht [Thu, 14 Jul 2022 16:38:02 +0000 (18:38 +0200)]
bump version to 2.2.4-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoproxy: scheduler: only do a single round of time alignment and drop counter
Thomas Lamprecht [Thu, 14 Jul 2022 16:20:41 +0000 (18:20 +0200)]
proxy: scheduler: only do a single round of time alignment and drop counter

not much value in waiting an extra minute, that doesn't really
guarantees better scheduling (as in, less impact on startup).

Dropping that also allows easily to drop the counter by just moving
the sleep to the beginning of the loop.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoproxy: scheduler: code cleanup/bloat reduction
Thomas Lamprecht [Thu, 14 Jul 2022 16:10:05 +0000 (18:10 +0200)]
proxy: scheduler: code cleanup/bloat reduction

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoproxy: scheduler: move fallback inside next_minute fn, drops result from return
Thomas Lamprecht [Thu, 14 Jul 2022 15:59:24 +0000 (17:59 +0200)]
proxy: scheduler: move fallback inside next_minute fn, drops result from return

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: buildsys: use wild card target for generating config synopsis
Thomas Lamprecht [Thu, 14 Jul 2022 15:56:18 +0000 (17:56 +0200)]
docs: buildsys: use wild card target for generating config synopsis

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: buildsys: use wild card target for generating synopsis
Thomas Lamprecht [Thu, 14 Jul 2022 15:54:16 +0000 (17:54 +0200)]
docs: buildsys: use wild card target for generating synopsis

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: replace copyright years statement with single source of truth from conf
Thomas Lamprecht [Thu, 14 Jul 2022 14:53:14 +0000 (16:53 +0200)]
docs: replace copyright years statement with single source of truth from conf

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: conf: update copyright years
Thomas Lamprecht [Thu, 14 Jul 2022 14:49:23 +0000 (16:49 +0200)]
docs: conf: update copyright years

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: epilog: add version dynamically and drop unused AUTHOR replacement
Thomas Lamprecht [Thu, 14 Jul 2022 14:50:50 +0000 (16:50 +0200)]
docs: epilog: add version dynamically and drop unused AUTHOR replacement

now that the man pages are generated from sphinx, not rst2man, they
got access to the conf.py and things like its rst_epilog variable.

Use that to set the correct version in there dynamically

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: let sphinx build man pages for better integration and less cruft
Thomas Lamprecht [Thu, 14 Jul 2022 14:41:43 +0000 (16:41 +0200)]
docs: let sphinx build man pages for better integration and less cruft

rst2man is only good for use in projects that don't use sphinx
already, as there it can help to avoid bringing in the full sphinx
dependencies and be easier to manage (as long as it stay small).

But we already use sphinx, so there's no point in managing the manual
pages in a separate, semi-related way that is quite restricted as we
have no access to sphinx infrastructure like conf.py defined
variables and helpers for things like the current version.

Besides that, we're rather big, so the complexity of sphinx can
shine, e.g., see the diffstat report from switching out rst2man for
sphinx:

22 files changed, 74 insertions(+), 347 deletions(-)

so 273 lines less in total is rather nice.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agofix: api2: make tasks endpoint work with new prune job worker type
Stefan Sterz [Wed, 13 Jul 2022 14:36:29 +0000 (16:36 +0200)]
fix: api2: make tasks endpoint work with new prune job worker type

when prune jobs were refactored, their worker type was changed from
"prune" to "prunejob" this broke `check_job_store` and
`check_job_privs`

as reported in the forum: https://forum.proxmox.com/threads/problem-with-apirequest-on-pbs-2-2-3.112131/#post-483835

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
23 months agoapi2: optimize filtered snapshot listing
Wolfgang Bumiller [Thu, 14 Jul 2022 08:53:39 +0000 (10:53 +0200)]
api2: optimize filtered snapshot listing

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agodatastore: add BackupGroup::exists helper
Wolfgang Bumiller [Thu, 14 Jul 2022 09:13:44 +0000 (11:13 +0200)]
datastore: add BackupGroup::exists helper

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agodatastore: factor type out of ListGroups into ListGroupsType
Wolfgang Bumiller [Wed, 13 Jul 2022 12:56:36 +0000 (14:56 +0200)]
datastore: factor type out of ListGroups into ListGroupsType

In the API we want to iterate over all backup groups
belonging to a particular type at least once, and iterating
through *everything* and simply "skipping" over every single
entry from another type makes no sense given that the groups
are organized into subdirectories based on their type.

Let's have an `.iter_backup_type()` method which returns an
iterator over all the groups of a specific type named
ListGroupsType and factorize the type level iterator out of
ListGroups for reuse.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agodatastore: simplify iter_backup_groups_ok
Wolfgang Bumiller [Wed, 13 Jul 2022 12:43:17 +0000 (14:43 +0200)]
datastore: simplify iter_backup_groups_ok

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi-types: make BackupType::iter an actual iterator
Wolfgang Bumiller [Thu, 14 Jul 2022 09:09:34 +0000 (11:09 +0200)]
api-types: make BackupType::iter an actual iterator

Otherwise we have to use BackupType::iter().iter() whenever
we're not using a `for _ in iter()` construct.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: wrap get_snapshots_count in spawn_blocking
Wolfgang Bumiller [Wed, 13 Jul 2022 12:00:38 +0000 (14:00 +0200)]
api: wrap get_snapshots_count in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: wrap set_backup_owner in spawn_blocking
Wolfgang Bumiller [Wed, 13 Jul 2022 12:01:24 +0000 (14:01 +0200)]
api: wrap set_backup_owner in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: wrap set_protection in spawn_blocking
Wolfgang Bumiller [Wed, 13 Jul 2022 12:01:09 +0000 (14:01 +0200)]
api: wrap set_protection in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: wrap catalog in spawn_blocking
Wolfgang Bumiller [Wed, 13 Jul 2022 12:01:00 +0000 (14:01 +0200)]
api: wrap catalog in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: wrap delete_snapshot in spawn_blocking
Wolfgang Bumiller [Wed, 13 Jul 2022 12:00:25 +0000 (14:00 +0200)]
api: wrap delete_snapshot in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: wrap list_snapshot_files in spawn_blocking
Wolfgang Bumiller [Wed, 13 Jul 2022 12:00:13 +0000 (14:00 +0200)]
api: wrap list_snapshot_files in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: wrap delete_group in spawn_blocking
Wolfgang Bumiller [Wed, 13 Jul 2022 11:52:38 +0000 (13:52 +0200)]
api: wrap delete_group in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: move 'list_snapshots' to a blocking thread
Wolfgang Bumiller [Tue, 12 Jul 2022 09:07:55 +0000 (11:07 +0200)]
api: move 'list_snapshots' to a blocking thread

This is a stop-gap measure to prevent snapshot listing from
blocking the main async worker threads as it can potentially
do a *lot* of I/O.

Ideally we'll move to a proper streaming API, but this will
be an API break.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agowrap fs_info calls in spawn_blocking
Wolfgang Bumiller [Mon, 11 Jul 2022 08:41:16 +0000 (10:41 +0200)]
wrap fs_info calls in spawn_blocking

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agotape: include used tapes in tape notification e-mails
Dominik Csapak [Fri, 1 Jul 2022 12:11:04 +0000 (14:11 +0200)]
tape: include used tapes in tape notification e-mails

by saving them in the pool-writer, and setting them in the
TapeBackupJobSummary

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
23 months agomove json_object_to_query to proxmox-http+http-helpers
Fabian Grünbichler [Tue, 21 Jun 2022 12:32:02 +0000 (14:32 +0200)]
move json_object_to_query to proxmox-http+http-helpers

it's used by the subscription code that will be extracted next.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agomove to/write_canonical_json to proxmox-serde
Fabian Grünbichler [Tue, 21 Jun 2022 12:27:00 +0000 (14:27 +0200)]
move to/write_canonical_json to proxmox-serde

as preparation for extracting subscription-related code into its own
crate.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agocruft: remove tools::http
Fabian Grünbichler [Wed, 29 Jun 2022 09:54:20 +0000 (11:54 +0200)]
cruft: remove tools::http

it's not used by anything.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agorustfmt
Wolfgang Bumiller [Thu, 30 Jun 2022 08:18:32 +0000 (10:18 +0200)]
rustfmt

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi: tape/backup: improve behaviour for vanishing snapshots
Dominik Csapak [Wed, 29 Jun 2022 12:15:44 +0000 (14:15 +0200)]
api: tape/backup: improve behaviour for vanishing snapshots

when snapshots vanish during tape backup, we skip them. Until now,
we also warned with the error and failed the task at the end.

Since deleting snapshots during tape backup does not really interfere
with it, don't fail the whole task, and only add a log line that it
was skipped.

To differentiate from different errors (e.g. permission problems),
introduce a 'SnapshotBackupResult' which is returned by 'backup_snapshot'.

Also remove the 'pub' there since we don't want to leak the
SnapshotBackupResult type and it's not used anywhere outside this file.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agofile-restore: fix a hyperlink in docs
Wolfgang Bumiller [Thu, 30 Jun 2022 08:16:03 +0000 (10:16 +0200)]
file-restore: fix a hyperlink in docs

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi-types: doc: add crate to `Display` trait in comments
Stefan Sterz [Wed, 29 Jun 2022 08:55:38 +0000 (10:55 +0200)]
api-types: doc: add crate to `Display` trait in comments

when creating the documentation (e.g. `cargo doc --open`), it would
warn that `Display` is not in scope.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agotape reader: improve error for unknown magic number
Thomas Lamprecht [Wed, 29 Jun 2022 10:09:37 +0000 (12:09 +0200)]
tape reader: improve error for unknown magic number

ancient LTO version can cause this too (got some forum reports)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agopartially fix #2915: 'stat' in case ReadDirEntry does not contain type
Dominik Csapak [Tue, 28 Jun 2022 13:15:14 +0000 (15:15 +0200)]
partially fix #2915: 'stat' in case ReadDirEntry does not contain type

readdir/getdents may return 'DT_UNKNOWN' for the file type
(which corresponds to 'None' in nix::dir::Entry), so stat the file and
check the type

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobump proxmox-sys dep to 0.3.1
Wolfgang Bumiller [Wed, 29 Jun 2022 07:44:42 +0000 (09:44 +0200)]
bump proxmox-sys dep to 0.3.1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agod/control cleanup
Wolfgang Bumiller [Tue, 21 Jun 2022 08:52:57 +0000 (10:52 +0200)]
d/control cleanup

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobump d/control
Wolfgang Bumiller [Tue, 21 Jun 2022 08:48:59 +0000 (10:48 +0200)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agorestore-daemon: make file listing 'streaming'
Dominik Csapak [Mon, 20 Jun 2022 07:51:13 +0000 (09:51 +0200)]
restore-daemon: make file listing 'streaming'

this prevents an oom kill when listing large directories.
Without this, i'd get an oom kill in the restore vm when
i tried to list a directory with ~60000 entries, but with this,
i'd get the response for even 250000 entries

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agofixed_index: remove unused 'print_info' function
Hannes Laimer [Wed, 15 Jun 2022 08:19:57 +0000 (08:19 +0000)]
fixed_index: remove unused 'print_info' function

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agodocs: add note for setting verbosity level
Hannes Laimer [Wed, 15 Jun 2022 08:19:56 +0000 (08:19 +0000)]
docs: add note for setting verbosity level

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoreplace print with log macro
Hannes Laimer [Wed, 15 Jun 2022 08:19:55 +0000 (08:19 +0000)]
replace print with log macro

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoproxmox-rest-server: replace print with log macro
Hannes Laimer [Wed, 15 Jun 2022 08:19:54 +0000 (08:19 +0000)]
proxmox-rest-server: replace print with log macro

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoproxmox-file-restore: replace print with log macro
Hannes Laimer [Wed, 15 Jun 2022 08:19:53 +0000 (08:19 +0000)]
proxmox-file-restore: replace print with log macro

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoproxmox-backup-client: replace print with log macro
Hannes Laimer [Wed, 15 Jun 2022 08:19:52 +0000 (08:19 +0000)]
proxmox-backup-client: replace print with log macro

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agopbs-fuse+pbs-tape: replace print with log macro
Hannes Laimer [Wed, 15 Jun 2022 08:19:51 +0000 (08:19 +0000)]
pbs-fuse+pbs-tape: replace print with log macro

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agopbs-datastore: replace print with log macro
Hannes Laimer [Wed, 15 Jun 2022 08:19:50 +0000 (08:19 +0000)]
pbs-datastore: replace print with log macro

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agopbs-client: replace print with log macro
Hannes Laimer [Wed, 15 Jun 2022 08:19:49 +0000 (08:19 +0000)]
pbs-client: replace print with log macro

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobins: init cli logger
Hannes Laimer [Wed, 15 Jun 2022 08:19:48 +0000 (08:19 +0000)]
bins: init cli logger

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobump proxmox-router dep to 1.2.4
Wolfgang Bumiller [Tue, 21 Jun 2022 08:43:11 +0000 (10:43 +0200)]
bump proxmox-router dep to 1.2.4

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoui: disks: show partitions by default
Hannes Laimer [Wed, 8 Jun 2022 08:51:53 +0000 (08:51 +0000)]
ui: disks: show partitions by default

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
2 years agodisks: use builder pattern for querying disk usage
Hannes Laimer [Wed, 15 Jun 2022 06:17:14 +0000 (06:17 +0000)]
disks: use builder pattern for querying disk usage

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
2 years agoapi2: disks endpoint return partitions
Hannes Laimer [Wed, 8 Jun 2022 08:51:51 +0000 (08:51 +0000)]
api2: disks endpoint return partitions

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
2 years agoremove outdated comment
Wolfgang Bumiller [Tue, 14 Jun 2022 11:00:14 +0000 (13:00 +0200)]
remove outdated comment

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>