]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
2 years agoapi: backup env: use check_privs
Fabian Grünbichler [Tue, 24 May 2022 09:12:16 +0000 (11:12 +0200)]
api: backup env: use check_privs

it includes the path, which might be helpful when users are switching to
using namespaces. datastore and namespace lookup happens after, so this
doesn't leak anything.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi: namespace: check privs directly
Fabian Grünbichler [Tue, 24 May 2022 09:02:51 +0000 (11:02 +0200)]
api: namespace: check privs directly

instead of doing a manual lookup and check - this changes the returned
error slightly since check_privs will include the checked ACL path, but
that is okay here, checks are before we even lookup the namespace/store,
so no chance to leak anything.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agopriv checks: use priv_to_priv_names and include path
Fabian Grünbichler [Tue, 24 May 2022 09:00:27 +0000 (11:00 +0200)]
priv checks: use priv_to_priv_names and include path

where appropriate. these should never leak anything sensitive, as we
check privs before checking existence or existence is already known at
that point via other privileges.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi: add new priv to priv name helper
Fabian Grünbichler [Tue, 24 May 2022 08:31:54 +0000 (10:31 +0200)]
api: add new priv to priv name helper

for usage in permission check error messages, to allow easily indicating
which privs are missing.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agopriv handling: use DatastoreWithNamespace
Fabian Grünbichler [Tue, 24 May 2022 08:46:37 +0000 (10:46 +0200)]
priv handling: use DatastoreWithNamespace

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi: tape: restore: improve permission checks
Fabian Grünbichler [Tue, 24 May 2022 09:47:07 +0000 (11:47 +0200)]
api: tape: restore: improve permission checks

no redundant store+namespace mapping, and synchronize namespace creation
check with that of manual creation and creation as part of sync.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoverify_job: fix priv check
Fabian Grünbichler [Tue, 24 May 2022 10:07:07 +0000 (12:07 +0200)]
verify_job: fix priv check

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi2: reader env: fix priv checks
Fabian Grünbichler [Tue, 24 May 2022 09:13:04 +0000 (11:13 +0200)]
api2: reader env: fix priv checks

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoacl: fix handling of sub-components containing '/'
Fabian Grünbichler [Tue, 24 May 2022 12:37:22 +0000 (14:37 +0200)]
acl: fix handling of sub-components containing '/'

