]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
6 months agotree-wide: fix various typos
Thomas Lamprecht [Wed, 29 Nov 2023 17:32:06 +0000 (18:32 +0100)]
tree-wide: fix various typos

found with codespell

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agobump version to 3.1.0-1
Thomas Lamprecht [Wed, 29 Nov 2023 16:55:27 +0000 (17:55 +0100)]
bump version to 3.1.0-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: dashboard: increase panel height a bit
Thomas Lamprecht [Wed, 29 Nov 2023 16:52:18 +0000 (17:52 +0100)]
ui: dashboard: increase panel height a bit

to make the system load/status summary one look less cramped, as that
got recently the boot-mode information line added.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoserver: sync email notification: adapt template for local sync jobs
Lukas Wagner [Wed, 29 Nov 2023 16:35:12 +0000 (17:35 +0100)]
server: sync email notification: adapt template for local sync jobs

Add a guard clause that checks `job.remote`, otherwise the template
fails to render to to handlebars being configured in strict mode.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agodocs: note that the webui has a show connection information button
Dominik Csapak [Wed, 29 Nov 2023 15:49:52 +0000 (16:49 +0100)]
docs: note that the webui has a show connection information button

so that users know where they can easily copy that information

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agoui: add fingerprint also to the 'show connection information' window
Dominik Csapak [Wed, 29 Nov 2023 15:49:51 +0000 (16:49 +0100)]
ui: add fingerprint also to the 'show connection information' window

by globally calling the 'status' api once and saving the fingerprint
into the global Proxmox variable.

since not all users might have that permission, ignore errors for that,
and don't show the fingerprint in this case

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agoui: add 'show connection information' button for datastores
Dominik Csapak [Wed, 29 Nov 2023 15:49:50 +0000 (16:49 +0100)]
ui: add 'show connection information' button for datastores

this has a similar functionality as the 'show fingerprint' button,
but for repository strings that are needed e.g. for the cli

