]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
2 years agoui: prune & gc: disallow collapse and add bottom margin
Thomas Lamprecht [Mon, 30 May 2022 13:02:05 +0000 (15:02 +0200)]
ui: prune & gc: disallow collapse and add bottom margin

the intra-panel margin is still the same (10 + 0 == 7 + 3) but one
can now see the bottom border.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi: disable setting prune options in datastore.cfg
Wolfgang Bumiller [Mon, 30 May 2022 12:48:13 +0000 (14:48 +0200)]
api: disable setting prune options in datastore.cfg

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agostop executing datastore prune job
Wolfgang Bumiller [Mon, 30 May 2022 12:41:34 +0000 (14:41 +0200)]
stop executing datastore prune job

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoapi: don't use PRUNE perms for prune jobs
Wolfgang Bumiller [Mon, 30 May 2022 12:33:05 +0000 (14:33 +0200)]
api: don't use PRUNE perms for prune jobs

just stick to MODIFY so we don't need to give the prune jobs
an owner for now

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agodrop unused import
Wolfgang Bumiller [Mon, 30 May 2022 12:01:22 +0000 (14:01 +0200)]
drop unused import

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agod/postinst: transform prune tasks from datastore cfg to new prune job
Thomas Lamprecht [Mon, 30 May 2022 11:36:59 +0000 (13:36 +0200)]
d/postinst: transform prune tasks from datastore cfg to new prune job

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agomanager: hidden command to move datastore prune opts into jobs
Wolfgang Bumiller [Tue, 24 May 2022 10:54:42 +0000 (12:54 +0200)]
manager: hidden command to move datastore prune opts into jobs

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoui: rework prune job view/edit
Thomas Lamprecht [Mon, 30 May 2022 09:11:56 +0000 (11:11 +0200)]
ui: rework prune job view/edit

Fix missing load on initial view, re-use the prune input panel for
editing and avoid using a tab panel for a single tab, rework also
some columns widths and various other small parts-

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: re-integrate prune into prune & GC panel
Thomas Lamprecht [Mon, 30 May 2022 08:44:58 +0000 (10:44 +0200)]
ui: re-integrate prune into prune & GC panel

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: add ui for prune jobs
Wolfgang Bumiller [Mon, 23 May 2022 09:00:55 +0000 (11:00 +0200)]
ui: add ui for prune jobs

similar to verification/sync jobs, the prune settings on the
datastore are deprecated

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agotests: switch to PruneJobOptions
Wolfgang Bumiller [Tue, 24 May 2022 09:20:55 +0000 (11:20 +0200)]
tests: switch to PruneJobOptions

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoclient: switch to PruneJobsOptions
Wolfgang Bumiller [Tue, 24 May 2022 09:18:06 +0000 (11:18 +0200)]
client: switch to PruneJobsOptions

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoadd prune jobs api
Wolfgang Bumiller [Thu, 19 May 2022 09:02:01 +0000 (11:02 +0200)]
add prune jobs api

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoadd prune job config
Wolfgang Bumiller [Thu, 19 May 2022 07:42:53 +0000 (09:42 +0200)]
add prune job config

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoapi-types: add PruneJobConfig
Wolfgang Bumiller [Thu, 19 May 2022 07:43:09 +0000 (09:43 +0200)]
api-types: add PruneJobConfig

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agoapi: add some missing sorted macro calls
Wolfgang Bumiller [Thu, 19 May 2022 07:57:20 +0000 (09:57 +0200)]
api: add some missing sorted macro calls

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2 years agod/postinst: fix upper version for applying sync.cfg remove-vanished default
Thomas Lamprecht [Mon, 30 May 2022 11:36:03 +0000 (13:36 +0200)]
d/postinst: fix upper version for applying sync.cfg remove-vanished default

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore content: better cope with restricted privs on parent namespaces
Thomas Lamprecht [Fri, 27 May 2022 14:09:48 +0000 (16:09 +0200)]
ui: datastore content: better cope with restricted privs on parent namespaces

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore content: only mask the treeview, not the top bar
Thomas Lamprecht [Fri, 27 May 2022 14:05:07 +0000 (16:05 +0200)]
ui: datastore content: only mask the treeview, not the top bar

so that an user can try to reload again easily for non-persistent
errors

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore content: avoid duplicate masking on load error
Thomas Lamprecht [Fri, 27 May 2022 14:02:42 +0000 (16:02 +0200)]
ui: datastore content: avoid duplicate masking on load error

we already handle that manually in the onLoad and want to further
extend that, so drop the more generic monStoreError

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi: namespace list: fix restrictive priv checking
Thomas Lamprecht [Fri, 27 May 2022 09:13:43 +0000 (11:13 +0200)]
api: namespace list: fix restrictive priv checking