previously with an ACL for the path "/foo/bar" without propagation and a
check for `&["foo", "bar/baz"] this code would return the ACL (roles)
for "/foo/bar" for the path "/foo/bar/baz".

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosync job: don't require privs on datastore
Fabian Grünbichler [Tue, 24 May 2022 12:58:47 +0000 (14:58 +0200)]
sync job: don't require privs on datastore

syncing to a namespace only requires privileges on the namespace (and
potentially its children during execution).

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi: list snapshots: fix log param order
Fabian Grünbichler [Wed, 25 May 2022 08:51:02 +0000 (10:51 +0200)]
api: list snapshots: fix log param order

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosync job: fix worker ID parsing
Fabian Grünbichler [Tue, 24 May 2022 09:03:57 +0000 (11:03 +0200)]
sync job: fix worker ID parsing

the namespace is optional, but should be captured to allow ACL checks
for unprivileged non-job-owners.

also add FIXME for other job types and workers that (might) need
updating.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agodebug: recover: allow overriding output-path
Fabian Grünbichler [Mon, 23 May 2022 14:11:35 +0000 (16:11 +0200)]
debug: recover: allow overriding output-path

including to STDOUT.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Hannes Laimer <h.laimer@proxmox.com>
2 years agodebug: move outfile_or_stdout to module for reuse
Fabian Grünbichler [Mon, 23 May 2022 14:11:34 +0000 (16:11 +0200)]
debug: move outfile_or_stdout to module for reuse

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Hannes Laimer <h.laimer@proxmox.com>
2 years agodebug: recover: allow ignoring missing/corrupt chunks
Fabian Grünbichler [Mon, 23 May 2022 14:11:33 +0000 (16:11 +0200)]
debug: recover: allow ignoring missing/corrupt chunks

replacing them with chunks of zero bytes.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Tested-by: Hannes Laimer <h.laimer@proxmox.com>
2 years agotape/pool_writer: give proper types to 'contains_snapshot'
Dominik Csapak [Mon, 16 May 2022 11:36:09 +0000 (13:36 +0200)]
tape/pool_writer: give proper types to 'contains_snapshot'

instead of a string. The underlying catalog implementation has to
care about how this is formatted, not the external caller

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoproxmox-tape: use correct api call for 'load-media-from-slot'
Dominik Csapak [Mon, 23 May 2022 09:41:16 +0000 (11:41 +0200)]
proxmox-tape: use correct api call for 'load-media-from-slot'

it's a 'post' api call, not 'put'

reported here:
https://forum.proxmox.com/threads/lto8.109946/
and here:
https://forum.proxmox.com/threads/cant-clear-tape.86454/

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agocargo fmt
Fabian Grünbichler [Mon, 23 May 2022 14:12:22 +0000 (16:12 +0200)]
cargo fmt

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agofix typo
Fabian Grünbichler [Thu, 19 May 2022 14:32:02 +0000 (16:32 +0200)]
fix typo

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoui: datastore content: enable recursive/depth selector for prune all
Thomas Lamprecht [Thu, 19 May 2022 11:35:01 +0000 (13:35 +0200)]
ui: datastore content: enable recursive/depth selector for prune all

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: prune input: support opt-in recursive/max-depth field
Thomas Lamprecht [Thu, 19 May 2022 11:34:07 +0000 (13:34 +0200)]
ui: prune input: support opt-in recursive/max-depth field

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune datastore: add depth info to tak log
Thomas Lamprecht [Thu, 19 May 2022 11:32:45 +0000 (13:32 +0200)]
prune datastore: add depth info to tak log

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune datastore: support max-depth and improve priv checks
Thomas Lamprecht [Thu, 19 May 2022 11:31:06 +0000 (13:31 +0200)]
prune datastore: support max-depth and improve priv checks

use the relatively new variant of ListAccessibleBackupGroups to also
allow pruning the groups that one doesn't own but has the respective
privileges on their namespace level.

This was previously handled by the API endpoint itself, which was ok
as long as only one level was looked at.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoprune datastore: rework tak log
Thomas Lamprecht [Thu, 19 May 2022 11:23:24 +0000 (13:23 +0200)]
prune datastore: rework tak log

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoverify filter: improve comment
Thomas Lamprecht [Thu, 19 May 2022 10:36:51 +0000 (12:36 +0200)]
verify filter: improve comment

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoverify all: adhere to NS privs for non-owned groups
Thomas Lamprecht [Thu, 19 May 2022 10:36:06 +0000 (12:36 +0200)]
verify all: adhere to NS privs for non-owned groups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoaccessible group iter: rename "new" to "new_owned"
Thomas Lamprecht [Thu, 19 May 2022 10:34:04 +0000 (12:34 +0200)]
accessible group iter: rename "new" to "new_owned"

to clarify that it's only returning owned backups that way.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi: datastore status: adhere to NS privs for non-owner
Thomas Lamprecht [Thu, 19 May 2022 10:32:27 +0000 (12:32 +0200)]
api: datastore status: adhere to NS privs for non-owner

Not only check all owned backup groups, but also all that an auth_id
has DATASTORE_AUDIT or DATASTORE_READ on the whole namespace.

best viewed with whitespace change ignore (-w)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoaccessible group iter: add owner override and owner + extra priv handling
Thomas Lamprecht [Thu, 19 May 2022 10:27:55 +0000 (12:27 +0200)]
accessible group iter: add owner override and owner + extra priv handling

The "owner override" privs will skip the owner check completely if
the authid has a permission for any of the bitwise OR'd privs
requested on the namespace level.

The "owner and privs" are for the case where being the owner is not
enough, e.g., pruning, if set they need to match all, not just any,
on the namespace, otherwise we don't even look at the groups from the
current NS level.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoaccessible group iter: allow NS descending with DATASTORE_READ
Thomas Lamprecht [Thu, 19 May 2022 10:26:48 +0000 (12:26 +0200)]
accessible group iter: allow NS descending with DATASTORE_READ

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore content: add icons to top bar prune/verify buttons
Thomas Lamprecht [Wed, 18 May 2022 16:37:20 +0000 (18:37 +0200)]
ui: datastore content: add icons to top bar prune/verify buttons

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: acl view: make path column flex, but enforce minWidth
Thomas Lamprecht [Wed, 18 May 2022 16:22:16 +0000 (18:22 +0200)]
ui: acl view: make path column flex, but enforce minWidth

with namespaces the paths can get pretty complex, so make the path
column take some flex space too, but not too much to avoid making it
look odd for the short paths we have otherwise

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore permissions: allow ACL path edit & query namespaces
Thomas Lamprecht [Wed, 18 May 2022 16:09:15 +0000 (18:09 +0200)]
ui: datastore permissions: allow ACL path edit & query namespaces

Without namespaces this had not much use, but now that we can have
permissions below we should allow so.

For convenience also query the namsepaces here and add them to the
list of available ACL paths, the read-dir shouldn't be that expensive
(albeit, we could cache them in the frontend)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: small style cleanups/refactoring
Thomas Lamprecht [Wed, 18 May 2022 16:04:16 +0000 (18:04 +0200)]
ui: small style cleanups/refactoring

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi types: verify job: fix doc comment typo
Thomas Lamprecht [Wed, 18 May 2022 13:45:55 +0000 (15:45 +0200)]
api types: verify job: fix doc comment typo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi types: verify job: allow outdated-afer == 0 for backward compat
Thomas Lamprecht [Wed, 18 May 2022 13:39:57 +0000 (15:39 +0200)]
api types: verify job: allow outdated-afer == 0 for backward compat

We can have those in existing verify jobs configs, and that'd break
stuff. So, even while the "bad" commit got released only recently
with `2.1.6-1` (14 April 2022), we still need to cope with those that
used it, and using some serde parser magic to transform on read only
is hard here due to section config (json-value and verify currently
happen before we can do anything about it)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoRevert "verify: allow '0' days for reverification"
Thomas Lamprecht [Wed, 18 May 2022 10:51:07 +0000 (12:51 +0200)]
Revert "verify: allow '0' days for reverification"

This reverts commit 7a1a5d206d7f526baaa39b86ecb462a870b641c1.

We could already cause the behavior by simply setting ignore-verified
to false, aas that flag is basically an on/off switch for even
considering outdated-after or not.

So avoid the extra logic and just make the gui use the previously
existing way.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agocargo: update commented-out path patched dependencies
Thomas Lamprecht [Wed, 18 May 2022 07:00:41 +0000 (09:00 +0200)]
cargo: update commented-out path patched dependencies

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agod/changelog: fixup last entry
Thomas Lamprecht [Wed, 18 May 2022 06:45:50 +0000 (08:45 +0200)]
d/changelog: fixup last entry

as this obviously is released...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobump version to 2.2.1-1 v2.2.1
Thomas Lamprecht [Tue, 17 May 2022 12:03:28 +0000 (14:03 +0200)]
bump version to 2.2.1-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: namespace & maintenance mode: refer to onlineHelp
Thomas Lamprecht [Tue, 17 May 2022 12:03:00 +0000 (14:03 +0200)]
ui: namespace & maintenance mode: refer to onlineHelp

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: client usage: add some hints for namespace
Thomas Lamprecht [Tue, 17 May 2022 11:55:21 +0000 (13:55 +0200)]
docs: client usage: add some hints for namespace

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: some textwidth cleanups
Thomas Lamprecht [Tue, 17 May 2022 11:55:04 +0000 (13:55 +0200)]
docs: some textwidth cleanups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: namespace selector: show picker empty text if no namespace
Dominik Csapak [Tue, 17 May 2022 06:52:12 +0000 (08:52 +0200)]
ui: namespace selector: show picker empty text if no namespace

by filtering out the empty namespace from the api, and putting
manually a div with the grid-empty xclass around the gettext

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
 [ T: reword commit message ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: tape restore: reword comment w.r.t. mapping value
Thomas Lamprecht [Tue, 17 May 2022 11:35:55 +0000 (13:35 +0200)]
ui: tape restore: reword comment w.r.t. mapping value

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: tape restore: fix form validation for datastore mapping
Dominik Csapak [Tue, 17 May 2022 09:47:04 +0000 (11:47 +0200)]
ui: tape restore: fix form validation for datastore mapping

'defaultStore' can be '' or null, so check for truthyness also, we
want the mapping to be a formField so that the validation triggers
and the restore button gets en/disabled accordingly. We still have to
call 'getValue' manually, because the onGetValues will get it as
string instead of an array

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agonode info: fix typo in product name
Oguz Bektas [Tue, 17 May 2022 09:45:17 +0000 (11:45 +0200)]
node info: fix typo in product name

s/Bacckup/Backup

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
2 years agoupdate online help reference info
Thomas Lamprecht [Tue, 17 May 2022 11:30:11 +0000 (13:30 +0200)]
update online help reference info

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agostorage: add some initial namespace docs
Thomas Lamprecht [Tue, 17 May 2022 11:29:02 +0000 (13:29 +0200)]
storage: add some initial namespace docs

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: storage: refer to options
Thomas Lamprecht [Tue, 17 May 2022 11:28:50 +0000 (13:28 +0200)]
docs: storage: refer to options

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: basic maintenance mode section
Thomas Lamprecht [Tue, 17 May 2022 11:28:24 +0000 (13:28 +0200)]
docs: basic maintenance mode section

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: also mention Sync in heading of Managing Remotes
Thomas Lamprecht [Tue, 17 May 2022 11:28:05 +0000 (13:28 +0200)]
docs: also mention Sync in heading of Managing Remotes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: refer more to screenshots all over the place
Thomas Lamprecht [Tue, 17 May 2022 11:27:37 +0000 (13:27 +0200)]
docs: refer more to screenshots all over the place

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: update and add screenshots
Thomas Lamprecht [Tue, 17 May 2022 11:27:09 +0000 (13:27 +0200)]
docs: update and add screenshots

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore list: drop duplicate errorBox reference, neither is used
Thomas Lamprecht [Tue, 17 May 2022 09:07:46 +0000 (11:07 +0200)]
ui: datastore list: drop duplicate errorBox reference, neither is used

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore selector: move maintenance mode inline with icon
Thomas Lamprecht [Tue, 17 May 2022 08:49:30 +0000 (10:49 +0200)]
ui: datastore selector: move maintenance mode inline with icon

else it's a lot of wasted space for the ordinary case, that hasn't
permanent maintenance modes activated, and even if, their admins
should be used to it, so not the best space/usability ROI there
either.

Just use the icon as visual clue and add a tooltip for the
maintenance mode info.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: form/DataStoreSelector: show maintenance mode in selector
Dominik Csapak [Tue, 17 May 2022 06:52:13 +0000 (08:52 +0200)]
ui: form/DataStoreSelector: show maintenance mode in selector

to not having to query the activeTasks everywhere, change the renderer
to omit the check/spinner when no activeTasks are given

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
2 years agoui: use base 10 (SI) for all storage related displays
Thomas Lamprecht [Tue, 17 May 2022 08:20:05 +0000 (10:20 +0200)]
ui: use base 10 (SI) for all storage related displays

matches what we do for (most) of such things in PVE since 7.0 there
and also what the disk management gui shows, further disks are sold
with SI units for their advertised capacity, so its more fitting
there too.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: utils: add depreacation comment to render_size_usage
Thomas Lamprecht [Tue, 17 May 2022 08:17:32 +0000 (10:17 +0200)]
ui: utils: add depreacation comment to render_size_usage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: server status: fix missing space in title
Thomas Lamprecht [Tue, 17 May 2022 08:17:04 +0000 (10:17 +0200)]
ui: server status: fix missing space in title

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: server status: use power of two base for memory and swap
Thomas Lamprecht [Tue, 17 May 2022 08:16:46 +0000 (10:16 +0200)]
ui: server status: use power of two base for memory and swap

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agopbs-client: fix symbolic mode display for 'other' mode
Wolfgang Bumiller [Tue, 17 May 2022 08:20:35 +0000 (10:20 +0200)]
pbs-client: fix symbolic mode display for 'other' mode

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoui: sync/verify jobs: use pmxDisplayEditField to fix editing
Thomas Lamprecht [Tue, 17 May 2022 07:47:15 +0000 (09:47 +0200)]
ui: sync/verify jobs: use pmxDisplayEditField to fix editing

commit bd21a63b only fixed sync, not verify, and we can do better by
using a display-edit field.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: sync job: don't send 'id' on edit
Dominik Csapak [Tue, 17 May 2022 07:05:22 +0000 (09:05 +0200)]
ui: sync job: don't send 'id' on edit

we cannot change the id, and even if we send the same, the backend
does not allow 'duplicate' parameters (the id is in the url already)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore/Summary: correctly show the io-delay chart
Dominik Csapak [Tue, 17 May 2022 07:00:38 +0000 (09:00 +0200)]
ui: datastore/Summary: correctly show the io-delay chart

by checking if *any* record has data, not only the first
this would prevent the chart from being shown for e.g. newly added
datastores, or for datastores after the server was offline for some time

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: update online help reference
Thomas Lamprecht [Tue, 17 May 2022 07:46:48 +0000 (09:46 +0200)]
ui: update online help reference

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: storage: show gui disk management screenshot
Thomas Lamprecht [Tue, 17 May 2022 07:43:14 +0000 (09:43 +0200)]
docs: storage: show gui disk management screenshot

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: update/add some screenshots
Thomas Lamprecht [Tue, 17 May 2022 07:42:47 +0000 (09:42 +0200)]
docs: update/add some screenshots

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: certs: fix odd image referencing and drop duplicate usage
Thomas Lamprecht [Mon, 16 May 2022 17:26:46 +0000 (19:26 +0200)]
docs: certs: fix odd image referencing and drop duplicate usage

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: certificates
Stoiko Ivanov [Mon, 16 May 2022 16:27:32 +0000 (16:27 +0000)]
docs: certificates

manually adapt to differences between PMG and PBS

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agodocs: add certificate-management.rst
Stoiko Ivanov [Mon, 16 May 2022 16:27:31 +0000 (16:27 +0000)]
docs: add certificate-management.rst

the file certificate-managment.rst is generated from the pmg-docs repo

by running:
```
asciidoc -b $(pwd)/asciidoc/pmg-docbook \
-f asciidoc/asciidoc-pmg.conf -o - pmg-ssl-certificate.adoc | \
pandoc -f docbook -t rst --shift-heading-level-by=1 \
-o certificate-mangement-auto.rst

