]>
git.proxmox.com Git - proxmox-backup.git/log
Dietmar Maurer [Thu, 2 Jan 2020 12:29:10 +0000 (13:29 +0100)]
src/backup/read_chunk.rs: add read_raw_chunk()
Allow to read chunk data without decoding.
Dietmar Maurer [Thu, 2 Jan 2020 12:26:28 +0000 (13:26 +0100)]
src/backup/chunk_store.rs: implement cond_touch_chunk()
This will be used by backup sync to test if a chunk already exists.
Dietmar Maurer [Thu, 2 Jan 2020 10:00:33 +0000 (11:00 +0100)]
src/backup/datastore.rs: new helper try_shared_chunk_store_lock()
Dietmar Maurer [Tue, 31 Dec 2019 14:23:41 +0000 (15:23 +0100)]
src/backup/manifest.rs: new helper archive_type()
Oguz Bektas [Tue, 31 Dec 2019 08:30:24 +0000 (09:30 +0100)]
add suggestions section on TODO
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Dietmar Maurer [Mon, 30 Dec 2019 10:50:24 +0000 (11:50 +0100)]
src/bin/proxmox-backup-proxy.rs: remove unused use clause
Dietmar Maurer [Mon, 30 Dec 2019 10:50:00 +0000 (11:50 +0100)]
TODO.rst: add TODO file
Dietmar Maurer [Mon, 30 Dec 2019 10:01:21 +0000 (11:01 +0100)]
bump version to 0.1.2
Dietmar Maurer [Fri, 27 Dec 2019 12:44:21 +0000 (13:44 +0100)]
src/bin/proxmox-backup-api.rs: create cert here
Dietmar Maurer [Fri, 27 Dec 2019 12:41:31 +0000 (13:41 +0100)]
src/client/http_client.rs - start_h2_connection: correctly return error during upgrade
Wolfgang Bumiller [Fri, 27 Dec 2019 11:50:27 +0000 (12:50 +0100)]
proxy/api: await running workers before shutdown
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Fri, 27 Dec 2019 10:51:22 +0000 (11:51 +0100)]
bump version to 0.1.1
Dietmar Maurer [Fri, 27 Dec 2019 10:20:36 +0000 (11:20 +0100)]
src/bin/proxmox-backup-proxy.rs: create self signed cert at startup.
Dietmar Maurer [Fri, 27 Dec 2019 09:17:06 +0000 (10:17 +0100)]
proxmox-backup-manager.rs: remove wrong fixme
Dietmar Maurer [Mon, 23 Dec 2019 12:06:43 +0000 (13:06 +0100)]
src/bin/proxmox-backup-manager.rs: impl. cert info
Fabian Grünbichler [Mon, 23 Dec 2019 06:52:40 +0000 (07:52 +0100)]
packaging: fix docs install path
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Sun, 22 Dec 2019 16:35:06 +0000 (17:35 +0100)]
src/bin/proxmox-backup-manager.rs: add cli to generate proxy certificate
Without calling external openssl binary.
Dietmar Maurer [Sun, 22 Dec 2019 10:09:30 +0000 (11:09 +0100)]
DataStoreContent.js - render_backup_type: use better default
Dietmar Maurer [Sun, 22 Dec 2019 10:06:03 +0000 (11:06 +0100)]
DataStoreContent.js: use rowexpander plugin to display files
Dietmar Maurer [Sun, 22 Dec 2019 09:43:57 +0000 (10:43 +0100)]
DataStoreContent.js: show backup groups (instead of snapshots).
Dietmar Maurer [Sun, 22 Dec 2019 09:02:15 +0000 (10:02 +0100)]
Dietmar Maurer [Sat, 21 Dec 2019 08:15:57 +0000 (09:15 +0100)]
NavigationTree.js: use other iconCls for datastores
Thomas Lamprecht [Fri, 20 Dec 2019 16:17:44 +0000 (17:17 +0100)]
ui: ds content: add reload button, use view controller
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 20 Dec 2019 16:04:45 +0000 (17:04 +0100)]
ui: datastore content: add size column
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 20 Dec 2019 16:03:28 +0000 (17:03 +0100)]
ui: datastore content: refactor to more schematic definition
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Fri, 20 Dec 2019 14:59:14 +0000 (15:59 +0100)]
ui: datastore content: render timestamp
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Fabian Grünbichler [Fri, 20 Dec 2019 08:34:14 +0000 (09:34 +0100)]
various packaging fixes, bump version
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 18 Dec 2019 10:10:13 +0000 (11:10 +0100)]
d/control: add proper rust build-dependencies
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 18 Dec 2019 10:46:05 +0000 (11:46 +0100)]
tests/pxar: increase verbosity
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Fri, 20 Dec 2019 08:32:01 +0000 (09:32 +0100)]
Cargo.toml: remove zstd-sys
no need to specify it explicitly, the bindgen feature takes care of this.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Wed, 18 Dec 2019 09:47:30 +0000 (10:47 +0100)]
Cargo.toml: update dependencies
to those that are packaged.
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Dietmar Maurer [Fri, 20 Dec 2019 11:46:09 +0000 (12:46 +0100)]
add datastore content panel
Wolfgang Bumiller [Fri, 20 Dec 2019 11:28:28 +0000 (12:28 +0100)]
fix create_datastore parameters:
comment was declared as optional but unwrap()ed, causing
panics when not using it
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Fri, 20 Dec 2019 08:23:58 +0000 (09:23 +0100)]
src/api2/config/datastore.rs - create: pass uid and gid instead of User
Dietmar Maurer [Fri, 20 Dec 2019 08:11:40 +0000 (09:11 +0100)]
src/backup/chunk_store.rs - create: pass User instead of CreateOptions
Thomas Lamprecht [Thu, 19 Dec 2019 16:46:39 +0000 (17:46 +0100)]
api/ui: datastore: allow to set simple comment
for now forbid all control characters[0] in the comment value, the
section config writer cannot cope with newlines in the value, it
writes them out literally, allowing "injection" or breaking the whole
config.
In the webinterface use also a textfield, not a textarea.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 19 Dec 2019 16:44:20 +0000 (17:44 +0100)]
ui: datastore: minor UX improvements and whitepsace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 19 Dec 2019 16:42:31 +0000 (17:42 +0100)]
ui: do *not* close panel when triggering datastore GC
this broke the view, let the panel disappear until one switched to
another and back again, let's just no close main-view panels :)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Thu, 19 Dec 2019 15:49:40 +0000 (16:49 +0100)]
ui: use fa-archive symbol for datastore navigation tree entry
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Thu, 19 Dec 2019 12:14:49 +0000 (13:14 +0100)]
let ChunkStore::create take CreateOptions
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Thu, 19 Dec 2019 10:27:36 +0000 (11:27 +0100)]
src/bin/proxmox-backup-manager.rs: add task management cli
Dietmar Maurer [Thu, 19 Dec 2019 10:20:59 +0000 (11:20 +0100)]
src/bin/proxmox-backup-client.rs: use async fn
Dietmar Maurer [Thu, 19 Dec 2019 09:20:13 +0000 (10:20 +0100)]
remove tools::getpwnam_ugid, impl. crate::backup::backup_user()
And use new nix::unistd::User struct.
Dietmar Maurer [Thu, 19 Dec 2019 08:29:44 +0000 (09:29 +0100)]
update to nix 0.16
Dietmar Maurer [Thu, 19 Dec 2019 07:45:27 +0000 (08:45 +0100)]
src/bin/proxmox-backup-manager.rs: connect to daemon to execute GC
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Dietmar Maurer [Thu, 19 Dec 2019 07:44:38 +0000 (08:44 +0100)]
src/client/backup_repo.rs: impl. new()
Dietmar Maurer [Thu, 19 Dec 2019 06:57:53 +0000 (07:57 +0100)]
src/bin/proxmox-backup-client.rs - start_garbage_collection: add missing output-format parameter
Dietmar Maurer [Thu, 19 Dec 2019 06:09:39 +0000 (07:09 +0100)]
src/backup/datastore.rs: avoid divide by zero
Dietmar Maurer [Thu, 19 Dec 2019 06:07:39 +0000 (07:07 +0100)]
src/server/worker_task.rs: set worker thread name
This gives better logs on thread panic...
Dietmar Maurer [Thu, 19 Dec 2019 05:49:03 +0000 (06:49 +0100)]
src/backup/chunk_store.rs: create lock file with correct owner
Thomas Lamprecht [Wed, 18 Dec 2019 20:32:00 +0000 (21:32 +0100)]
ui: allow to create datastore
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 18 Dec 2019 18:21:59 +0000 (19:21 +0100)]
ui: trailing whitespace cleanup
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 18 Dec 2019 18:19:30 +0000 (19:19 +0100)]
ui: select tree item from history url on initial load
or fallback to dashboard
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 18 Dec 2019 16:29:05 +0000 (17:29 +0100)]
ui: add simple dashboard
just a starting point, code ported initially over from PMG, some
minor things are handled differently though, we have not multiple
nodes (for now) so it's very 'localhost' centric.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 18 Dec 2019 16:24:04 +0000 (17:24 +0100)]
api2: add very basic 'status/usage' endpoint for nodes
For returning the nodes basic "usage status", for now one gets memory
and CPU utilization.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Wed, 18 Dec 2019 16:22:43 +0000 (17:22 +0100)]
debian/: run wrap-and-sort
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Oguz Bektas [Wed, 18 Dec 2019 15:56:40 +0000 (16:56 +0100)]
docs: fix typo in introduction.rst
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Dietmar Maurer [Wed, 18 Dec 2019 13:29:29 +0000 (14:29 +0100)]
src/tools.rs: fix typo
Dietmar Maurer [Wed, 18 Dec 2019 12:11:02 +0000 (13:11 +0100)]
Makefile: remove zstd-sys
Dietmar Maurer [Wed, 18 Dec 2019 11:58:18 +0000 (12:58 +0100)]
administration-guide.rst: fix catalog command syntax
Dietmar Maurer [Wed, 18 Dec 2019 11:25:56 +0000 (12:25 +0100)]
src/backup/chunk_store.rs: use proxmox::tools::fs::create_path
Wolfgang Bumiller [Wed, 18 Dec 2019 11:23:10 +0000 (12:23 +0100)]
drop our zstd-sys replacement
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 18 Dec 2019 11:20:41 +0000 (12:20 +0100)]
src/config/datastore.rs: use backup gid instead of uid
Thomas Lamprecht [Wed, 18 Dec 2019 11:17:23 +0000 (12:17 +0100)]
ui/css: adapt look-and-feel to PMG one
mainly the navigation tree
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Wed, 18 Dec 2019 10:05:30 +0000 (11:05 +0100)]
replace file_set_contents with replace_file
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 18 Dec 2019 09:52:45 +0000 (10:52 +0100)]
src/api2/config/datastore.rs: set protected flags for create/delete API
Dietmar Maurer [Wed, 18 Dec 2019 09:48:19 +0000 (10:48 +0100)]
src/api2/config/datastore.rs: fix api docu
Dietmar Maurer [Wed, 18 Dec 2019 09:41:58 +0000 (10:41 +0100)]
src/config/datastore.rs: change file owner/permissions
owner(root) => read and write
group(backup) => read only
Oguz Bektas [Tue, 17 Dec 2019 15:15:25 +0000 (16:15 +0100)]
datastore: set correct owner on datastore.cfg
since manager runs as root, we have to specify backup:root owner while
saving config.
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 14:44:34 +0000 (15:44 +0100)]
ui: do not log ticket into console
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 14:42:59 +0000 (15:42 +0100)]
ui: fixup renewing ticket success calback
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Oguz Bektas [Tue, 17 Dec 2019 14:09:42 +0000 (15:09 +0100)]
chunk_store: create parent directories
'datastore create storename /path/to/dir/that/may/not/exist' should
work.
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Christian Ebner [Tue, 17 Dec 2019 14:01:21 +0000 (15:01 +0100)]
binary_search_tree: add additional doctest for search_binary_tree_by()
Make sure a start indexes larger or equal to the array size results in a return
value of `None`.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 17 Dec 2019 13:10:40 +0000 (14:10 +0100)]
binary_search_tree: fix off by one error in search_binary_tree_by()
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 17 Dec 2019 12:15:45 +0000 (13:15 +0100)]
catalog: decoder and shell: fix incorrect logic in find matching
The find matching was incorrectly performed starting from the parent directroy
and not as intended from the entries of the parent directory.
Further, the match pattern passed from the catalog shell contains the absolute
path of the search entry point as prefix, so find() must always start from the
archive root. This is because the match pattern has to be stored in the selected
list for a subsequent restore-selected command in the shell.
All matching paths are shown as absolute paths with all contents in the subdir,
equal to what would be restored by the given pattern.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 13:45:13 +0000 (14:45 +0100)]
ui: show login window if we get a 401 auth exception
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 13:44:25 +0000 (14:44 +0100)]
ui: re-new ticket every 15 minutes
Like we do it in PVE/PMG
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 12:00:51 +0000 (13:00 +0100)]
proxmox-backup-proxy.service: order after proxmox-backup.service
Ensures we've got the authkey available.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Tue, 17 Dec 2019 13:06:48 +0000 (14:06 +0100)]
use proxmox-mini-journalreader to display syslog
Dietmar Maurer [Tue, 17 Dec 2019 12:26:14 +0000 (13:26 +0100)]
src/api2/node/syslog.rs: use api macro
Thomas Lamprecht [Tue, 17 Dec 2019 12:00:17 +0000 (13:00 +0100)]
ui: main init: set username info
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 10:35:13 +0000 (11:35 +0100)]
ui login: default to root@pam user and focus password field
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Dietmar Maurer [Tue, 17 Dec 2019 10:34:29 +0000 (11:34 +0100)]
install ext6-pbs.css
Thomas Lamprecht [Mon, 16 Dec 2019 17:16:06 +0000 (18:16 +0100)]
ui: add "Documentation" button to main view
Similar to PVE and PMG, for quick access when one has the basic
webinterface open anyway. Should move to the "proxmoxHelpButton" once
we have an onlineHelp mapping to the docs.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Mon, 16 Dec 2019 17:16:05 +0000 (18:16 +0100)]
add CSS file for PBS ExtJS6 basic ui
some fitting rules copied over from PVE's ext6-pve.css file.
simply place it in the css subfolder where the proxmox-backup-gui.js
file is hosted and add a "css/" alias for that directory, the
formatter gets use the right content type with that.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Christian Ebner [Mon, 16 Dec 2019 11:13:48 +0000 (12:13 +0100)]
catalog_shell: impl find for catalog shell.
Implements the find command which allows to find and select files for subsequent
restore.
Files selected for restore are now stored in a Vec instead of a HashSet.
This is needed, since instead of the full paths for each file, selected files are
now identified by a list of match pattern, where ordering matters.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Mon, 16 Dec 2019 11:13:47 +0000 (12:13 +0100)]
catalog: impl find() for file search by match pattern.
find() iterates over the file tree and matches each node against a list of match
patterns provided at function call.
For each matching node, a callback function with the current directroy stack is
called.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Mon, 16 Dec 2019 11:13:46 +0000 (12:13 +0100)]
pxar: match_pattern: impl invert() to switch the match type of a MatchPattern.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Mon, 16 Dec 2019 11:13:45 +0000 (12:13 +0100)]
pxar: match_pattern: impl traits needed for MatchPattern to be comparable.
In order to check if two MatchPattern are identical, which will be used to avoid
duplicates.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Mon, 16 Dec 2019 11:13:44 +0000 (12:13 +0100)]
pxar: match_pattern: refactor MatchPattern and introduce MatchPatternSlice.
The MatchPattern impl heavily used copies and therefore was inefficient regarding
memory management.
This patch intoduces MatchPatternSlice as struct to avoid copies and perform the
same pattern matching functionality.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Wolfgang Bumiller [Tue, 17 Dec 2019 09:52:07 +0000 (10:52 +0100)]
drop Cancellable future in favor of abortable
futures-0.3 has a futures::future::abortable() function
which does the exact same, returns an Abortable future with
an AbortHandle providing an abort() method.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 17 Dec 2019 09:47:11 +0000 (10:47 +0100)]
fix broadcast_future test case
We used to await all the futures via the runtime's shutdown
method, which doesn't exist anymore, so await all the join
handles instead.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 08:53:21 +0000 (09:53 +0100)]
generate authkey: public part needs to be readable by backup group
else the API proxy cannot use it and fails to run..
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 07:56:52 +0000 (08:56 +0100)]
handle_static_file_download: move from and_then to await
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 07:49:34 +0000 (08:49 +0100)]
cipherbench: align/format output nicely
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Tue, 17 Dec 2019 07:45:20 +0000 (08:45 +0100)]
cipherbench: be conform with rfc7539, use 12 byte nonce
else we get an error from this call, using a 16 byte (128 bit) nonce
is currently only supported by the still in draft
XChaCha20-Poly1305, not the current default specified by RFC 7539[0],
which uses a 12 byte (96 bit) nonce.
Fixes the following error:
> thread 'main' panicked at 'called `Result::unwrap()` on an `Err`
> value: ErrorStack([])', src/libcore/result.rs:1165:5
[0]: https://tools.ietf.org/html/rfc7539
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Mon, 16 Dec 2019 15:48:50 +0000 (16:48 +0100)]
ui: services-administration: s/pmg/proxmox-backup/
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Mon, 16 Dec 2019 15:38:00 +0000 (16:38 +0100)]
d/rules: override dwz helper to avoid build-failure
AFAICT, this is the issue from Debian Bug #933541, I implement the
workaround suggested by a maintainer[0].
[0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=933541#10
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Thomas Lamprecht [Mon, 16 Dec 2019 14:33:57 +0000 (15:33 +0100)]
Revert "d/control: add llvm-dev to build-dependencies"
llvm-dev was wrong, llvm-config is shipped by llvm package
This reverts commit
2db252aeae236a033e7a0c5b8a613e0eb06126d0 .
Oguz Bektas [Mon, 16 Dec 2019 14:16:06 +0000 (15:16 +0100)]
d/control: add llvm-dev to build-dependencies
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>