This endpoint only lists all accessible namespace, and one doesn't
necessarily needs to have permissions on the parent itself just to
have OK ACLs on deeper down NS.

So, drop the upfront check on parent but explicitly avoid leaking if
a NS exists or not, i.e., only do so if they got access on the parent
NS.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore options: avoid breakage if rrd store cannot be queried
Thomas Lamprecht [Fri, 27 May 2022 08:59:42 +0000 (10:59 +0200)]
ui: datastore options: avoid breakage if rrd store cannot be queried

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore options: avoid breakage if active-ops cannot be queried
Thomas Lamprecht [Fri, 27 May 2022 08:59:25 +0000 (10:59 +0200)]
ui: datastore options: avoid breakage if active-ops cannot be queried

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoui: datastore summary: cope with optional gc-stats
Thomas Lamprecht [Fri, 27 May 2022 08:58:38 +0000 (10:58 +0200)]
ui: datastore summary: cope with optional gc-stats

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi: status: include empty entry for stores with ns-only privs
Thomas Lamprecht [Thu, 26 May 2022 11:36:12 +0000 (13:36 +0200)]
api: status: include empty entry for stores with ns-only privs

I.e., for those that only got permissions on a sub namespace and
those that onlöy got BACKUP_READ, as both they could just list and
count themselves too after all, so not exactly secret info.

The UI needs some adaptions to cope with gc-stats and usage being
optional, will be done in a next commit.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agoapi: move can_access_any_namespace helper to hierarchy
Thomas Lamprecht [Thu, 26 May 2022 11:35:24 +0000 (13:35 +0200)]
api: move can_access_any_namespace helper to hierarchy

to prepare for reuse

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodatastore status: impl empty-status constructor for item type
Thomas Lamprecht [Thu, 26 May 2022 11:33:58 +0000 (13:33 +0200)]
datastore status: impl empty-status constructor for item type

we can now use it for the error case and will further use it for the
can access namespace but not datastore case in a future patch

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: fix yet another typo
Thomas Lamprecht [Thu, 26 May 2022 11:26:56 +0000 (13:26 +0200)]
docs: fix yet another typo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodocs: fix some typos
Thomas Lamprecht [Thu, 26 May 2022 11:08:51 +0000 (13:08 +0200)]
docs: fix some typos

The s/Namesapce/Namespace/ one was reported in the forum [0] and so I
figured I do a quick scan for others too using codespell.

[0]: https://forum.proxmox.com/threads/109724/post-472744

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agopbs-config: clippy fixes
Thomas Lamprecht [Wed, 25 May 2022 16:26:52 +0000 (18:26 +0200)]
pbs-config: clippy fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodatastore: avoid unsafe transmute, use to_ne_bytes
Thomas Lamprecht [Wed, 25 May 2022 16:02:00 +0000 (18:02 +0200)]
datastore: avoid unsafe transmute, use to_ne_bytes

which is stable since rustc 1.32 but wasn't available in out
toolchain when this was originally written in commit 7bc1d7277

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agodatastore: clippy fixes
Thomas Lamprecht [Wed, 25 May 2022 16:01:23 +0000 (18:01 +0200)]
datastore: clippy fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2 years agotree-wide: remove DatastoreWithNamespace
Fabian Grünbichler [Wed, 25 May 2022 13:14:56 +0000 (15:14 +0200)]
tree-wide: remove DatastoreWithNamespace

instead move the acl_path helper to BackupNamespace, and introduce a new
helper for printing a store+ns when logging/generating error messages.

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi: datastore: cleanup store/ns handling
Fabian Grünbichler [Wed, 25 May 2022 09:11:12 +0000 (11:11 +0200)]
api: datastore: cleanup store/ns handling

this should just avoid some clones, no semantic changes intended.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agomove and unify namespace priv helpers
Fabian Grünbichler [Wed, 25 May 2022 08:07:54 +0000 (10:07 +0200)]
move and unify namespace priv helpers

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agosync/pull: cleanup priv checks and logging
Fabian Grünbichler [Tue, 24 May 2022 11:51:27 +0000 (13:51 +0200)]
sync/pull: cleanup priv checks and logging

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoinclude privilege names in check_privs error
Fabian Grünbichler [Tue, 24 May 2022 10:13:29 +0000 (12:13 +0200)]
include privilege names in check_privs error

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2 years agoapi: tape: use check_privs instead of manual lookup
Fabian Grünbichler [Tue, 24 May 2022 09:46:20 +0000 (11:46 +0200)]
api: tape: use check_privs instead of manual lookup

these all contain the path in the error message already, so no (new)
potential for leakage..

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
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>