sed -ri 's/__/_/' certificate-mangement-auto.rst
sed -ri 's/\{pmg\}/`Proxmox Backup`_/g' certificate-mangement-auto.rst
sed -ri 's/\{PMG\}/`Proxmox Backup`_/g' certificate-mangement-auto.rst
sed -ri 's/Proxmox Mail Gateway/`Proxmox Backup`_/g' \
certificate-mangement-auto.rst
sed -ri 's/pmg-([a-zA-Z0-9_-]*).png/pbs-\1.png/g' \
certificate-mangement-auto.rst
sed -ri 's/pmgproxy/proxmox-backup-proxy/g' \
certificate-mangement-auto.rst
sed -ri 's/pmgconfig/proxmox-backup-manager/g' \
certificate-mangement-auto.rst
sed -ri 's/pmg-daily/proxmox-backup-daily-update/g' \
certificate-mangement-auto.rst
sed -ri 's/\/etc\/pmg\/node.conf/\/etc\/proxmox-backup\/node.cfg/g' \
certificate-mangement-auto.rst
sed -ri 's/\/etc\/pmg\/acme/\/etc\/proxmox-backup\/acme/g' \
certificate-mangement-auto.rst
sed -ri \
's/\/etc\/pmg\/pmg-api.pem/\/etc\/proxmox-backup\/proxy.pem/g' \
certificate-mangement-auto.rst
sed -ri 's/screenshot/screenshots/g' certificate-mangement-auto.rst

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agodocs: add certificate related screenshots
Thomas Lamprecht [Mon, 16 May 2022 17:11:54 +0000 (19:11 +0200)]
docs: add certificate related screenshots

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: use case-matching keys for glossary
Stoiko Ivanov [Mon, 16 May 2022 16:27:30 +0000 (16:27 +0000)]
docs: use case-matching keys for glossary