included with and without the current user for convenience

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
 [ TL: squash in window title rename and iconCls fix for light-mode ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: datastore content: add menu separator above forget entry
Thomas Lamprecht [Wed, 29 Nov 2023 16:05:38 +0000 (17:05 +0100)]
ui: datastore content: add menu separator above forget entry

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agofix an unused import warning
Wolfgang Bumiller [Wed, 29 Nov 2023 14:34:43 +0000 (15:34 +0100)]
fix an unused import warning

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 months agofix variables not needing mut warnings
Wolfgang Bumiller [Wed, 29 Nov 2023 14:34:37 +0000 (15:34 +0100)]
fix variables not needing mut warnings

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 months agoui: dashboard: nicely display kernel version
Gabriel Goller [Wed, 29 Nov 2023 13:29:01 +0000 (14:29 +0100)]
ui: dashboard: nicely display kernel version

Extract and display the build version and kernel
release nicely.

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agonode: status: declutter kernel-version
Gabriel Goller [Wed, 29 Nov 2023 13:29:00 +0000 (14:29 +0100)]
node: status: declutter kernel-version

Return a struct with all the components of the kernel version like it
has been done in pve. Also return the legacy `kversion` to keep
backwards compat.

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agoui: dashboard: show the bootmode
Gabriel Goller [Wed, 29 Nov 2023 13:28:59 +0000 (14:28 +0100)]
ui: dashboard: show the bootmode

Shows the bootmode of the instance. Options are Legacy BIOS,
EFI, or EFI(Secure Boot).

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agonode: status: added bootmode
Gabriel Goller [Wed, 29 Nov 2023 13:28:58 +0000 (14:28 +0100)]
node: status: added bootmode

Added field that shows the bootmode of the node. The bootmode is either
Legacy Bios, EFI, or EFI (Secure Boot). To detect the mode we use the
exact same method as in pve: We check if the `/sys/firmware/efi` folder
exists, then check if the `SecureBoot-xx...` file in the `efivars`
directory has the SecureBoot flag enabled.

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agobump proxmox-sys dependency to 0.5.2
Wolfgang Bumiller [Wed, 29 Nov 2023 14:27:40 +0000 (15:27 +0100)]
bump proxmox-sys dependency to 0.5.2

for boot mode info

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 months agotree-wide: run cargo fmt
Thomas Lamprecht [Wed, 29 Nov 2023 14:22:43 +0000 (15:22 +0100)]
tree-wide: run cargo fmt

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agopbs2to3: check for proper grub meta-package for bootmode
Stoiko Ivanov [Wed, 29 Nov 2023 14:17:15 +0000 (15:17 +0100)]
pbs2to3: check for proper grub meta-package for bootmode

ported over from pve-manager:
'pve7to8: check for proper grub meta-package for bootmode'
`67c655b9333714f31d5115de80961a2abc4b6506`

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
6 months agopbs2to3: add check for dkms modules
Stoiko Ivanov [Wed, 29 Nov 2023 14:17:14 +0000 (15:17 +0100)]
pbs2to3: add check for dkms modules

ported over from pve-manager: 'pve7to8: Add check for dkms modules'
`0329876ccf1d78b848897718bb0c2337c6a55fbb`

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
6 months agoui: disable rate-limit for local sync jobs
Hannes Laimer [Wed, 29 Nov 2023 09:56:58 +0000 (10:56 +0100)]
ui: disable rate-limit for local sync jobs

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agomanager cli: disk wipe: ask over stdout and drop now useless loop
Thomas Lamprecht [Wed, 29 Nov 2023 13:51:26 +0000 (14:51 +0100)]
manager cli: disk wipe: ask over stdout and drop now useless loop

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agocli: add interactive confirmation for block device wipe
Markus Frank [Wed, 29 Nov 2023 13:20:18 +0000 (14:20 +0100)]
cli: add interactive confirmation for block device wipe

If stdin is a TTY, an interactive prompt is added to confirm the deletion
of a block device, ensuring user verification before proceeding.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
6 months agodocs: remove pointless table title
Alexander Zeidler [Tue, 28 Nov 2023 13:35:09 +0000 (14:35 +0100)]
docs: remove pointless table title

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: add further secure boot information, as in pve-docs
Alexander Zeidler [Tue, 28 Nov 2023 13:35:08 +0000 (14:35 +0100)]
docs: add further secure boot information, as in pve-docs

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agoremove unused code
Wolfgang Bumiller [Wed, 29 Nov 2023 09:20:24 +0000 (10:20 +0100)]
remove unused code

this was moved to proxmox_router long ago

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 months agoui: add 'keep configs' checkbox to datastore removal window
Hannes Laimer [Wed, 29 Nov 2023 08:59:41 +0000 (09:59 +0100)]
ui: add 'keep configs' checkbox to datastore removal window

... since the API already accepts a boolean for that.

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
[ DC: actually send the option to the api ]
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agoRevert "ui: sync job edit: fix showing value for target store upon edit of local...
Thomas Lamprecht [Wed, 29 Nov 2023 07:57:28 +0000 (08:57 +0100)]
Revert "ui: sync job edit: fix showing value for target store upon edit of local sync job"

This reverts commit 3940f48c4702136ba2907ed8fc57401a3d930418 as it's
bogus and was already fixed on master, so that's why testing this
change made it look like it was working now compared to the previous
version.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: sync job edit: fix showing value for target store upon edit of local sync job
Fiona Ebner [Tue, 28 Nov 2023 16:04:15 +0000 (17:04 +0100)]
ui: sync job edit: fix showing value for target store upon edit of local sync job

when editing a local sync job, the field would be empty because of
this and not be set to the previously configured remote-store.

The binding is already used for the local datastore, not sure why it
should even be applied to the target where it might not even be valid.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
6 months agofix #3690: ui: enable wipe-disk feature in system disk view
Markus Frank [Tue, 28 Nov 2023 13:23:22 +0000 (14:23 +0100)]
fix #3690: ui: enable wipe-disk feature in system disk view

Set `supportsWipeDisk` to true to enables the wipe button in the web
UI.

The entry for override_task_descriptions is copied from pve-manager.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
6 months agofix #3690: manager cli: add wipe commands to disk group
Markus Frank [Tue, 28 Nov 2023 13:23:21 +0000 (14:23 +0100)]
fix #3690: manager cli: add wipe commands to disk group

A new cli subcommand which calls the api wipe_disk function to wipe a
disk/partition with a specified dev name.

Examples:
proxmox-backup-manager disk wipe sda2
proxmox-backup-manager disk wipe sda
proxmox-backup-manager disk wipe nvme0n1p1

The complete_partition_name from tools/disks/mod.rs is used for
command completion.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
6 months agofix #3690: api: add endpoint for wipe block devices
Markus Frank [Tue, 28 Nov 2023 13:23:20 +0000 (14:23 +0100)]
fix #3690: api: add endpoint for wipe block devices

An api function similar to PVE wipedisk function that takes a
disk/partition dev name as argument to wipe it in a new WorkerTask
thread.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
6 months agofix #3690: tools: add helper functions for wiping block devices
Markus Frank [Tue, 28 Nov 2023 13:23:19 +0000 (14:23 +0100)]
fix #3690: tools: add helper functions for wiping block devices

The wipe_blockdev & change_parttype functions are similar to
PVE::Diskmanage's wipe_blockdev & change_parttype functions.

The partition_by_name & complete_partition_name functions are
modified disk_by_name & complete_disk_name functions for partitions.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
6 months agoapi types: add regex, format & schema for partition names
Markus Frank [Tue, 28 Nov 2023 13:23:18 +0000 (14:23 +0100)]
api types: add regex, format & schema for partition names

The new regex is similar to BLOCKDEVICE_NAME_REGEX but also allows
numbers at the end of the device name (also allows partitions names).
For nvme partitions it also allows the letter p and a number.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
6 months agoui: fix changing remote to local sync job
Hannes Laimer [Tue, 28 Nov 2023 14:16:54 +0000 (15:16 +0100)]
ui: fix changing remote to local sync job

Reported-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agopull: fix permission checks for local syncs
Hannes Laimer [Tue, 28 Nov 2023 14:16:53 +0000 (15:16 +0100)]
pull: fix permission checks for local syncs

Reported-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agoui: update online help info
Thomas Lamprecht [Tue, 28 Nov 2023 16:34:56 +0000 (17:34 +0100)]
ui: update online help info

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: datastore content: add context menu to groups and snapshots
Dominik Csapak [Tue, 28 Nov 2023 09:44:00 +0000 (10:44 +0100)]
ui: datastore content: add context menu to groups and snapshots

and show the relevant actions. They will be forwarded to the controller,
so we can reuse that code without big refactoring them into another
class/place.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agodocs: fix formatting
Alexander Zeidler [Tue, 28 Nov 2023 11:11:47 +0000 (12:11 +0100)]
docs: fix formatting

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: s/apt-get/apt due to interactive use
Alexander Zeidler [Tue, 28 Nov 2023 11:11:46 +0000 (12:11 +0100)]
docs: s/apt-get/apt due to interactive use

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agoui: fix local sync job edit
Hannes Laimer [Tue, 28 Nov 2023 13:01:24 +0000 (14:01 +0100)]
ui: fix local sync job edit

... since the store field was cleared when the window opened.

Reported-by: Lukas Wagner <l.wagner@proxmox.com>
Fixes: 9039d6709e375f37bb8a21680f6fefb18ee87ab3
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agobump version to 3.0.5-1
Thomas Lamprecht [Tue, 28 Nov 2023 11:42:06 +0000 (12:42 +0100)]
bump version to 3.0.5-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agocargo: ensure we build with newer rest-server
Thomas Lamprecht [Tue, 28 Nov 2023 11:30:28 +0000 (12:30 +0100)]
cargo: ensure we build with newer rest-server

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoreport: add extra newline between files of directory output
Thomas Lamprecht [Tue, 28 Nov 2023 11:25:01 +0000 (12:25 +0100)]
report: add extra newline between files of directory output

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoreport: factor out getting first 30 lines of top output
Thomas Lamprecht [Tue, 28 Nov 2023 11:24:30 +0000 (12:24 +0100)]
report: factor out getting first 30 lines of top output

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: sysadmin: add section about Secure Boot
Alexander Zeidler [Mon, 27 Nov 2023 18:23:01 +0000 (19:23 +0100)]
docs: sysadmin: add section about Secure Boot

port from pve-docs (mention PBS instead of PVE, fix typos & style)

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: sysadmin: fix hyperlink ID conflicts & visual warning message
Alexander Zeidler [Mon, 27 Nov 2023 18:23:00 +0000 (19:23 +0100)]
docs: sysadmin: fix hyperlink ID conflicts & visual warning message

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agos/commando/command/
Wolfgang Bumiller [Tue, 28 Nov 2023 08:50:40 +0000 (09:50 +0100)]
s/commando/command/

this has always bugged me

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 months agotree-wide: run cargo fmt
Thomas Lamprecht [Mon, 27 Nov 2023 14:37:35 +0000 (15:37 +0100)]
tree-wide: run cargo fmt

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agofix-3211: manager: Document --notify argument
Maximiliano Sandoval R [Mon, 30 Oct 2023 12:27:48 +0000 (13:27 +0100)]
fix-3211: manager: Document --notify argument

Signed-off-by: Maximiliano Sandoval R <m.sandoval@proxmox.com>
6 months agoproxy: redirect HTTP requests to HTTPS
Max Carrara [Tue, 21 Nov 2023 10:08:46 +0000 (11:08 +0100)]
proxy: redirect HTTP requests to HTTPS

Signed-off-by: Max Carrara <m.carrara@proxmox.com>
6 months agobump reset-server dep to 0.5
Wolfgang Bumiller [Mon, 27 Nov 2023 13:36:00 +0000 (14:36 +0100)]
bump reset-server dep to 0.5

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
6 months agoconfig: don't allow creation of sync job to same datastore
Hannes Laimer [Mon, 27 Nov 2023 11:59:44 +0000 (12:59 +0100)]
config: don't allow creation of sync job to same datastore

Reported-by: Gabriel Goller <g.goller@proxmox.com>
Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
6 months agoui: fix sync job initial loading of local datastores
Hannes Laimer [Mon, 27 Nov 2023 11:59:43 +0000 (12:59 +0100)]
ui: fix sync job initial loading of local datastores

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
6 months agomanager: check if offline subscription is for the correct product
Stefan Sterz [Thu, 9 Nov 2023 15:34:03 +0000 (16:34 +0100)]
manager: check if offline subscription is for the correct product

previously when an offline key was set it wasn't verified that the
subscription was for the correct product. while pom only applies
subscriptions for the corresponding products, a user could manually
invoke the `subscription set-offline-key` command to circumvent that.

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
6 months agouse IsTerminal trait whenever possible
Maximiliano Sandoval R [Fri, 17 Nov 2023 13:24:14 +0000 (14:24 +0100)]
use IsTerminal trait whenever possible

Continuation of
https://lists.proxmox.com/pipermail/pbs-devel/2023-November/007078.html.

Signed-off-by: Maximiliano Sandoval R <m.sandoval@proxmox.com>
6 months agoapi: fix API macro for create_namespace.
Dietmar Maurer [Mon, 27 Nov 2023 10:53:46 +0000 (11:53 +0100)]
api: fix API macro for create_namespace.

Description and return-type was wrong.

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
6 months agotape: library status: don't fail if the library does not support DVCID
Dominik Csapak [Wed, 9 Aug 2023 09:12:55 +0000 (11:12 +0200)]
tape: library status: don't fail if the library does not support DVCID

some libraries (e.g. Qualstar) don't support the DVCID bit in the READ
ELEMENT (B8) command (to return vendor/model of connected drives), so
make that part optional if it fails. We only ever use the serial number
in the `pmtx` tool, so there is not much downside to not having this.

This increases compatibility with such libraries

Reported in the forum:
https://forum.proxmox.com/threads/cant-query-tape-robot-status.131833/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agoui: avoid single-line if in optional-remote renderer
Thomas Lamprecht [Sat, 25 Nov 2023 16:13:47 +0000 (17:13 +0100)]
ui: avoid single-line if in optional-remote renderer

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: add support for optional Remote in SyncJob
Hannes Laimer [Tue, 21 Nov 2023 14:31:55 +0000 (15:31 +0100)]
ui: add support for optional Remote in SyncJob

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Tested-by: Gabriel Goller <g.goller@proxmox.com>
6 months agoapi: make Remote for SyncJob optional
Hannes Laimer [Tue, 21 Nov 2023 14:31:54 +0000 (15:31 +0100)]
api: make Remote for SyncJob optional

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Tested-by: Gabriel Goller <g.goller@proxmox.com>
6 months agomanager: add completion for opt. Remote in SyncJob
Hannes Laimer [Tue, 21 Nov 2023 14:31:53 +0000 (15:31 +0100)]
manager: add completion for opt. Remote in SyncJob

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Tested-by: Gabriel Goller <g.goller@proxmox.com>
6 months agopull: add support for pulling from local datastore
Hannes Laimer [Tue, 21 Nov 2023 14:31:52 +0000 (15:31 +0100)]
pull: add support for pulling from local datastore

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Tested-by: Gabriel Goller <g.goller@proxmox.com>
6 months agopull: refactor pulling from a datastore
Hannes Laimer [Tue, 21 Nov 2023 14:31:51 +0000 (15:31 +0100)]
pull: refactor pulling from a datastore

... making the pull logic independent from the actual source
using two traits.

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Tested-by: Gabriel Goller <g.goller@proxmox.com>
6 months agoaccept a ref to a HttpClient
Hannes Laimer [Tue, 21 Nov 2023 14:31:50 +0000 (15:31 +0100)]
accept a ref to a HttpClient

... since the functions don't actually need to own the value.

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Tested-by: Gabriel Goller <g.goller@proxmox.com>
6 months agodocs: use full subdomain link for main website
Thomas Lamprecht [Sat, 25 Nov 2023 15:21:54 +0000 (16:21 +0100)]
docs: use full subdomain link for main website

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: update copyright years
Thomas Lamprecht [Sat, 25 Nov 2023 15:21:23 +0000 (16:21 +0100)]
docs: update copyright years

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: specifiy that the PBS wiki is meant in the sidebar link
Thomas Lamprecht [Sat, 25 Nov 2023 15:21:09 +0000 (16:21 +0100)]
docs: specifiy that the PBS wiki is meant in the sidebar link

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: replace path list with table for better readability
Alexander Zeidler [Fri, 24 Nov 2023 17:43:47 +0000 (18:43 +0100)]
docs: replace path list with table for better readability

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: fix typos
Alexander Zeidler [Fri, 24 Nov 2023 17:43:46 +0000 (18:43 +0100)]
docs: fix typos

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: pbs2to3: fix and improve wording
Alexander Zeidler [Fri, 24 Nov 2023 17:43:45 +0000 (18:43 +0100)]
docs: pbs2to3: fix and improve wording

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: epilog: update hyperlinks
Alexander Zeidler [Fri, 24 Nov 2023 17:43:44 +0000 (18:43 +0100)]
docs: epilog: update hyperlinks

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: improve the occurrence of product website hyperlinks
Alexander Zeidler [Fri, 24 Nov 2023 17:43:43 +0000 (18:43 +0100)]
docs: improve the occurrence of product website hyperlinks

Place hyperlinks only at the beginning of a chapter and where it makes
sense, so as not to be distracted by redundant hyperlinks

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agodocs: add "Wiki" to sidebar
Alexander Zeidler [Fri, 24 Nov 2023 17:43:42 +0000 (18:43 +0100)]
docs: add "Wiki" to sidebar

Signed-off-by: Alexander Zeidler <a.zeidler@proxmox.com>
6 months agoclient: change anyhow Error display representation
Christian Ebner [Sat, 25 Nov 2023 10:13:32 +0000 (11:13 +0100)]
client: change anyhow Error display representation

Improve error message output by showing the full Error context, using
the alternate selector '{:#}" [0].
Without this, only the outermost context is displayed, which in case
of pxar extraction errors is mostly not enough to find the underlying
issue.

[0] https://docs.rs/anyhow/1.0.69/anyhow/struct.Error.html#display-representations

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
6 months agoTapeInventory: Fix string missing 'in'
Maximiliano Sandoval [Fri, 24 Nov 2023 12:05:00 +0000 (13:05 +0100)]
TapeInventory: Fix string missing 'in'

Signed-off-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
6 months agosystem report: fix warning about checking result
Thomas Lamprecht [Fri, 24 Nov 2023 11:02:27 +0000 (12:02 +0100)]
system report: fix warning about checking result

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agofix #4374: create a prune job upon datastore creation
Stefan Lendl [Thu, 23 Nov 2023 16:38:47 +0000 (17:38 +0100)]
fix #4374: create a prune job upon datastore creation

creates a default prune job if prune-schedule is set when creating the
datastore.

Auto generates a name for a prune-job with a truncated uuid to avoid
collisions.

Prune settings were stored in the datastore config but have no effect.
Prune settings are not stored there anymore

Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
Tested-by: Gabriel Goller <g.goller@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agopass worker context to do_create_prune_job
Stefan Lendl [Thu, 23 Nov 2023 16:38:46 +0000 (17:38 +0100)]
pass worker context to do_create_prune_job

pass the WorkerTaksContext to do_create_prune_job because we want
logging when calling within a worker context.

Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
Tested-by: Gabriel Goller <g.goller@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agoprune job: prune job creation in separate function
Stefan Lendl [Thu, 23 Nov 2023 16:38:45 +0000 (17:38 +0100)]
prune job: prune job creation in separate function

move logic for prune job creation to do_create_prune_job

Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
Tested-by: Gabriel Goller <g.goller@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>
6 months agopbs-api-types: derive Clone and PartialEq for BackupContent, SnapshotVerifyState...
Dietmar Maurer [Thu, 23 Nov 2023 08:52:05 +0000 (09:52 +0100)]
pbs-api-types: derive Clone and PartialEq for BackupContent, SnapshotVerifyState, SnapshotListItem and GroupListItem

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
6 months agoPruneJobConfig: remove stale optional flag from the API macro.
Dietmar Maurer [Thu, 16 Nov 2023 16:45:09 +0000 (17:45 +0100)]
PruneJobConfig: remove stale optional flag from the API macro.

The property is not optional - it is defined as "String".

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
6 months agopbs-api-types: derive Clone and PartialEq for job config/status types (for GUI)
Dietmar Maurer [Wed, 15 Nov 2023 15:22:21 +0000 (16:22 +0100)]
pbs-api-types: derive Clone and PartialEq for job config/status types (for GUI)

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
6 months agoapt: use `apt changelog` for changelog fetching
Fabian Grünbichler [Tue, 4 Jul 2023 09:45:05 +0000 (11:45 +0200)]
apt: use `apt changelog` for changelog fetching

support for it got added to Proxmox repositories, so there is no need to use
custom logic and manual fetching for this anymore.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
6 months agoDatastoreTuning: fix serde attributes
Dietmar Maurer [Sun, 12 Nov 2023 11:02:19 +0000 (12:02 +0100)]
DatastoreTuning: fix serde attributes

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
6 months agoDatastoteNotify: fix serde attributes
Dietmar Maurer [Sun, 12 Nov 2023 10:23:56 +0000 (11:23 +0100)]
DatastoteNotify: fix serde attributes

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
6 months agodocs: rustdoc warnings
Gabriel Goller [Fri, 10 Nov 2023 12:53:24 +0000 (13:53 +0100)]
docs: rustdoc warnings

Fixed a few rustdoc warnings. Converted some 'html'-links to
intra-doc-links and surrounded paths with '`'.

Signed-off-by: Gabriel Goller <g.goller@proxmox.com>
6 months agodocs: faq: add todo entry for stabillity guarantees
Thomas Lamprecht [Fri, 10 Nov 2023 15:04:43 +0000 (16:04 +0100)]
docs: faq: add todo entry for stabillity guarantees

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: faq: move support table to CSV
Thomas Lamprecht [Fri, 10 Nov 2023 14:58:29 +0000 (15:58 +0100)]
docs: faq: move support table to CSV

as the current table format isn't really a recommended way to encode
tables for reStructuredText, and breaks various editor integrations
(and possibly parsing in the future).

From the two supported options, i.e., csv-table and list-table, the
first one seems to be easier to maintain in the long-run, so go for
that.

https://docutils.sourceforge.io/docs/ref/rst/directives.html#csv-table-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: faq: add reference to support table
Thomas Lamprecht [Fri, 10 Nov 2023 14:58:10 +0000 (15:58 +0100)]
docs: faq: add reference to support table

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: faq: add entries for how to do minor and major upgrades
Thomas Lamprecht [Fri, 10 Nov 2023 14:57:32 +0000 (15:57 +0100)]
docs: faq: add entries for how to do minor and major upgrades

Adapted from Proxmox VE's FAQ

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agofix #4977: ui: tape: restore: rework snapshot selection logic
Dominik Csapak [Fri, 29 Sep 2023 13:39:24 +0000 (15:39 +0200)]
fix #4977: ui: tape: restore: rework snapshot selection logic

previously, the snapshot grid returned one of three possible types of
values:
* a list of snapshots
* a list of datastores (if only whole datastores were selected)
* the string 'all' (when all snapshots were selected)

this led to some confusing and wrong code, especially the part:
```
  if (source === 'all') {
      source = values.store;
  }
```

which basically set the selected *target* store as a source.  (meaning
it tried restoring a datastore with the selected target name,
regardless if it existed or not)

This fell through in testing, since we most often only restored to the
same datastore anyway were the target and source name were the same.

Rework the return value to return the empty array in case all
snapshots are selected, since selecting none is not a valid anyway.

This means we always get an array back, which makes the code a bit
cleaner overall.

At the same time, we now differentiate correctly the 'all selected'
case, by setting the selected target as a default target.

So instead of previously having `target=target` as datastore
parameter, we now have `target` which is the correct behavior when we
want to restore the whole media set anyway.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Mira Limbeck <m.limbeck@proxmox.com>
6 months agoui: tape: restore: improve variable names
Dominik Csapak [Fri, 29 Sep 2023 13:39:23 +0000 (15:39 +0200)]
ui: tape: restore: improve variable names

some of the variable names did not really tell the full story, so
extend them a bit. This makes the intention much clearer.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Tested-by: Mira Limbeck <m.limbeck@proxmox.com>
6 months agoui: tape: mark incomplete media-sets as such
Dominik Csapak [Fri, 29 Sep 2023 08:52:05 +0000 (10:52 +0200)]
ui: tape: mark incomplete media-sets as such

by counting the returned tapes and compare it to the sequence number.
If the tape count is lower than the highest sequence number plus one,
there must be a tape missing.

Mark it in the text and add the proxmox-warning-row class.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
6 months agodebug: Show chunk size while inspecting
Maximiliano Sandoval R [Tue, 7 Nov 2023 13:17:22 +0000 (14:17 +0100)]
debug: Show chunk size while inspecting

Signed-off-by: Maximiliano Sandoval R <m.sandoval@proxmox.com>
6 months agodebug: Show if chunks are compressed during inspect
Maximiliano Sandoval R [Tue, 7 Nov 2023 13:17:21 +0000 (14:17 +0100)]
debug: Show if chunks are compressed during inspect

Signed-off-by: Maximiliano Sandoval R <m.sandoval@proxmox.com>
6 months agodocs: set latex table style to modern default
Thomas Lamprecht [Wed, 8 Nov 2023 11:33:46 +0000 (12:33 +0100)]
docs: set latex table style to modern default

The option was introduced for sphinx 5.0, but back then still using an
empty set as default value, but since (for us still future) 6.0 the
default will be ['booktabs', 'colorrows'], which looks better so use
it now already.

https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-latex_table_style

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: storage tuning: fix indentation for code-block in list
Thomas Lamprecht [Wed, 8 Nov 2023 11:32:22 +0000 (12:32 +0100)]
docs: storage tuning: fix indentation for code-block in list

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: cope with removal of language=None in Sphinx 5.0.0
Thomas Lamprecht [Wed, 8 Nov 2023 11:12:12 +0000 (12:12 +0100)]
docs: cope with removal of language=None in Sphinx 5.0.0

avoid a few ugly errors that we get here since basing of the Debian
Bookworm release, which is the first to ship a sphinx version newer
than 5.0, which removed support for allowing None as language [0]

[0]: https://www.sphinx-doc.org/en/master/changes.html#release-5-0-0-released-may-30-2022

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: introduction: fix mailing list variable name
Thomas Lamprecht [Tue, 7 Nov 2023 15:53:19 +0000 (16:53 +0100)]
docs: introduction: fix mailing list variable name

Fixes: db10278b ("docs: exand PBS to Proxmox Backup (Server)")
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agodocs: cert management: fix heading syntax
Thomas Lamprecht [Tue, 7 Nov 2023 15:52:58 +0000 (16:52 +0100)]
docs: cert management: fix heading syntax

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
6 months agoui: add Remove button for DirectoryList
Markus Frank [Tue, 10 Oct 2023 11:37:48 +0000 (13:37 +0200)]
ui: add Remove button for DirectoryList

With this patch it is possible to remove systemd mount units via the webui.

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Lukas Wagner <l.wagner@proxmox.com>