]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
21 months agobump d/control
Wolfgang Bumiller [Fri, 10 Feb 2023 13:20:55 +0000 (14:20 +0100)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agobuildsys: add domains.cfg.5 to install list
Wolfgang Bumiller [Fri, 10 Feb 2023 12:35:25 +0000 (13:35 +0100)]
buildsys: add domains.cfg.5 to install list

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agoauth: unify naming for all authenticator implementations
Lukas Wagner [Thu, 9 Feb 2023 13:31:24 +0000 (14:31 +0100)]
auth: unify naming for all authenticator implementations

This also removes the need for two clippy-allow directives.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agoauth: add dummy OpenIdAuthenticator struct
Lukas Wagner [Thu, 9 Feb 2023 13:31:23 +0000 (14:31 +0100)]
auth: add dummy OpenIdAuthenticator struct

When manually adding a user, `lookup_authenticator` is called
to verify whether a realm actually exists. Thus is is necessary
to have dummy implementation for the `ProxmoxAuthenticator` trait
for OpenID realms.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agodocs: add documentation for LDAP realms
Lukas Wagner [Thu, 9 Feb 2023 13:31:22 +0000 (14:31 +0100)]
docs: add documentation for LDAP realms

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agodocs: add configuration file reference for domains.cfg
Lukas Wagner [Thu, 9 Feb 2023 13:31:21 +0000 (14:31 +0100)]
docs: add configuration file reference for domains.cfg

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agomanager: add commands for managing LDAP realms
Lukas Wagner [Thu, 9 Feb 2023 13:31:20 +0000 (14:31 +0100)]
manager: add commands for managing LDAP realms

Adds commands for managing LDAP realms, including user sync, to
`proxmox-backup-manager`.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agoserver: add LDAP realm sync job
Lukas Wagner [Thu, 9 Feb 2023 13:31:19 +0000 (14:31 +0100)]
server: add LDAP realm sync job

This commit adds sync jobs for LDAP user sync. As of now, they
can only be started manually.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agoapi-types: add config options for LDAP user sync
Lukas Wagner [Thu, 9 Feb 2023 13:31:18 +0000 (14:31 +0100)]
api-types: add config options for LDAP user sync

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agoauth: add LDAP realm authenticator
Lukas Wagner [Thu, 9 Feb 2023 13:31:17 +0000 (14:31 +0100)]
auth: add LDAP realm authenticator

This commits also makes user authentication async, so that e.g. a not
responding LDAP server cannot block other logins.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agoapi: add routes for managing LDAP realms
Lukas Wagner [Thu, 9 Feb 2023 13:31:16 +0000 (14:31 +0100)]
api: add routes for managing LDAP realms

Note: bind-passwords set via the API  are not stored in `domains.cfg`,
but in a separate `ldap_passwords.json` file located in
`/etc/proxmox-backup/`.
Similar to the already existing `shadow.json`, the file is
stored with 0600 permissions and is owned by root.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agoapi-types: add LDAP configuration type
Lukas Wagner [Thu, 9 Feb 2023 13:31:15 +0000 (14:31 +0100)]
api-types: add LDAP configuration type

The properties are mainly based on the ones from PVE, except:
  * consistent use of kebab-cases
  * `mode` replaces deprecated `secure`

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agoui: add 'realm' field in user edit
Lukas Wagner [Thu, 9 Feb 2023 13:31:14 +0000 (14:31 +0100)]
ui: add 'realm' field in user edit

This allows specifying a user's realm when adding a new user.
For now, adding users to the PAM realm is explicitely disabled

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agopbs-config: add delete_authid to ACL-tree
Hannes Laimer [Thu, 9 Feb 2023 13:31:13 +0000 (14:31 +0100)]
pbs-config: add delete_authid to ACL-tree

... allows the deletion of an authid from the whole tree. Needed
for removing deleted users/tokens.

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
21 months agodebug cli: use handle_worker in proxmox-rest-server
Lukas Wagner [Thu, 9 Feb 2023 13:31:12 +0000 (14:31 +0100)]
debug cli: use handle_worker in proxmox-rest-server

The function was moved to proxmox-rest-server to make it
usable in the proxmox-backup-manager cli binary.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
21 months agobump rest-server dependency to 0.2.2
Wolfgang Bumiller [Fri, 10 Feb 2023 09:46:44 +0000 (10:46 +0100)]
bump rest-server dependency to 0.2.2

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
21 months agofix #4341: manager cli: add commands to run prune/sync/verify jobs
Friedrich Weber [Thu, 2 Feb 2023 16:00:14 +0000 (17:00 +0100)]
fix #4341: manager cli: add commands to run prune/sync/verify jobs

Running configured jobs was already possible using the Web UI, but not
using the CLI. To fix that, this commit adds the following commands to
`proxmox-backup-manager`:

* prune-job run <id>
* sync-job run <id>
* verify-job run <id>

Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
21 months agoverify/protect: improve error on disappearing snapshots
Fabian Grünbichler [Thu, 2 Feb 2023 13:04:24 +0000 (14:04 +0100)]
verify/protect: improve error on disappearing snapshots

or clients passing in a non-existent snapshot.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agobackup/snapshot reader: improve error message for ENOENT
Fabian Grünbichler [Thu, 2 Feb 2023 13:04:23 +0000 (14:04 +0100)]
backup/snapshot reader: improve error message for ENOENT

instead of

 Error: unable to open snapshot directory "/full/path/to/snapshot" for locking - ENOENT: No such file or directory

this will now print

 Error: Snapshot vm/800/2023-01-16T12:28:11Z does not exist.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
21 months agobump version to 2.3.3-1
Thomas Lamprecht [Wed, 8 Feb 2023 13:36:40 +0000 (14:36 +0100)]
bump version to 2.3.3-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agomove metrics connection from pbs-config to proxy
Wolfgang Bumiller [Fri, 20 Jan 2023 09:59:55 +0000 (10:59 +0100)]
move metrics connection from pbs-config to proxy

it's the only user and pbs-config shouldn't depend on the metric client

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
22 months agoapi: serde-rename deleteable properties to kebab-case
Lukas Wagner [Thu, 19 Jan 2023 15:52:32 +0000 (16:52 +0100)]
api: serde-rename deleteable properties to kebab-case

In former commit, the enum members were renamed to be CamelCase, in
accordance with the usual Rust style guide. However, this broke the
GUI in some places due to failing JSON property deserialization.
To fix this, some serde(rename = "kebab-case") directives were added.

Some properties were also serde-renamed to snake_case, otherwise
it would have been necessary to also modify proxmox-widget-toolkit
as well as PVE source code. This can follow in a later commit if so
desired.

Fixes: a2055c38 fix non-camel-case enums
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
22 months agoapi: node tasks: small cleanups
Thomas Lamprecht [Thu, 19 Jan 2023 10:26:46 +0000 (11:26 +0100)]
api: node tasks: small cleanups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agodatastore: rustfmt
Thomas Lamprecht [Thu, 19 Jan 2023 10:25:48 +0000 (11:25 +0100)]
datastore: rustfmt

Fixes: d2aff935 ("update to nix 0.26")
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agoclient: task log: use fstrings for shorter code
Thomas Lamprecht [Thu, 19 Jan 2023 10:37:07 +0000 (11:37 +0100)]
client: task log: use fstrings for shorter code

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agoclient: task log: only encode upid once
Thomas Lamprecht [Thu, 19 Jan 2023 09:38:15 +0000 (10:38 +0100)]
client: task log: only encode upid once

Instead of percent-encoding the UPID on every loop iteration plus on
abort, just encode it once before entering the loop.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agofix #4483: fix `task log` command interrupt handling
Fabian Grünbichler [Wed, 18 Jan 2023 13:53:42 +0000 (14:53 +0100)]
fix #4483: fix `task log` command interrupt handling

`proxmox-backup-client task log ..` and `proxmox-backup-manager task log ..`
are used to view the logs of tasks that have been started by another client, so
interrupting the task progress view should not forward the interrupt to the
running task. other call sites of the same helper(s) that spawn a task and then
print its progress should keep the old behaviour of interrupting the spawned
task on C^c.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agoapi: apt: versions: add proxmox-mail-forward to package list
Fiona Ebner [Fri, 2 Dec 2022 14:26:25 +0000 (15:26 +0100)]
api: apt: versions: add proxmox-mail-forward to package list

Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
22 months agodocs: fix typo in garbage collection section
Stefan Hanreich [Tue, 17 Jan 2023 13:06:53 +0000 (14:06 +0100)]
docs: fix typo in garbage collection section

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
22 months agotape inventory: code cleanup listing media assigned to a pool
Thomas Lamprecht [Mon, 16 Jan 2023 10:05:25 +0000 (11:05 +0100)]
tape inventory: code cleanup listing media assigned to a pool

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agotape inventory: code cleanup media pool look-up
Thomas Lamprecht [Mon, 16 Jan 2023 10:04:07 +0000 (11:04 +0100)]
tape inventory: code cleanup media pool look-up

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agotape inventory: make both media list methods use same appraoch
Thomas Lamprecht [Mon, 16 Jan 2023 10:00:57 +0000 (11:00 +0100)]
tape inventory: make both media list methods use same appraoch

Was a bit odd that the very similar (same return type) methods used
a for+if/else+push and a iter+filter+collect approach.

Switch both to the latter and use a match instead of if/else for
shorter code

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agofix #4466: show snapshots in media content again
Dominik Csapak [Mon, 16 Jan 2023 08:21:44 +0000 (09:21 +0100)]
fix #4466: show snapshots in media content again

while refactoring the the empty media set checks, we accidentally
reversed one check from !is_empty to unassigned, which now never
included the right media sets.

reversing the condition fixes that.

fixes
52517f7b: ("tape: hide internal use of all zero uuid for unassigned tapes")

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
22 months agocargo: update proxmox-openid to 0.9.9
Thomas Lamprecht [Wed, 11 Jan 2023 17:45:25 +0000 (18:45 +0100)]
cargo: update proxmox-openid to 0.9.9

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agoupdate to nix 0.26
Fabian Grünbichler [Wed, 4 Jan 2023 13:54:50 +0000 (14:54 +0100)]
update to nix 0.26

and corresponding proxmox-* dependencies to their versions depending on nix
0.26.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agohttp client: suppress "storing login ticket"-error when not using a TTY
Fiona Ebner [Thu, 5 Jan 2023 10:19:32 +0000 (11:19 +0100)]
http client: suppress "storing login ticket"-error when not using a TTY

as a stop-gap measure. Otherwise, task logs for PVE backups started
via non-CLI will have the message
> storing login ticket failed: $XDG_RUNTIME_DIR must be set
show up when running a proxmox-backup-client command (e.g. setting
notes and when uploading the log). This is confusing to users[0].

[0]: https://forum.proxmox.com/threads/120492/

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
22 months agofix non-camel-case enums
Wolfgang Bumiller [Thu, 5 Jan 2023 09:57:11 +0000 (10:57 +0100)]
fix non-camel-case enums

This should have never been started to begin with...

22 months agodisk: zfs: improve error logging for zfs commands
Dominik Csapak [Tue, 29 Nov 2022 08:16:11 +0000 (09:16 +0100)]
disk: zfs: improve error logging for zfs commands

zfs errors might include a newline in the output (e.g. when trying to
create a mirror on two differently sized disks), which trips up our
task log status parser since that expectes a 'TASK {status}' on the
beginning of the first line.

print the error from zfs into the log and bail out with a short notice
to check the task log

this fixes the 'unknown error' issue in the ui when an error happnes
during the zfs commands

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
22 months agoapi2/node/services: Handle optional services and expose unit-state
Christoph Heiss [Thu, 22 Dec 2022 12:05:49 +0000 (13:05 +0100)]
api2/node/services: Handle optional services and expose unit-state

.. in the same way the PVE api does, esp. regarding the logic to handle
oneshot and missing services.

This then allows re-using the GUI parts from there as well, so that the
services page in PVE and PBS looks the same.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
22 months agofix typo
Fabian Grünbichler [Wed, 4 Jan 2023 11:05:58 +0000 (12:05 +0100)]
fix typo

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
22 months agoui: verify jobs: set/improve min-width for datastore and namespace columns
Thomas Lamprecht [Wed, 4 Jan 2023 10:19:29 +0000 (11:19 +0100)]
ui: verify jobs: set/improve min-width for datastore and namespace columns

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agofix #4448: ui: verify jobs: add namespace and max-depth columns
Thomas Lamprecht [Wed, 4 Jan 2023 10:14:06 +0000 (11:14 +0100)]
fix #4448: ui: verify jobs: add namespace and max-depth columns

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
22 months agofix #4448: ui: prune jobs: rename Store to Datastore for consitency
Thomas Lamprecht [Wed, 4 Jan 2023 10:03:40 +0000 (11:03 +0100)]
fix #4448: ui: prune jobs: rename Store to Datastore for consitency

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agobump version to 2.3.2-1
Fabian Grünbichler [Thu, 22 Dec 2022 10:35:51 +0000 (11:35 +0100)]
bump version to 2.3.2-1

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agofixup doc string formatting and line-wrap comments
Wolfgang Bumiller [Tue, 20 Dec 2022 09:33:50 +0000 (10:33 +0100)]
fixup doc string formatting and line-wrap comments

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agofix #4256: api2: remove datastore ACL-node on removal of datastore
Hannes Laimer [Mon, 19 Dec 2022 14:13:25 +0000 (15:13 +0100)]
fix #4256: api2: remove datastore ACL-node on removal of datastore

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
23 months agopbs-config: add delete_node for ACL-tree
Hannes Laimer [Mon, 19 Dec 2022 14:13:24 +0000 (15:13 +0100)]
pbs-config: add delete_node for ACL-tree

... needed for the deletion of datastore ACL-nodes when the datastore
is removed.

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
23 months agofix #4256: api2: remove prune jobs on datastore delete
Hannes Laimer [Mon, 19 Dec 2022 14:13:23 +0000 (15:13 +0100)]
fix #4256: api2: remove prune jobs on datastore delete

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
23 months agofix #4387: pbs-client: print task-logs to stdout
Hannes Laimer [Mon, 19 Dec 2022 11:20:24 +0000 (12:20 +0100)]
fix #4387: pbs-client: print task-logs to stdout

... since those logs are the result of the command.

23 months agoderive Clone and PartialEq for some API types
Dietmar Maurer [Thu, 15 Dec 2022 16:34:13 +0000 (17:34 +0100)]
derive Clone and PartialEq for some API types

This is useful for react-lik GUI toolkits which need to do VDOM diffs.

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
23 months agod/postinst: check if datastore lockfile actually exists
Fiona Ebner [Thu, 15 Dec 2022 08:13:25 +0000 (09:13 +0100)]
d/postinst: check if datastore lockfile actually exists

On an installation that never had any datastores, dkpg would fail to
configure the package.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
23 months agod/control: add jq as a build dependency
Fiona Ebner [Thu, 15 Dec 2022 08:13:24 +0000 (09:13 +0100)]
d/control: add jq as a build dependency

It's used in the Makefile and building will fail without it.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
23 months agofix #4346: pbs-client: don't fail silently when storing ticket
Christoph Heiss [Mon, 12 Dec 2022 14:10:56 +0000 (15:10 +0100)]
fix #4346: pbs-client: don't fail silently when storing ticket

Instead, report an error if storing the ticket info failed, so that the
user is informed that something went wrong and follow-up commands might
require authentication again.

Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
23 months agomove pbs_tools::ticket to pbs_ticket
Wolfgang Bumiller [Tue, 13 Dec 2022 12:55:16 +0000 (13:55 +0100)]
move pbs_tools::ticket to pbs_ticket

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agobuild: drop pbs-buildcfg version hack
Fabian Grünbichler [Tue, 13 Dec 2022 08:44:44 +0000 (09:44 +0100)]
build: drop pbs-buildcfg version hack

no longer needed, it inherits the workspace/proxmox-backup version now, there
is no risk of forgetting to update its version anymore.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agobuild: use workspace member list for SUBCRATES
Fabian Grünbichler [Tue, 13 Dec 2022 08:44:11 +0000 (09:44 +0100)]
build: use workspace member list for SUBCRATES

similar to what's done in the proxmox repo/workspace, to avoid them getting out
of sync. before this change, the recently introduced pbs-key-config was
missing.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agomove pbs_config::tape_encryption_keys to pbs crate lib
Wolfgang Bumiller [Mon, 12 Dec 2022 13:26:02 +0000 (14:26 +0100)]
move pbs_config::tape_encryption_keys to pbs crate lib

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agomove pbs_config::key_config to pbs-key-config
Wolfgang Bumiller [Mon, 12 Dec 2022 13:19:52 +0000 (14:19 +0100)]
move pbs_config::key_config to pbs-key-config

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoupdate for new proxmox-api-macro
Wolfgang Bumiller [Mon, 12 Dec 2022 10:40:12 +0000 (11:40 +0100)]
update for new proxmox-api-macro

A #[default] attribute now conflicts with an explicitly
defined #[api(default: ...)] value for obvious reasons.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agosort dependencies
Fabian Grünbichler [Fri, 9 Dec 2022 12:58:19 +0000 (13:58 +0100)]
sort dependencies

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoswitch remaining member dependencies to workspace
Fabian Grünbichler [Fri, 9 Dec 2022 12:52:03 +0000 (13:52 +0100)]
switch remaining member dependencies to workspace

these are only used by a single member at the moment, but we can move them to
the workspace to have a single location for version + base feature set
specification.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agomake main crate dependencies workspace dependencies
Fabian Grünbichler [Fri, 9 Dec 2022 12:47:38 +0000 (13:47 +0100)]
make main crate dependencies workspace dependencies

these 10 crates are only used by the main crate itself, make them workspace
dependencies to reduce churn if they are every used by a member as well.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoupdate d/control
Fabian Grünbichler [Fri, 9 Dec 2022 12:37:54 +0000 (13:37 +0100)]
update d/control

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoswitch regular dependencies to workspace ones
Fabian Grünbichler [Fri, 9 Dec 2022 12:22:58 +0000 (13:22 +0100)]
switch regular dependencies to workspace ones

where applicable.

notable changes:
- serde now uses 'derive' feature across the board
- serde removed from pbs-tools (not used)
- openssl bumped to 0.40 (and patched comment removed)
- removed invalid zstd comment

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoupdate d/control
Fabian Grünbichler [Fri, 9 Dec 2022 10:50:55 +0000 (11:50 +0100)]
update d/control

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoswitch proxmox dependencies to workspace
Fabian Grünbichler [Fri, 9 Dec 2022 10:37:02 +0000 (11:37 +0100)]
switch proxmox dependencies to workspace

besides harmonizing versions, the only global change is that the tokio-io
feature of pxar is now implied since its default anyway, instead of being
spelled out.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoadd pbs-api-types to Cargo.toml
Fabian Grünbichler [Fri, 9 Dec 2022 10:49:59 +0000 (11:49 +0100)]
add pbs-api-types to Cargo.toml

else the next commit would drop its dependencies for d/control generation.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agorestore-daemon: add missing tokio feature
Fabian Grünbichler [Wed, 7 Dec 2022 11:06:43 +0000 (12:06 +0100)]
restore-daemon: add missing tokio feature

hidden by the top-level crate enabling it.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoworkspace: inherit metadata
Fabian Grünbichler [Wed, 7 Dec 2022 10:33:47 +0000 (11:33 +0100)]
workspace: inherit metadata

pbs-buildcfg is the only one that needs to inherit the version as well, since
it stores it in the compiled crate.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agomanager: remove accidentally committed ldap.rs
Lukas Wagner [Fri, 9 Dec 2022 13:13:49 +0000 (14:13 +0100)]
manager: remove accidentally committed ldap.rs

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
23 months agobump d/control
Wolfgang Bumiller [Fri, 9 Dec 2022 13:39:48 +0000 (14:39 +0100)]
bump d/control

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agodebug cli: move parameters into the function signature
Lukas Wagner [Fri, 9 Dec 2022 11:14:26 +0000 (12:14 +0100)]
debug cli: move parameters into the function signature

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
23 months agodebug cli: add colored output for `diff archive`
Lukas Wagner [Fri, 9 Dec 2022 11:14:25 +0000 (12:14 +0100)]
debug cli: add colored output for `diff archive`

This commit adds the `--color` flag to the `diff archive` tool.
Valid values are `always`, `auto` and `never`. `always` and
`never` should be self-explanatory, whereas `auto` will enable
colors unless one of the following is true:
  - STDOUT is not a tty
  - TERM=dumb is set
  - NO_COLOR is set

The tool will highlight changed file attributes in yellow.
Furthermore, (A)dded files are highlighted in green,
(M)odified in yellow and (D)eleted in red.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
23 months agodebug cli: add 'compare-content' flag to `diff archive` command
Lukas Wagner [Fri, 9 Dec 2022 11:14:24 +0000 (12:14 +0100)]
debug cli: add 'compare-content' flag to `diff archive` command

When --compare-content is set, the command will compare the
file content instead on relying on mtime to detect modified files.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
23 months agodebug cli: show more file attributes for `diff archive` command
Lukas Wagner [Fri, 9 Dec 2022 11:14:23 +0000 (12:14 +0100)]
debug cli: show more file attributes for `diff archive` command

This commit enriches the output of the `diff archive` command,
showing pxar entry type, mode, uid, gid, size, mtime and filename.
Attributes that changed between both snapshots are prefixed
with a "*".

For instance:

$ proxmox-backup-debug diff archive ...
A  f   644  10045  10000    0 B  2022-11-28 13:44:51  add.txt
M  f   644  10045  10000    6 B *2022-11-28 13:45:05  content.txt
D  f   644  10045  10000    0 B  2022-11-28 13:17:09  deleted.txt
M  f   644  10045    *29    0 B  2022-11-28 13:16:20  gid.txt
M  f  *777  10045  10000    0 B  2022-11-28 13:42:47  mode.txt
M  f   644  10045  10000    0 B *2022-11-28 13:44:33  mtime.txt
M  f   644  10045  10000   *7 B *2022-11-28 13:44:59 *size.txt
M  f   644 *64045  10000    0 B  2022-11-28 13:16:18  uid.txt
M *f   644  10045  10000   10 B  2022-11-28 13:44:59  type_changed.txt

Also, this commit ensures that we always show the *new* type.
Previously, the command showed the old type if it was changed.
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
23 months agotree-wide: bump edition to 2021
Wolfgang Bumiller [Tue, 6 Dec 2022 10:19:41 +0000 (11:19 +0100)]
tree-wide: bump edition to 2021

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agomove fuse code from pbs-client to pbs-pxar-fuse
Wolfgang Bumiller [Tue, 6 Dec 2022 08:17:03 +0000 (09:17 +0100)]
move fuse code from pbs-client to pbs-pxar-fuse

it's used by pxar-bin and proxmox-backup-client for
mounting, but pbs-client is used by more (eg. the
proxmox-backup-qemu library which really doesn't need to
pull in any fuse dependencies)

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoclippy 1.65 fixes
Fabian Grünbichler [Mon, 5 Dec 2022 10:27:40 +0000 (11:27 +0100)]
clippy 1.65 fixes

and rustfmt

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
23 months agoui: metricserver: fix enable column
Dominik Csapak [Tue, 29 Nov 2022 12:01:03 +0000 (13:01 +0100)]
ui: metricserver: fix enable column

we use 'enable' property here with a default of true, so change
the dataIndex and the renderer to reflect that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
23 months agotape: inventory: skip unassigned tapes
Dominik Csapak [Tue, 29 Nov 2022 14:17:01 +0000 (15:17 +0100)]
tape: inventory: skip unassigned tapes

tapes that are labeled into a pool but are not in a media-set yet, belong
to the special 'all zero' media-set. these will never have a catalog on them,
so skip them

fixes the issue, that an inventory with 'catalog restore' aborted on
such a tape

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
23 months agotape: hide internal use of all zero uuid for unassigned tapes
Dominik Csapak [Tue, 29 Nov 2022 14:17:00 +0000 (15:17 +0100)]
tape: hide internal use of all zero uuid for unassigned tapes

a tape assigned to a pool but no media-set, gets the special 'all zero'
media set in it's MediaSetLabel. Instead of having that constant
scattered all over the code, hide this fact by using wrapper functions
to initialize it that way and to check for it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
23 months agoFix formatting in proxmox-backup-manager
Stefan Hanreich [Tue, 29 Nov 2022 15:53:43 +0000 (16:53 +0100)]
Fix formatting in proxmox-backup-manager

Small followup to my previous commit, fixing minor formatting issues.

Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
23 months agoui: datastore options: fix default for prune notify render
Thomas Lamprecht [Tue, 29 Nov 2022 09:28:10 +0000 (10:28 +0100)]
ui: datastore options: fix default for prune notify render

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agobump version to 2.3.1-1 v2.3.1
Thomas Lamprecht [Mon, 28 Nov 2022 16:18:15 +0000 (17:18 +0100)]
bump version to 2.3.1-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: link all screenshots to their image file
Thomas Lamprecht [Mon, 28 Nov 2022 16:15:42 +0000 (17:15 +0100)]
docs: link all screenshots to their image file

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agod/postinst: try to fixup installations with wrong .datastore.lck owner
Thomas Lamprecht [Mon, 28 Nov 2022 16:03:39 +0000 (17:03 +0100)]
d/postinst: try to fixup installations with wrong .datastore.lck owner

Must be a rather ancient installation in that case as we create
new lockfiles with backup:backup since a while.

Note that this wasn't all to relevant until recently when we fixed a
TOCTOU for maintenance mode check by locking on datastore create,
which happens in the unpriv. proxy daemon too, e.g., for the
datastore status call.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agobump version to 2.3.0-1
Thomas Lamprecht [Mon, 28 Nov 2022 15:11:09 +0000 (16:11 +0100)]
bump version to 2.3.0-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: ransomware: drop extra 'd'
Thomas Lamprecht [Mon, 28 Nov 2022 15:02:25 +0000 (16:02 +0100)]
docs: ransomware: drop extra 'd'

Reported-by: Daniel Tschlatscher <d.tschlatscher@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agodocs: add paragraph on verification jobs to ransomware section
Stefan Sterz [Mon, 28 Nov 2022 14:34:01 +0000 (15:34 +0100)]
docs: add paragraph on verification jobs to ransomware section

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
23 months agodocs: minor re-phrasing and spell checking clean up
Stefan Sterz [Mon, 28 Nov 2022 14:34:00 +0000 (15:34 +0100)]
docs: minor re-phrasing and spell checking clean up

Signed-off-by: Stefan Sterz <s.sterz@proxmox.com>
23 months agodocs: don't mention CLI only anymore for tuning options
Dominik Csapak [Mon, 28 Nov 2022 13:26:41 +0000 (14:26 +0100)]
docs: don't mention CLI only anymore for tuning options

since we now have those on the ui

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
23 months agouse derive 'Default' for ChunkOrder
Dominik Csapak [Mon, 28 Nov 2022 13:26:40 +0000 (14:26 +0100)]
use derive 'Default' for ChunkOrder

instead of hardcoding the default deep inside the code. This makes it
much easier to see what is the actual default

the first instance of ChunkOrder::None was only for the test case, were
the ordering doe not matter

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
23 months agoui: datastore tuning: show correct default option
Dominik Csapak [Mon, 28 Nov 2022 13:26:39 +0000 (14:26 +0100)]
ui: datastore tuning: show correct default option

the default in the backend is really 'inode' not 'none', so show that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
23 months agoui: datastore: override maintenance icon if currently destroying
Thomas Lamprecht [Mon, 28 Nov 2022 14:56:29 +0000 (15:56 +0100)]
ui: datastore: override maintenance icon if currently destroying

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoui: datastore: allow to destroy all underlying data on removal
Thomas Lamprecht [Mon, 28 Nov 2022 14:43:59 +0000 (15:43 +0100)]
ui: datastore: allow to destroy all underlying data on removal

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agoui: datastore: factor out safe datastore destroy
Thomas Lamprecht [Mon, 28 Nov 2022 14:42:48 +0000 (15:42 +0100)]
ui: datastore: factor out safe datastore destroy

will extend it for data-destroy flag in a next commit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
23 months agofix #3335: allow removing datastore contents on delete
Wolfgang Bumiller [Fri, 25 Nov 2022 08:13:52 +0000 (09:13 +0100)]
fix #3335: allow removing datastore contents on delete

Adds an optional 'destroy-data' parameter to the datastore
remove api call.

Based-on: https://lists.proxmox.com/pipermail/pbs-devel/2022-January/004574.html
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi-types: add MaintenanceType::Delete
Wolfgang Bumiller [Fri, 25 Nov 2022 10:19:11 +0000 (11:19 +0100)]
api-types: add MaintenanceType::Delete

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi-types: derive Display and FromStr for MaintenanceType
Wolfgang Bumiller [Fri, 25 Nov 2022 10:18:56 +0000 (11:18 +0100)]
api-types: derive Display and FromStr for MaintenanceType

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
23 months agoapi-types: make Operation Eq
Wolfgang Bumiller [Fri, 25 Nov 2022 10:18:40 +0000 (11:18 +0100)]
api-types: make Operation Eq

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