this silences warnings a la:
```
WARNING: term container not found in case sensitive match.made a
reference to Container instead
```
the issue is purely cosmetic during build, and should vanish in a newer
version of sphinx-doc [0].

[0] https://github.com/sphinx-doc/sphinx/issues/7636

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agodocs: cleanup and readd command-line-tools
Stoiko Ivanov [Mon, 16 May 2022 16:27:29 +0000 (16:27 +0000)]
docs: cleanup and readd command-line-tools

the collection of descriptions of our cli tools was dropped in
04e24b14f0c51f01a1f8afe2d0eff124c1095758

I'll readd it to the sysadmin.rst, since the (related) service daemons
also got moved here.

additionally add the newly added cli-tools to both
command-line-tools.rst and command-syntax.rst, and put both in the same
order

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agodocs: silence duplicate label warnings.
Stoiko Ivanov [Mon, 16 May 2022 16:27:28 +0000 (16:27 +0000)]
docs: silence duplicate label warnings.

by reindroducing the trailing ',' after local-zfs.rst
and adding the missing 'traffic-control.rst' to the list
of files/patterns to be excluded.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 years agobump version to 2.2.0-2
Thomas Lamprecht [Mon, 16 May 2022 17:01:19 +0000 (19:01 +0200)]
bump version to 2.2.0-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoBackupDir/BackupGroup: add ns to Debug impl
Fabian Grünbichler [Mon, 16 May 2022 11:28:52 +0000 (13:28 +0200)]
BackupDir/BackupGroup: add ns to Debug impl

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoBackupGroup: stop implementing Display
Fabian Grünbichler [Mon, 16 May 2022 09:23:28 +0000 (11:23 +0200)]
BackupGroup: stop implementing Display

