]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
2 years agobump d/control
Wolfgang Bumiller [Wed, 23 Nov 2022 14:47:33 +0000 (15:47 +0100)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agobump pxar dependency to 0.10.2
Wolfgang Bumiller [Wed, 23 Nov 2022 14:47:07 +0000 (15:47 +0100)]
bump pxar dependency to 0.10.2

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agodistinguish between block/chardevs in diff output
Wolfgang Bumiller [Wed, 23 Nov 2022 09:07:23 +0000 (10:07 +0100)]
distinguish between block/chardevs in diff output

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agofix #3828: proxmox_backup_debug: Introduce `diff archive` subcommand.
Lukas Wagner [Fri, 28 Oct 2022 10:01:43 +0000 (12:01 +0200)]
fix #3828: proxmox_backup_debug: Introduce `diff archive` subcommand.

This new subcommand compares a pxar archive in two different
snapshots and prints a list of added/modified/deleted file
entries.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2 years agoui: prune job edit: fix disabling jobs
Thomas Lamprecht [Tue, 15 Nov 2022 14:26:05 +0000 (15:26 +0100)]
ui: prune job edit: fix disabling jobs

The backend doesn't have an 'enable' option, but 'disable'. Convert
it to avoid a negative value that is checked "enabled".

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi-types: derive Ord for BackupDir
Wolfgang Bumiller [Tue, 15 Nov 2022 09:16:54 +0000 (10:16 +0100)]
api-types: derive Ord for BackupDir

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoui: update generated OnlineHelpInfo map
Thomas Lamprecht [Tue, 15 Nov 2022 08:25:09 +0000 (09:25 +0100)]
ui: update generated OnlineHelpInfo map

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: improve tape/drive icon positioning/size
Thomas Lamprecht [Tue, 15 Nov 2022 08:24:40 +0000 (09:24 +0100)]
ui: improve tape/drive icon positioning/size

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile-restore: move various formats to inline-string macros
Thomas Lamprecht [Tue, 15 Nov 2022 08:08:09 +0000 (09:08 +0100)]
file-restore: move various formats to inline-string macros

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile-restore: split out internal QMP logic from unrelated fn
Thomas Lamprecht [Mon, 14 Nov 2022 15:13:29 +0000 (16:13 +0100)]
file-restore: split out internal QMP logic from unrelated fn

Capsule it in a small QMPSock struct impl, make the usage nicer as
the caller should not have to care & keep track of the initial socket
state+details.

A send_raw and send Value method should cover most needs.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile restore: allow to pass dimm size via env
Thomas Lamprecht [Mon, 14 Nov 2022 15:07:10 +0000 (16:07 +0100)]
file restore: allow to pass dimm size via env

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile restore: limit max dimm size to 512 MB
Thomas Lamprecht [Mon, 14 Nov 2022 14:59:49 +0000 (15:59 +0100)]
file restore: limit max dimm size to 512 MB

this is on top of the normal memory, and over 1.3 GB required is just
huge, sadly the commit adding this has zero details about what setups
fail and what work again with the change, so hard to tell, but any
setup that needs that much sounds like a bug in ZFS or remaining code
here.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile restore: move allow-memory-hotplug param from CLI to environment
Thomas Lamprecht [Mon, 14 Nov 2022 14:41:07 +0000 (15:41 +0100)]
file restore: move allow-memory-hotplug param from CLI to environment

avoid the need to loop a parameter through a dozen function which all
don't care about it at all; iff this should be a global oncecell or
lock guarded param.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile restore: rename dynamic-memory to auto-memory-hotplug
Thomas Lamprecht [Fri, 11 Nov 2022 09:20:41 +0000 (10:20 +0100)]
file restore: rename dynamic-memory to auto-memory-hotplug

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile-restore: make dynamic memory behaviour controllable
Dominik Csapak [Thu, 10 Nov 2022 10:36:29 +0000 (11:36 +0100)]
file-restore: make dynamic memory behaviour controllable

by adding 'dynamic-memory' parameter that controls if we automatically
increase the memory of the guest vm or not

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agolimit ZFS Arc to more smalles possible value
Thomas Lamprecht [Fri, 11 Nov 2022 09:21:37 +0000 (10:21 +0100)]
limit ZFS Arc to more smalles possible value

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile restore: list api: fix description of "path"
Thomas Lamprecht [Fri, 11 Nov 2022 09:21:07 +0000 (10:21 +0100)]
file restore: list api: fix description of "path"

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile restore: switch some formats to inline template variables
Thomas Lamprecht [Fri, 11 Nov 2022 09:18:40 +0000 (10:18 +0100)]
file restore: switch some formats to inline template variables

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofix #4287: d/control: recommend proxmox-mail-forward
Fiona Ebner [Fri, 21 Oct 2022 13:02:48 +0000 (15:02 +0200)]
fix #4287: d/control: recommend proxmox-mail-forward

which registers a binary in /root/.forward and handles mail forwarding
to the mail addresss configured for root@pam in PBS. Similar to how it
is done in PVE currently.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2 years agofile-restore: dynamically increase memory of vm for zpools
Dominik Csapak [Mon, 31 Oct 2022 11:39:53 +0000 (12:39 +0100)]
file-restore: dynamically increase memory of vm for zpools

when a backup contains a drive with zfs on it, the default memory
size (up to 384 MiB) is often not enough to hold the zfs metadata

to improve that situation, add memory dynamically (1GiB) when a path is
requested that is on zfs. Note that the image must be started with a
kernel capable of memory hotplug.

to achieve that, we also have to add a qmp socket to the vm, so that
we can later connect and add the memory backend and dimm

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agofile-restore: fix deprecated qemu parameters
Dominik Csapak [Mon, 31 Oct 2022 11:39:52 +0000 (12:39 +0100)]
file-restore: fix deprecated qemu parameters

server and nowait are deprecated, so we should use the longform:
server=on and wait=off

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agodocs: add documentation about the 'sync-level' tuning
Dominik Csapak [Fri, 28 Oct 2022 07:34:48 +0000 (09:34 +0200)]
docs: add documentation about the 'sync-level' tuning

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agodatastore: improve sync level code a bit
Dominik Csapak [Fri, 28 Oct 2022 07:34:47 +0000 (09:34 +0200)]
datastore: improve sync level code a bit

fixups for DatastoreFSyncLevel:
* use derive for Default
* add some more derives (Clone, Copy)

chunk store:
* drop to_owned for chunk_dir_path

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoclippy fixes
Fabian Grünbichler [Mon, 24 Oct 2022 10:10:19 +0000 (12:10 +0200)]
clippy fixes

the dropped .into() is guarded by the bumped build-dependency on
proxmox-sys 0.4.1, the missing Eq is a new clippy lint.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoreport: add arcstat
Aaron Lauterer [Tue, 18 Oct 2022 12:33:02 +0000 (14:33 +0200)]
report: add arcstat

Signed-off-by: Aaron Lauterer <a.lauterer@proxmox.com>
2 years agofix #4301: correctly pass rate limit parameters to API
Stefan Hanreich [Thu, 20 Oct 2022 13:36:30 +0000 (15:36 +0200)]
fix #4301: correctly pass rate limit parameters to API

With the old code the rate limit parameters got passed in their own
dictionary under the limit key, but the API expects the rate-limit
settings as top-level keys. This commit correctly sets the rate-limit
parameters so the API actually uses them.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
2 years agodatastore: implement sync-level tuning for datastores
Dominik Csapak [Thu, 20 Oct 2022 07:40:56 +0000 (09:40 +0200)]
datastore: implement sync-level tuning for datastores

currently, we don't (f)sync on chunk insertion (or at any point after
that), which can lead to broken chunks in case of e.g. an unexpected
powerloss. To fix that, offer a tuning option for datastores that
controls the level of syncs it does:

* None (default): same as current state, no (f)syncs done at any point
* Filesystem: at the end of a backup, the datastore issues
  a syncfs(2) to the filesystem of the datastore
* File: issues an fsync on each chunk as they get inserted
  (using our 'replace_file' helper) and a fsync on the directory handle

a small benchmark showed the following (times in mm:ss):
setup: virtual pbs, 4 cores, 8GiB memory, ext4 on spinner

size                none    filesystem  file
2GiB (fits in ram)   00:13   0:41        01:00
33GiB                05:21   05:31       13:45

so if the backup fits in memory, there is a large difference between all
of the modes (expected), but as soon as it exceeds the memory size,
the difference between not syncing and syncing the fs at the end becomes
much smaller.

i also tested on an nvme, but there the syncs basically made no difference

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agopbs-datastore: chunk_store: use replace_file in insert_chunk
Dominik Csapak [Thu, 20 Oct 2022 07:40:55 +0000 (09:40 +0200)]
pbs-datastore: chunk_store: use replace_file in insert_chunk

it does the same as the current code

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agodocs: add information about chunk order option for datastores
Dominik Csapak [Thu, 20 Oct 2022 07:40:54 +0000 (09:40 +0200)]
docs: add information about chunk order option for datastores

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoproxmox-tape: inventory: add default to parameters
Dominik Csapak [Wed, 19 Oct 2022 11:13:35 +0000 (13:13 +0200)]
proxmox-tape: inventory: add default to parameters

