]>
git.proxmox.com Git - proxmox-backup.git/log
Dietmar Maurer [Thu, 5 Dec 2019 12:13:30 +0000 (13:13 +0100)]
src/api2/admin/datastore.rs - prune: log info about all snapshots
Dietmar Maurer [Thu, 5 Dec 2019 10:27:42 +0000 (11:27 +0100)]
docs/administration-guide.rst: explain how prune handles uncomplete backups
Dietmar Maurer [Thu, 5 Dec 2019 10:18:10 +0000 (11:18 +0100)]
src/backup/backup_info.rs - compute_prune_list: remove unfinished backups
Dietmar Maurer [Thu, 5 Dec 2019 08:57:37 +0000 (09:57 +0100)]
tests/prune_data: create test data for regression tests
Dietmar Maurer [Thu, 5 Dec 2019 08:43:46 +0000 (09:43 +0100)]
docs/administration-guide.rst: improve prune docs
Dietmar Maurer [Thu, 5 Dec 2019 07:55:19 +0000 (08:55 +0100)]
src/backup/backup_info.rs: improve prune algorithm
Dietmar Maurer [Wed, 4 Dec 2019 15:08:03 +0000 (16:08 +0100)]
tests/prune.rs: regression tests fro prune
Dietmar Maurer [Wed, 4 Dec 2019 14:49:11 +0000 (15:49 +0100)]
src/backup/backup_info.rs: new compute_prune_list helper
So that we can write regression tests for this.
Dietmar Maurer [Wed, 4 Dec 2019 13:18:11 +0000 (14:18 +0100)]
Revert "test another api macro use"
This reverts commit
a9aa52e6a8aea4fb6db05ce697df684583f3e065 .
Because we do not want to use macros for the backup protocol for now.
And because it crashes backup tasks for some unknown reason.
Dietmar Maurer [Wed, 4 Dec 2019 12:46:57 +0000 (13:46 +0100)]
docs/administration-guide.rst: add prune docs
Dietmar Maurer [Wed, 4 Dec 2019 09:47:41 +0000 (10:47 +0100)]
docs/administration-guide.rst: describe login/logout
Dietmar Maurer [Wed, 4 Dec 2019 09:03:52 +0000 (10:03 +0100)]
src/api2/admin/datastore.rs - read_backup_index: add manifest with size
So that the client can display the size of the index file.
Dietmar Maurer [Tue, 3 Dec 2019 15:58:34 +0000 (16:58 +0100)]
docs/administration-guide.rst: minor cleanups
Dietmar Maurer [Tue, 3 Dec 2019 15:51:43 +0000 (16:51 +0100)]
docs/Makefile: remove paper settings (we set that in conf.py)
Dietmar Maurer [Tue, 3 Dec 2019 15:19:30 +0000 (16:19 +0100)]
docs/administration-guide.rst: explain restore
Dietmar Maurer [Tue, 3 Dec 2019 14:23:24 +0000 (15:23 +0100)]
docs/administration-guide.rst: add encryption section
Wolfgang Bumiller [Tue, 3 Dec 2019 12:40:37 +0000 (13:40 +0100)]
test another api macro use
The api macro now supports hyphens in parameter names and
referencing externally defined `Schema`s, so here's an
example.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Christian Ebner [Wed, 27 Nov 2019 15:27:56 +0000 (16:27 +0100)]
pxar: decoder: fix incorrect read for hardlinks.
Decoders read must check if the file is a hardlink and read data from the
corresponding offset if so.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Wed, 27 Nov 2019 15:27:55 +0000 (16:27 +0100)]
pxar: decoder: return original name in attributes()
The returned filename should be the one of the file given at the offset, not of
the one the hardlink points to.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Tue, 3 Dec 2019 10:59:00 +0000 (11:59 +0100)]
docs/administration-guide.rst: improve section "Creating Backups"
Dietmar Maurer [Tue, 3 Dec 2019 08:52:53 +0000 (09:52 +0100)]
correctly install bash completion helpers
Dietmar Maurer [Tue, 3 Dec 2019 08:04:49 +0000 (09:04 +0100)]
docs/administration-guide.rst: improve section "Backup Content"
Dietmar Maurer [Tue, 3 Dec 2019 07:32:03 +0000 (08:32 +0100)]
docs/installation.rst: replace FIXME with todo items
Dietmar Maurer [Tue, 3 Dec 2019 07:18:52 +0000 (08:18 +0100)]
docs/introduction.rst: improve "Why Backup" section.
Dietmar Maurer [Mon, 2 Dec 2019 10:56:29 +0000 (11:56 +0100)]
use cli from proxmox::api
Dietmar Maurer [Mon, 2 Dec 2019 10:11:31 +0000 (11:11 +0100)]
src/cli/completion.rs - get_help_completion: fix for "help -" expansion
Dietmar Maurer [Mon, 2 Dec 2019 10:04:40 +0000 (11:04 +0100)]
src/bin/completion.rs: add echo command
Dietmar Maurer [Mon, 2 Dec 2019 09:57:19 +0000 (10:57 +0100)]
src/bin/completion.rs: use api macros
Dietmar Maurer [Mon, 2 Dec 2019 07:52:08 +0000 (08:52 +0100)]
src/cli/command.rs: use insert_help()
Dietmar Maurer [Mon, 2 Dec 2019 07:47:03 +0000 (08:47 +0100)]
src/cli/command.rs: cleanup, remove unused top_def parameter
Dietmar Maurer [Mon, 2 Dec 2019 07:31:03 +0000 (08:31 +0100)]
src/cli/completion.rs - get_simple_completion: remove all_arg_param parameters
Seems useless.
Dietmar Maurer [Sun, 1 Dec 2019 15:41:49 +0000 (16:41 +0100)]
src/cli: improve docs
Dietmar Maurer [Sun, 1 Dec 2019 11:54:41 +0000 (12:54 +0100)]
src/cli/command.rs: make set_help_context private - no need to expose
Dietmar Maurer [Sun, 1 Dec 2019 11:40:37 +0000 (12:40 +0100)]
src/cli/command.rs: improve help command description
Dietmar Maurer [Sun, 1 Dec 2019 10:42:17 +0000 (11:42 +0100)]
src/cli/completion.rs: moved all completion related code here
Dietmar Maurer [Sun, 1 Dec 2019 10:31:35 +0000 (11:31 +0100)]
src/cli/readline.rs: moved readline related code here
Dietmar Maurer [Sun, 1 Dec 2019 10:17:57 +0000 (11:17 +0100)]
src/cli/shellword.rs: moved shellword related code into this file
Dietmar Maurer [Sun, 1 Dec 2019 10:06:54 +0000 (11:06 +0100)]
src/cli/command.rs - get_nested_completion: allow fuzzy match
Dietmar Maurer [Sun, 1 Dec 2019 09:24:07 +0000 (10:24 +0100)]
src/cli/command.rs - get_nested_completion: return nothing if first argument does not match
Dietmar Maurer [Sun, 1 Dec 2019 09:18:47 +0000 (10:18 +0100)]
src/cli/command.rs: improve get_help_completion
Dietmar Maurer [Sun, 1 Dec 2019 08:51:05 +0000 (09:51 +0100)]
tests/verify-api.rs: remove unused use clause
Dietmar Maurer [Sun, 1 Dec 2019 08:42:51 +0000 (09:42 +0100)]
src/cli/command.rs: handle multilevel sub commands in help
Dietmar Maurer [Sat, 30 Nov 2019 14:43:44 +0000 (15:43 +0100)]
src/cli/command.rs: fix help completions
Dietmar Maurer [Sat, 30 Nov 2019 14:08:37 +0000 (15:08 +0100)]
src/bin/completion.rs: add history support
Dietmar Maurer [Sat, 30 Nov 2019 14:08:00 +0000 (15:08 +0100)]
src/cli/command.rs - handle_command: return Result instead of exit()
Dietmar Maurer [Sat, 30 Nov 2019 13:56:31 +0000 (14:56 +0100)]
src/cli.rs: add insert_help() method
Dietmar Maurer [Sat, 30 Nov 2019 11:57:02 +0000 (12:57 +0100)]
src/cli/command.rs: implement help
Wolfgang Bumiller [Fri, 29 Nov 2019 12:37:34 +0000 (13:37 +0100)]
cli/completion: use match statements and .contains()
`match` is a bit more readable than the if-else chains,
also replace
space_chars.iter().any(|s| c == *s)
with
space_chars.contains(&c)
which is also more readable.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Fri, 29 Nov 2019 11:43:29 +0000 (12:43 +0100)]
remove shellwords crate
Dietmar Maurer [Fri, 29 Nov 2019 10:58:01 +0000 (11:58 +0100)]
use rustyline to replace readline
Wolfgang Bumiller [Fri, 29 Nov 2019 08:52:15 +0000 (09:52 +0100)]
whitespace fixup
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 29 Nov 2019 08:51:27 +0000 (09:51 +0100)]
update api macro example usage
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 27 Nov 2019 13:43:10 +0000 (14:43 +0100)]
src/cli/command.rs: cleanup, make handlers more generic
Wolfgang Bumiller [Wed, 27 Nov 2019 13:19:36 +0000 (14:19 +0100)]
update api macro invocation to new style
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Christian Ebner [Tue, 26 Nov 2019 13:32:48 +0000 (14:32 +0100)]
catalog_shell: fix several clippy warnings
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Wolfgang Bumiller [Wed, 27 Nov 2019 09:05:37 +0000 (10:05 +0100)]
first api macro usage test/example
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Christian Ebner [Tue, 26 Nov 2019 11:41:58 +0000 (12:41 +0100)]
catalog_shell: major refactoring of cli command definition and parsing
By changing the way shell commands are defined and parsed, this makes it more
straight forward to extend the current functionality.
The readline input is parsed based on the provided command definition and the
given parameters and options are passed to a command specific callback function.
In addition, the provided command definition including its description is used
to generate a help string to display.
The help command shows a list of all supported commands or the help string for
the provided command.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 26 Nov 2019 10:33:28 +0000 (11:33 +0100)]
catalog_shell: check and return on empty list in order to avoid division by zero
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Tue, 26 Nov 2019 10:33:27 +0000 (11:33 +0100)]
catalog_shell: do not restore full archive if no entries are selected for restore-selected
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Tue, 26 Nov 2019 11:11:21 +0000 (12:11 +0100)]
src/cli/format.rs: move doc generation code into extra file
Dietmar Maurer [Tue, 26 Nov 2019 10:16:46 +0000 (11:16 +0100)]
src/pxar/fuse.rs: add impl Context
Dietmar Maurer [Tue, 26 Nov 2019 10:08:55 +0000 (11:08 +0100)]
src/pxar/fuse.rs: move init and destroy into Session
Dietmar Maurer [Tue, 26 Nov 2019 10:04:46 +0000 (11:04 +0100)]
src/pxar/fuse.rs: cleanup - remove setup_session (moved into new)
Dietmar Maurer [Tue, 26 Nov 2019 09:56:41 +0000 (10:56 +0100)]
src/pxar/fuse.rs: rename from_decoder into new, new into from_path
Dietmar Maurer [Tue, 26 Nov 2019 09:45:11 +0000 (10:45 +0100)]
src/pxar/decoder.rs: use trait object as reader
So that the Decoder is no longer genertic.
Dietmar Maurer [Tue, 26 Nov 2019 08:56:48 +0000 (09:56 +0100)]
src/pxar/sequential_decoder.rs: remove callback from new()
And use an extra functzion set_callback() to configure that.
Also rewrite pxar/fuse.rs and implement a generic Session (will get
further cleanups with next patches).
Dietmar Maurer [Sun, 24 Nov 2019 10:00:53 +0000 (11:00 +0100)]
src/cli/command.rs: use static array for arg_param
Dietmar Maurer [Sat, 23 Nov 2019 08:03:21 +0000 (09:03 +0100)]
rename ApiHandler::Async into ApiHandler::AsyncHttp
Dietmar Maurer [Fri, 22 Nov 2019 17:44:14 +0000 (18:44 +0100)]
src/server/rest.rs: simplify code
Dietmar Maurer [Fri, 22 Nov 2019 16:24:16 +0000 (17:24 +0100)]
src/server/rest.rs: rename get_request_parameters_async to get_request_parameters
Dietmar Maurer [Fri, 22 Nov 2019 16:22:07 +0000 (17:22 +0100)]
src/server/rest.rs - only pass ObjectSchema to get_request_parameters_async()
Dietmar Maurer [Fri, 22 Nov 2019 12:02:05 +0000 (13:02 +0100)]
src/server/rest.rs: cleanup async code
Wolfgang Bumiller [Fri, 22 Nov 2019 08:29:16 +0000 (09:29 +0100)]
remove api_schema submodule
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Fri, 22 Nov 2019 08:23:03 +0000 (09:23 +0100)]
move src/api_schema/config.rs -> src/server/config.rs
Dietmar Maurer [Fri, 22 Nov 2019 08:04:52 +0000 (09:04 +0100)]
src/api_schema/registry.rs: remove dead code
Dietmar Maurer [Fri, 22 Nov 2019 07:29:41 +0000 (08:29 +0100)]
add build depend for libreadline-dev
Christian Ebner [Thu, 21 Nov 2019 14:00:01 +0000 (15:00 +0100)]
src/bin/proxmox-backup-client.rs: impl shell subcommand for client
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 21 Nov 2019 11:47:51 +0000 (12:47 +0100)]
src/backup/catalog_shell.rs: impl shell to inspect and restore a snapshot via the catalog
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 21 Nov 2019 11:47:50 +0000 (12:47 +0100)]
src/backup/readline.rs: impl wrapper for GNU readline
In order to provide the context needed for tab completion via the readline
callback, the needed mut ref is passed via a thread local storage key.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 14 Nov 2019 16:42:18 +0000 (17:42 +0100)]
src/backup/catalog.rs: derive Clone for DirEntry and DirEntryAttribute
This is needed in order to explicitly clone the values when needed in the
catalog shell implementation.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 14 Nov 2019 16:42:17 +0000 (17:42 +0100)]
src/backup/catalog.rs: impl DirEntry::is_directory()
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 14 Nov 2019 16:42:16 +0000 (17:42 +0100)]
src/pxar/sequential_decoder.rs: create all directories in target path
Create the full target path and not fail if an intermediate directory does not
exist.
This is needed in order to restore multiple archives via the catalog, where the
target should further contain each archive name as subdir.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 14 Nov 2019 16:42:15 +0000 (17:42 +0100)]
src/pxar/decoder.rs: return also payload size in lookup
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Fri, 22 Nov 2019 05:59:37 +0000 (06:59 +0100)]
docs: add backup reader protocol
Dietmar Maurer [Fri, 22 Nov 2019 05:43:13 +0000 (06:43 +0100)]
tests/verify-api.rs: test lookup table sort order
Wolfgang Bumiller [Thu, 21 Nov 2019 13:53:15 +0000 (14:53 +0100)]
api/compat: remove remaining api_schema references
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:36:28 +0000 (14:36 +0100)]
api/compat: drop more compat imports from api_schema.rs
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:18:41 +0000 (14:18 +0100)]
api/compat: drop api_handler submodule
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:17:36 +0000 (14:17 +0100)]
api/comapt: drop schema submodule
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:16:37 +0000 (14:16 +0100)]
api: BoxFut -> ApiFuture
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 21 Nov 2019 13:14:54 +0000 (14:14 +0100)]
move api schema into proxmox::api crate
And leave some compat imports in api_schema.rs to get it to
build with minimal changes.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Thu, 21 Nov 2019 12:10:49 +0000 (13:10 +0100)]
sort all property lookup tables
Required, because we use binary sreach to find items.
Dietmar Maurer [Thu, 21 Nov 2019 08:36:41 +0000 (09:36 +0100)]
use const api definitions
Dietmar Maurer [Sun, 17 Nov 2019 16:12:41 +0000 (17:12 +0100)]
add pxar.1 manual page
Dietmar Maurer [Sun, 17 Nov 2019 11:53:08 +0000 (12:53 +0100)]
docs/administration-guide.rs: add 'Backup Content' section.
Dietmar Maurer [Sun, 17 Nov 2019 08:28:38 +0000 (09:28 +0100)]
docs/administration-guide.rst: add section termonology
Dietmar Maurer [Sun, 17 Nov 2019 08:09:51 +0000 (09:09 +0100)]
docs/administration-guide.rs: move sysadmin.rst to the end
Dietmar Maurer [Sun, 17 Nov 2019 07:47:22 +0000 (08:47 +0100)]
docs/introduction.rst: improve section Architecture
Dietmar Maurer [Sat, 16 Nov 2019 10:50:56 +0000 (11:50 +0100)]
docs/introduction.rst: add todo items
Dietmar Maurer [Sat, 16 Nov 2019 10:43:14 +0000 (11:43 +0100)]
docs: improve introduction.rst