this shouldn't be printed/logged - use DatastoreWithNamespace /
pbs_api_types::BackupGroup instead.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoprune: fix workerid issues
Fabian Grünbichler [Mon, 16 May 2022 09:00:56 +0000 (11:00 +0200)]
prune: fix workerid issues

properly encode the namespace as separate field both for manual prunes
and the job. fix the access checks as well now that the job doesn't use
the jobid as workerid anymore.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agotree-wide: prefer api-type BackupGroup for logging
Fabian Grünbichler [Mon, 16 May 2022 09:00:30 +0000 (11:00 +0200)]
tree-wide: prefer api-type BackupGroup for logging

together with DatastoreWithNamespace where needed, to not forget
namespace information.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoBackupDir: stop implementing Display
Fabian Grünbichler [Mon, 16 May 2022 08:42:07 +0000 (10:42 +0200)]
BackupDir: stop implementing Display

the api type implements it already, all call sites should rather use
DatastoreWithName and pbs_api_types::BackupDir for logging/..

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agotape/verify: use print_ns_and_snapshot
Fabian Grünbichler [Mon, 16 May 2022 08:40:06 +0000 (10:40 +0200)]
tape/verify: use print_ns_and_snapshot

in those few places where we actually want to use/print the full,
NS-included path.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoBackupDir: fix manifest_lock_path
Fabian Grünbichler [Mon, 16 May 2022 08:39:10 +0000 (10:39 +0200)]
BackupDir: fix manifest_lock_path