and convert the 'Option<bool>' to 'bool'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoui: tape/ChangerStatus: adding parameter selection to inventory
Dominik Csapak [Wed, 19 Oct 2022 11:13:34 +0000 (13:13 +0200)]
ui: tape/ChangerStatus: adding parameter selection to inventory

namely 'catalog' and 'read-all-labels', by always opening a
window (with a drive now autoselected) and the two checkboxes

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoproxmox-tape: add 'catalog' option to 'proxmox-tape inventory'
Dominik Csapak [Wed, 19 Oct 2022 11:13:33 +0000 (13:13 +0200)]
proxmox-tape: add 'catalog' option to 'proxmox-tape inventory'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoapi/tape/inventory: optionally try to restore catalogs
Dominik Csapak [Wed, 19 Oct 2022 11:13:32 +0000 (13:13 +0200)]
api/tape/inventory: optionally try to restore catalogs

in a disaster recovery case, it is useful to not only re-invetorize
the labels + media-sets, but also to try to recover the catalogs
from the tape (to know whats on there). This adds an option to
the inventory api call that tries to do a fast catalog restore
from each tape to be inventorized.

also sets the correct default for 'read-all-labels' in the api and
converts to a bool

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agotape: replace '&Path' with 'AsRef<Path>' in function parameters
Dominik Csapak [Wed, 19 Oct 2022 11:13:31 +0000 (13:13 +0200)]
tape: replace '&Path' with 'AsRef<Path>' in function parameters

this way we can omit the pattern
```
let status_path = Path::new(TAPE_STATUS_DIR);
some_function(status_path);
```
and give the TAPE_STATUS_DIR directly. In some instances we now have to
give TAPE_STATUS_DIR more often, but most often we save a few
intermediary Paths.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agopbs-client: fix bash autocompletion for archive-files
Lukas Wagner [Thu, 20 Oct 2022 09:22:50 +0000 (11:22 +0200)]
pbs-client: fix bash autocompletion for archive-files

Previously, autocompletion of archive names, for instance
in the case of

  $ proxmox-backup-client restore <snapshot> <TAB>