this definitely shouldn't rely on BackupDir's Display implementation..

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agotree-wide: prefer api-type BackupDir for logging
Fabian Grünbichler [Mon, 16 May 2022 08:33:59 +0000 (10:33 +0200)]
tree-wide: prefer api-type BackupDir for logging

in combination with DatastoreWithNamespace to not lose the namespace
information.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoBackupDir: add group/dir accessors
Fabian Grünbichler [Mon, 16 May 2022 11:31:49 +0000 (13:31 +0200)]
BackupDir: add group/dir accessors

for getting the respective api type references for convenient
printing/logging.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoui: verify/sync: allow to optionally override ID again
Thomas Lamprecht [Mon, 16 May 2022 16:48:44 +0000 (18:48 +0200)]
ui: verify/sync: allow to optionally override ID again

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi: namespace create: lookup datastore with corret operation
Thomas Lamprecht [Mon, 16 May 2022 16:26:55 +0000 (18:26 +0200)]
api: namespace create: lookup datastore with corret operation

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: add maintenance mask to DataStoreListSummary
Hannes Laimer [Fri, 6 May 2022 09:58:58 +0000 (09:58 +0000)]
ui: add maintenance mask to DataStoreListSummary

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
2 years agodocs: acl path: add a namespace related example
Thomas Lamprecht [Mon, 16 May 2022 16:10:13 +0000 (18:10 +0200)]
docs: acl path: add a namespace related example

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: add namespace section to sync documentation
Fabian Grünbichler [Mon, 16 May 2022 13:48:46 +0000 (15:48 +0200)]
docs: add namespace section to sync documentation

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoRevert "fix #4001: datastore/catalog: add number of files to directory entry"
Thomas Lamprecht [Mon, 16 May 2022 15:51:01 +0000 (17:51 +0200)]
Revert "fix #4001: datastore/catalog: add number of files to directory entry"

causes trouble with UI and is inconsistent as its still missing in
file restore (daemon)

We probably want to use a separate property to safe this to avoid
confusion with size.

This reverts commit 66ad63bac23359b8ede822496f68ebde843cf988.

2 years agoui: verify outdated: disallow blank and drop wrong empty text
Thomas Lamprecht [Mon, 16 May 2022 14:46:06 +0000 (16:46 +0200)]
ui: verify outdated: disallow blank and drop wrong empty text

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: switch summary repo status to widget toolkit one
Thomas Lamprecht [Mon, 16 May 2022 13:55:01 +0000 (15:55 +0200)]
ui: switch summary repo status to widget toolkit one

Not only can we remove a few lines of duplicated code, we also get
the "link to repo management" for free.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agod/control: use regular versioned build-dependency
Fabian Grünbichler [Mon, 16 May 2022 13:51:47 +0000 (15:51 +0200)]
d/control: use regular versioned build-dependency

although the full variant is provided by the current librust-log-dev
package, it won't be once it gets bumped to the next upstream version.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoui: fix setting protection in namespace
Fabian Ebner [Mon, 16 May 2022 13:25:02 +0000 (15:25 +0200)]
ui: fix setting protection in namespace

The ns parameter would not be included previously.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2 years agodocs: terminology: add namespaces and slightly restructure
Thomas Lamprecht [Mon, 16 May 2022 13:28:00 +0000 (15:28 +0200)]
docs: terminology: add namespaces and slightly restructure

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agobuild: bump required log version
Fabian Grünbichler [Mon, 16 May 2022 13:02:07 +0000 (15:02 +0200)]
build: bump required log version

else logging using "{var}" in format strings doesn't work properly.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoclient: add completion callbacks for ns parameters
Wolfgang Bumiller [Mon, 16 May 2022 09:13:37 +0000 (11:13 +0200)]
client: add completion callbacks for ns parameters

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agopbs-client: namespace completion helper
Wolfgang Bumiller [Mon, 16 May 2022 09:13:17 +0000 (11:13 +0200)]
pbs-client: namespace completion helper

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agobump version to 2.2.0-1
Thomas Lamprecht [Mon, 16 May 2022 09:06:10 +0000 (11:06 +0200)]
bump version to 2.2.0-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>