did not work if no namespace was provided via the --ns option.
The fix is to fall back to the root namespace if the option is
not provided by the user.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2 years agopbs-client: use new non-Fd open from sys 0.4.1
Wolfgang Bumiller [Wed, 19 Oct 2022 12:28:10 +0000 (14:28 +0200)]
pbs-client: use new non-Fd open from sys 0.4.1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agobump d/control
Wolfgang Bumiller [Wed, 19 Oct 2022 12:23:08 +0000 (14:23 +0200)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agobump sys dep to 0.4.1
Wolfgang Bumiller [Wed, 19 Oct 2022 12:22:38 +0000 (14:22 +0200)]
bump sys dep to 0.4.1

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoclient: drop deprecated Fd usage
Wolfgang Bumiller [Wed, 19 Oct 2022 11:51:26 +0000 (13:51 +0200)]
client: drop deprecated Fd usage

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agopbs-client: drop use of deprecated RawFdNum
Wolfgang Bumiller [Wed, 19 Oct 2022 12:17:59 +0000 (14:17 +0200)]
pbs-client: drop use of deprecated RawFdNum

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agopbs-client: drop deprecated Fd usage
Wolfgang Bumiller [Wed, 19 Oct 2022 11:51:13 +0000 (13:51 +0200)]
pbs-client: drop deprecated Fd usage

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoconfig: drop deprecated Fd usage
Wolfgang Bumiller [Wed, 19 Oct 2022 11:45:53 +0000 (13:45 +0200)]
config: drop deprecated Fd usage

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoclient: use BorrowedFd from std
Wolfgang Bumiller [Wed, 19 Oct 2022 08:56:14 +0000 (10:56 +0200)]
client: use BorrowedFd from std

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agobump edition in rustfmt.toml
Wolfgang Bumiller [Thu, 13 Oct 2022 13:01:07 +0000 (15:01 +0200)]
bump edition in rustfmt.toml

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agocargo: rrd: set license in subcrate too
Thomas Lamprecht [Tue, 11 Oct 2022 13:45:52 +0000 (15:45 +0200)]
cargo: rrd: set license in subcrate too

in preparation of moving this out

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agomove proxmox-rest-server to proxmox-rs as separate package
Thomas Lamprecht [Tue, 11 Oct 2022 13:27:47 +0000 (15:27 +0200)]
move proxmox-rest-server to proxmox-rs as separate package

Lives now in the common proxmox rs repo[0] for better reuse with
other projects.

[0]: https://git.proxmox.com/?p=proxmox.git;a=tree;f=proxmox-rest-server;h=8035b65a00271604c229590d0109aba3f75ee784

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: node certificate: make parent panel scrollable
Dominik Csapak [Tue, 11 Oct 2022 09:20:33 +0000 (11:20 +0200)]
ui: node certificate: make parent panel scrollable

The `ACME` panel may be rendered out of sight (overflow) when there
are enough SANs on the upper `Certificates` panel to push it down
enough and the browser/display height is too small.

Enable the `scrollable` config for the parent certificate view panel
in the y-axis (vertical) to make ExtJS automatically add a scrollbar
if the content overflows. Avoid enabling it for the x-axis too as
that breaks reflow of the layout if the browser window gets resized.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
 [T: fix commit message to one from manager ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agocargo fmt
Fabian Grünbichler [Mon, 10 Oct 2022 07:54:18 +0000 (09:54 +0200)]
cargo fmt

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoclippy fixes
Fabian Grünbichler [Tue, 11 Oct 2022 07:26:32 +0000 (09:26 +0200)]
clippy fixes

and one additional API fn "allow many parameters" addition.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoprune job: various cleanups, line reduction
Thomas Lamprecht [Fri, 7 Oct 2022 13:39:51 +0000 (15:39 +0200)]
prune job: various cleanups, line reduction

no semantic change intended

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune job: avoid duplicate code when assembling CLI keep options
Thomas Lamprecht [Fri, 7 Oct 2022 13:37:32 +0000 (15:37 +0200)]
prune job: avoid duplicate code when assembling CLI keep options

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofix #4274: implement prune notifications
Dominik Csapak [Thu, 6 Oct 2022 09:08:12 +0000 (11:08 +0200)]
fix #4274: implement prune notifications

we converted the prune settings of datastores to prune-jobs, but did
not actually implement the notifications for them, even though
we had the notification options in the gui (they did not work).

implement the basic ok/error notification for prune jobs

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoRemove BackupFileDownloader.js file and Makefile entry
Daniel Tschlatscher [Fri, 29 Apr 2022 14:47:32 +0000 (16:47 +0200)]
Remove BackupFileDownloader.js file and Makefile entry

While finishing up my previous patch series I stumbled upon this file
which is not referenced anywhere in the proxmox-backup repository nor
in any of the other repositories as far as I can tell (except in the
Makefile).
I searched far and wide for any occurences and tested the backup
explorer GUI without it, which still seems to work normally.

Introduced in: 98425309b0106c9174505614525a9561d98c56d7
References removed in: 3e395378bca5a844b2c820750cd57e4f2bfbacca

Therefore I think this can be safely considered dead code and be
removed. It shall remain in the pve-devel archives forevermore anyway.

Signed-off-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
2 years agofile-restore: remove 'json-error' parameter from list_files
Dominik Csapak [Fri, 27 May 2022 08:22:03 +0000 (10:22 +0200)]
file-restore: remove 'json-error' parameter from list_files

we can reuse the 'output_format' here
also remove the 'error: true' here. we can determine it was an error,
by checking if it's an object with a 'message' property

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agotape/inventory: make 'load_media_db' a method
Dominik Csapak [Thu, 19 May 2022 10:08:16 +0000 (12:08 +0200)]
tape/inventory: make 'load_media_db' a method

and use self.inventory_path. This is only used internally (not pub) so there
is no need to have it as a static function.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agodocs: language fixup
Dylan Whyte [Tue, 17 May 2022 16:12:42 +0000 (18:12 +0200)]
docs: language fixup

This fixup covers every doc patch since my previous language fixup patch.

Note: not much attention was paid to certificate-management, as it's
derived from pmg, which I had touched up not so long ago.

Signed-off-by: Dylan Whyte <d.whyte@proxmox.com>
2 years agobump version to 2.2.7-1
Thomas Lamprecht [Wed, 5 Oct 2022 16:59:54 +0000 (18:59 +0200)]
bump version to 2.2.7-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofile-restore: add 'format' and 'zstd' parameters to 'extract' command
Dominik Csapak [Wed, 13 Jul 2022 09:43:14 +0000 (11:43 +0200)]
file-restore: add 'format' and 'zstd' parameters to 'extract' command

if the target ist stdout, we can now specify the exact format by making use of
the new 'format' parameter of the restore daemons 'extract' api

note that extracting a pxar from a source pxar (container/host backups)
won't work currently since we would have to reencode as pxar first

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
 [ T: fixed missing proxmox-compression dependency ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agorestore-daemon: add 'format' and 'zstd' parameters to the 'extract' handler
Dominik Csapak [Wed, 13 Jul 2022 09:43:13 +0000 (11:43 +0200)]
restore-daemon: add 'format' and 'zstd' parameters to the 'extract' handler

'format' can be 'plain', 'pxar', 'zip' or 'tar',  and it returns the
content in the given format (with fallback to the old behaviour if not
given)

the 'zstd' denotes if the output should be zstd compressed

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agopbs-api-types: add FileRestoreFormat type
Dominik Csapak [Wed, 13 Jul 2022 09:43:12 +0000 (11:43 +0200)]
pbs-api-types: add FileRestoreFormat type

intended for passing the format to the file-restore client/daemon

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune sim: shorten code for weekdayFlags computation
Thomas Lamprecht [Wed, 5 Oct 2022 14:57:40 +0000 (16:57 +0200)]
prune sim: shorten code for weekdayFlags computation

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune sim: mask simulation options during update
Thomas Lamprecht [Wed, 5 Oct 2022 14:56:51 +0000 (16:56 +0200)]
prune sim: mask simulation options during update

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune sim: style nit
Thomas Lamprecht [Wed, 5 Oct 2022 12:38:59 +0000 (14:38 +0200)]
prune sim: style nit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: prune sim: explicitly document time range options
Thomas Lamprecht [Wed, 5 Oct 2022 11:18:13 +0000 (13:18 +0200)]
docs: prune sim: explicitly document time range options

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune sim: rework simulation options layout
Thomas Lamprecht [Wed, 5 Oct 2022 11:11:16 +0000 (13:11 +0200)]
prune sim: rework simulation options layout

move the two columns to a field set each, one for the backup job
config, containing weekdays and schedule, and one for the simulation
time, which contains the end date/time and the duration, which got
moved over, as it better fits along the new date/time.

Note that I used end instead of start as its the later point in time,
so hopefully less confusing, but one could argue either.

Flex and width of the fields got adapted such that they now better
work on smaller resolutions (< 1500px total width) and look better
on both, low and high resolutions/width.

The button got moved into the docked area  mostly due to me being to
lazy to add yet another container indirection for having the hbox
nested inside a vbox, but also as it makes sense to have it big and
centered available.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: prune sim: add h4 to h6 style in css
Thomas Lamprecht [Wed, 5 Oct 2022 11:07:07 +0000 (13:07 +0200)]
docs: prune sim: add h4 to h6 style in css

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune sim: move PruneList to more static declaration
Thomas Lamprecht [Tue, 4 Oct 2022 14:32:18 +0000 (16:32 +0200)]
prune sim: move PruneList to more static declaration

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune-simulator: allow setting a custom date/time
Matthias Heiserer [Tue, 20 Sep 2022 13:21:28 +0000 (15:21 +0200)]
prune-simulator: allow setting a custom date/time

With this, the prune simulator will be more flexible, which might clear
up questions such as these:
https://forum.proxmox.com/threads/pbs-prune-simulator-monthly-backups.115081

In order to have the configuration window not take up too much space,
I added another column and moved the border to the left.

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
2 years agoapi: disk SMART: fix details for depreacated return value comment
Thomas Lamprecht [Fri, 23 Sep 2022 08:33:17 +0000 (10:33 +0200)]
api: disk SMART: fix details for depreacated return value comment

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agofix #4165: SMART: add raw field
Matthias Heiserer [Thu, 21 Jul 2022 10:45:57 +0000 (12:45 +0200)]
fix #4165: SMART: add raw field

This makes it consistent with the naming scheme in PVE/GUI.
Keep value for API stability reasons, and remove it in next major version.

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.cspak@proxmox.com>
2 years agodaily update: fix subscription check
Fabian Grünbichler [Thu, 22 Sep 2022 13:37:52 +0000 (15:37 +0200)]
daily update: fix subscription check

this wrongly triggered for non-subscribed systems as well.

Fixes: dd16e1dac8976b523c1cf895efe280b73008eca6
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi/pull: drop unused ApiMethod info
Thomas Lamprecht [Fri, 23 Sep 2022 05:56:40 +0000 (07:56 +0200)]
api/pull: drop unused ApiMethod info

the API macro can handle this

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agopbs-manager: fix pull not respecting local ns setting
Matthias Heiserer [Tue, 20 Sep 2022 10:08:48 +0000 (12:08 +0200)]
pbs-manager: fix pull not respecting local ns setting

It pulls to root namespace instead.

Signed-off-by: Matthias Heiserer <m.heiserer@proxmox.com>
2 years agofix #4095: make http client use proxy config from 'ALL_PROXY' env var
Stefan Hanreich [Fri, 16 Sep 2022 08:48:38 +0000 (10:48 +0200)]
fix #4095: make http client use proxy config from 'ALL_PROXY' env var

In order to be able to use a proxy with the proxmox-backup-client, use
ProxyConfig for parsing proxy server config from the environment. Also
added a section in the documentation that describes how to configure the
environment if a proxy server should be used.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapt: add proxmox-offline-mirror-helper package
Fabian Grünbichler [Thu, 15 Sep 2022 07:08:32 +0000 (09:08 +0200)]
apt: add proxmox-offline-mirror-helper package

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agod/control: recommend proxmox-offline-mirror-helper
Fabian Grünbichler [Mon, 12 Sep 2022 08:56:25 +0000 (10:56 +0200)]
d/control: recommend proxmox-offline-mirror-helper

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agodocs: faq: fix heading underline
Fabian Grünbichler [Mon, 12 Sep 2022 08:13:35 +0000 (10:13 +0200)]
docs: faq: fix heading underline

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agodocs: faq: add better clarification on full/incremental
Dominik Csapak [Fri, 26 Aug 2022 08:09:21 +0000 (10:09 +0200)]
docs: faq: add better clarification on full/incremental

and add a link to the technical overview

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agodocs: technical overview: add section about snapshots
Dominik Csapak [Fri, 26 Aug 2022 08:09:20 +0000 (10:09 +0200)]
docs: technical overview: add section about snapshots

to clarify that snapshots get uploaded in an incremental manner, but
still represent a full backup.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agodocs: terminology: update snapshot uniqueness for namespaces
Dominik Csapak [Fri, 26 Aug 2022 08:09:19 +0000 (10:09 +0200)]
docs: terminology: update snapshot uniqueness for namespaces

since we introduced namespaces, a snapshot does not have be unique
across the datastore anymore, only a namespace.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agofix: datastore: make relative_group_path() return relative path
Stefan Sterz [Wed, 24 Aug 2022 12:48:25 +0000 (14:48 +0200)]
fix: datastore: make relative_group_path() return relative path

previously the BackGroup trait used the datastore's
namespace_path() method to construct a base path. this would result in
it returning an absolute path equivalent to full_group_path(). use
the namspace's path() method instead to get a relative path, in-line
with backup_dir's relative_path().

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
2 years agoui: fix default language display
Dominik Csapak [Thu, 1 Sep 2022 07:21:27 +0000 (09:21 +0200)]
ui: fix default language display

when we set a default language server side, we want to display that on
the login page. For that we have to use the 'language' variable in the
index template.

Also set the fallback to '__default__' instead of 'en' so that we show
'Default (English)'.

Was reported in the forum:

https://forum.proxmox.com/threads/set-default-language-on-server-login-screen-to-german.114431/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agobump version to 2.2.6-1
Thomas Lamprecht [Fri, 9 Sep 2022 12:15:14 +0000 (14:15 +0200)]
bump version to 2.2.6-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoproxy: inline args in format strings
Thomas Lamprecht [Fri, 9 Sep 2022 12:00:26 +0000 (14:00 +0200)]
proxy: inline args in format strings

in most cases anyway. Allows for shorter code, which allows to drop
some line breaks.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: intro: avoid office@ mail address for sales related questions
Thomas Lamprecht [Fri, 9 Sep 2022 11:34:28 +0000 (13:34 +0200)]
docs: intro: avoid office@ mail address for sales related questions

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: package repos: fix typo
Thomas Lamprecht [Fri, 9 Sep 2022 10:40:35 +0000 (12:40 +0200)]
docs: package repos: fix typo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoupdate to proxmox-subscription 0.3
Fabian Grünbichler [Wed, 7 Sep 2022 12:16:46 +0000 (14:16 +0200)]
update to proxmox-subscription 0.3

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoupdate proxmox-router to 1.3.0
Fabian Grünbichler [Wed, 7 Sep 2022 07:21:41 +0000 (09:21 +0200)]
update proxmox-router to 1.3.0

no real change for PBS usage - the ApiHandler enum is marked
non_exhaustive now because it has extra values if the new (enabled by
default) "server" feature is enabled.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoupdate to proxmox-http 0.7
Fabian Grünbichler [Fri, 19 Aug 2022 11:27:14 +0000 (13:27 +0200)]
update to proxmox-http 0.7

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agobackup-client: mount: fix read of larger files
Dominik Csapak [Fri, 2 Sep 2022 07:21:14 +0000 (09:21 +0200)]
backup-client: mount: fix read of larger files

fuse_lowlevel.h says about read:

 Read should send exactly the number of bytes requested except
 on EOF or error, otherwise the rest of the data will be
 substituted with zeroes.

but we simply forwarded the bytes we got from 'read_at'. The result was
that files were corrupt as soon as read_at returned not the exact number
of bytes requested. such short reads are easy to trigger with large
files (where reading a file has to cross many chunk boundaries).

To fix that, loop over 'read_at' until our buffer is full, or we read
0 bytes, indicating EOF.

reported in the forum:
https://forum.proxmox.com/threads/proxmox-backup-client-mounting-a-pxar-archive-gives-truncated-files.114447/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Added comment, reworded slightly

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agobuild: more missing features
Fabian Grünbichler [Mon, 5 Sep 2022 10:55:33 +0000 (12:55 +0200)]
build: more missing features

these would cause failures when building the sub-crates directly from
their sub-directory.

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

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years 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>
2 years 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>
2 years 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>
2 years 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>
2 years 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>