]>
git.proxmox.com Git - proxmox-backup.git/log
Dietmar Maurer [Wed, 6 Mar 2019 09:50:46 +0000 (10:50 +0100)]
src/bin/proxmox-backup-client.rs: impl restore
Dietmar Maurer [Wed, 6 Mar 2019 09:49:59 +0000 (10:49 +0100)]
src/api2/admin/datastore.rs: impl list_snapshot_files
Dietmar Maurer [Wed, 6 Mar 2019 09:49:01 +0000 (10:49 +0100)]
src/backup/backup_info.rs: new helper to list files
Dietmar Maurer [Wed, 6 Mar 2019 09:47:09 +0000 (10:47 +0100)]
src/api2/admin/datastore/catar.rs: use archive_name directly
Dietmar Maurer [Wed, 6 Mar 2019 09:45:38 +0000 (10:45 +0100)]
src/client/http_client.rs: impl download
Wolfgang Bumiller [Wed, 6 Mar 2019 09:39:00 +0000 (09:39 +0000)]
buildsys: copy proxmox-protocol to build/
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 6 Mar 2019 09:23:56 +0000 (10:23 +0100)]
add protocol test client
This uses futures for everything which is mostly useful as a
test to see if the protocol crate's non-blocking I/O support
can handle it...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 6 Mar 2019 09:21:22 +0000 (10:21 +0100)]
api2/admin/datastore: add a backup protocol test api path
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 6 Mar 2019 09:16:35 +0000 (10:16 +0100)]
import proxmox-protocol crate
This is supposed to contain only the parts necessary to
communicate with the server via the proxmox backup protocol.
(Including the chunker, which is currently `include!()`d
from the main crate.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 6 Mar 2019 09:20:13 +0000 (10:20 +0100)]
fixed_index: split add_chunk/add_digest
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 6 Mar 2019 09:20:04 +0000 (10:20 +0100)]
fixed_index: impl Send for FixedIndexWriter
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 6 Mar 2019 09:19:07 +0000 (10:19 +0100)]
backup/datastore: expose insert_chunk method
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 6 Mar 2019 09:18:06 +0000 (10:18 +0100)]
router: add upgrade method
This is just an Async GET method, but semantically
different, so it gets its own router method.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 6 Mar 2019 06:20:51 +0000 (07:20 +0100)]
src/bin/proxmox-backup-client.rs: sort list results
Dietmar Maurer [Wed, 6 Mar 2019 06:02:52 +0000 (07:02 +0100)]
src/bin/proxmox-backup-client.rs: allow to set backup-id
Dietmar Maurer [Wed, 6 Mar 2019 05:45:51 +0000 (06:45 +0100)]
src/client/http_client.rs: remove debug statement
Dietmar Maurer [Tue, 5 Mar 2019 17:36:22 +0000 (18:36 +0100)]
docs: remove generated-index.rst and search-page.rst
This does not work as expected.
Dietmar Maurer [Tue, 5 Mar 2019 17:09:37 +0000 (18:09 +0100)]
docs: add manual page for proxmox-backup-proxy
Dietmar Maurer [Tue, 5 Mar 2019 16:42:48 +0000 (17:42 +0100)]
docs: define author and version inside epilog.rst
Dietmar Maurer [Tue, 5 Mar 2019 11:54:44 +0000 (12:54 +0100)]
src/client/http_client.rs: store/load ticket in xdg runtime dir, depend on crate xdg
Dietmar Maurer [Tue, 5 Mar 2019 11:53:59 +0000 (12:53 +0100)]
src/api2/access.rs: authenticate_user() - add ticket login
Dietmar Maurer [Tue, 5 Mar 2019 11:52:39 +0000 (12:52 +0100)]
src/tools/ticket.rs: define const TICKET_LIFETIME
Dietmar Maurer [Tue, 5 Mar 2019 11:50:52 +0000 (12:50 +0100)]
src/tools.rs: impl file_get_json()
Wolfgang Bumiller [Tue, 5 Mar 2019 08:16:54 +0000 (09:16 +0100)]
backup_info: BackupDir shortcut
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 5 Mar 2019 08:13:07 +0000 (09:13 +0100)]
backup_info: use two independent Into<String> types
there's no reason to force them to be the same input type
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Tue, 5 Mar 2019 07:11:40 +0000 (08:11 +0100)]
src/bin/proxmox-backup-client.rs: print backup duration
Dietmar Maurer [Tue, 5 Mar 2019 06:28:13 +0000 (07:28 +0100)]
src/backup/backup_info.rs: improve docs
Dietmar Maurer [Tue, 5 Mar 2019 06:18:12 +0000 (07:18 +0100)]
src/backup/backup_info.rs: move code into separate file
Also changed create_backup_dir() parameters - uses &BackupDir now.
Dietmar Maurer [Mon, 4 Mar 2019 17:20:57 +0000 (18:20 +0100)]
src/backup/datastore.rs: add helper to sort backup lists
Dietmar Maurer [Mon, 4 Mar 2019 16:58:22 +0000 (17:58 +0100)]
src/backup/datastore.rs: use unix epoch to create DateTime
To make sure that we have a timestamp without nanosecond.
Dietmar Maurer [Mon, 4 Mar 2019 16:44:27 +0000 (17:44 +0100)]
src/backup/datastore.rs: use new() function to create structs
Dietmar Maurer [Mon, 4 Mar 2019 12:51:36 +0000 (13:51 +0100)]
src/backup/datastore.rs: protect BackupDir fields, impl new()
Dietmar Maurer [Mon, 4 Mar 2019 12:38:23 +0000 (13:38 +0100)]
src/backup/datastore.rs: protect BackupGroup fields, impl new()
Dietmar Maurer [Mon, 4 Mar 2019 08:38:34 +0000 (09:38 +0100)]
src/bin/proxmox-backup-client.rs: simply log to stdout
Dietmar Maurer [Mon, 4 Mar 2019 08:37:10 +0000 (09:37 +0100)]
src/backup/datastore.rs: make sure timestamp does not contains nanoseconds
Because we want simple, readable file names.
Dietmar Maurer [Mon, 4 Mar 2019 07:01:09 +0000 (08:01 +0100)]
src/catar/encoder.rs: add verbose flags
Dietmar Maurer [Mon, 4 Mar 2019 05:48:47 +0000 (06:48 +0100)]
src/catar/encoder.rs: skip RAMFS
unless explicitly selected.
Dietmar Maurer [Sun, 3 Mar 2019 10:46:53 +0000 (11:46 +0100)]
src/bin/proxmox-backup-client.rs: rename create into backup
Dietmar Maurer [Sun, 3 Mar 2019 10:29:00 +0000 (11:29 +0100)]
src/api2/admin/datastore.rs: imp delete_snapshot
Dietmar Maurer [Sun, 3 Mar 2019 08:52:06 +0000 (09:52 +0100)]
avoid compiler warning
Dietmar Maurer [Sun, 3 Mar 2019 08:48:32 +0000 (09:48 +0100)]
catar api: cleanup parameter names
Dietmar Maurer [Sun, 3 Mar 2019 08:44:25 +0000 (09:44 +0100)]
src/bin/proxmox-backup-client.rs: use new json_object_to_query
Dietmar Maurer [Sun, 3 Mar 2019 07:51:37 +0000 (08:51 +0100)]
src/tools.rs: new helper json_object_to_query
Dietmar Maurer [Sat, 2 Mar 2019 17:23:48 +0000 (18:23 +0100)]
docs: add support link
Dietmar Maurer [Sat, 2 Mar 2019 17:08:00 +0000 (18:08 +0100)]
docs: add "What is Proxmox Backup"
Dietmar Maurer [Sat, 2 Mar 2019 16:51:18 +0000 (17:51 +0100)]
docs: improve section "Why Backup"
Dietmar Maurer [Sat, 2 Mar 2019 15:56:01 +0000 (16:56 +0100)]
docs: add more features
Dietmar Maurer [Sat, 2 Mar 2019 15:34:10 +0000 (16:34 +0100)]
parameter name cleanups (use '-' instead of '_')
Dietmar Maurer [Sat, 2 Mar 2019 15:28:36 +0000 (16:28 +0100)]
src/api2/admin/datastore.rs: rename get_group_list to list_groups, cleanups
Dietmar Maurer [Sat, 2 Mar 2019 15:20:50 +0000 (16:20 +0100)]
src/api2/admin/datastore.rs: impl list_snapshots
Dietmar Maurer [Sat, 2 Mar 2019 15:12:34 +0000 (16:12 +0100)]
src/tools.rs: add simply string join
Dietmar Maurer [Sat, 2 Mar 2019 10:29:05 +0000 (11:29 +0100)]
src/api2/admin/datastore.rs: impl list_backup_groups
Dietmar Maurer [Sat, 2 Mar 2019 09:31:32 +0000 (10:31 +0100)]
docs: add epilog.rst to define common things.
Dietmar Maurer [Fri, 1 Mar 2019 16:36:40 +0000 (17:36 +0100)]
src/backup/datastore.rs: use timestamp with zone offset
Dietmar Maurer [Fri, 1 Mar 2019 11:43:11 +0000 (12:43 +0100)]
src/backup/datastore.rs: split BackupDir
Dietmar Maurer [Fri, 1 Mar 2019 11:32:10 +0000 (12:32 +0100)]
src/backup/datastore.rs: split BackupInfo
Wolfgang Bumiller [Fri, 1 Mar 2019 12:29:19 +0000 (13:29 +0100)]
backup/index: remove IndexIterator
removed the need for it, to avoid copies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Fri, 1 Mar 2019 08:35:41 +0000 (09:35 +0100)]
src/bin/proxmox-backup-client.rs: generate a log file
Dietmar Maurer [Fri, 1 Mar 2019 08:34:29 +0000 (09:34 +0100)]
src/tools/file_logger.rs: class to log into files
Dietmar Maurer [Fri, 1 Mar 2019 05:59:32 +0000 (06:59 +0100)]
src/bin/proxmox-backup-client.rs: use chrono::DateTime
Dietmar Maurer [Fri, 1 Mar 2019 05:48:41 +0000 (06:48 +0100)]
src/bin/proxmox-backup-client.rs: login before starting backup
Dietmar Maurer [Thu, 28 Feb 2019 18:23:48 +0000 (19:23 +0100)]
docs/glossary.rst: add hyperlinks
Dietmar Maurer [Thu, 28 Feb 2019 18:09:55 +0000 (19:09 +0100)]
docs: add glossary.rst
Dietmar Maurer [Thu, 28 Feb 2019 16:03:48 +0000 (17:03 +0100)]
src/backup/datastore.rs: use DateTime<Utc> instead of unix epoch
Dietmar Maurer [Thu, 28 Feb 2019 15:28:53 +0000 (16:28 +0100)]
docs: use exclude_pattern instead of :orphan:
Seems rst2man cannot handle :orphan:
Dietmar Maurer [Thu, 28 Feb 2019 15:20:00 +0000 (16:20 +0100)]
src/cli/command.rs: generate_usage_str() - fix option separator (newline)
Dietmar Maurer [Thu, 28 Feb 2019 15:11:49 +0000 (16:11 +0100)]
src/cli/command.rs: get_schema_type_text() - display min/max
Wolfgang Bumiller [Thu, 28 Feb 2019 14:10:47 +0000 (15:10 +0100)]
client/backup_repo: allow ip addresses for BackupRepository
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 28 Feb 2019 09:21:56 +0000 (10:21 +0100)]
datastore: add generic open_index
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 27 Feb 2019 13:32:34 +0000 (14:32 +0100)]
add IndexFile trait
We want to be able to iterate through digests of index
files, but without always having to distinguish between
dynamic and fixed types, so add a trait we can use as a
trait object.
Unfortunately the iterator needs to yield copies as
iterators cannot yield values with life times when
represented as trait objects (Box<dyn Iterator<Item = ?>>)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 28 Feb 2019 08:36:19 +0000 (09:36 +0100)]
make FixedIndexReader Send and update comments
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 28 Feb 2019 08:17:04 +0000 (09:17 +0100)]
style: BufferedReader -> BufferedRead
Single-method traits usually use the same name as their
method and aren't usually the 'noun' (which is usually an
implementation of them instead).
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Thu, 28 Feb 2019 11:51:27 +0000 (12:51 +0100)]
src/api2/admin/datastore.rs: implement prune
Dietmar Maurer [Wed, 27 Feb 2019 17:35:05 +0000 (18:35 +0100)]
docs: improve ducument structure
Dietmar Maurer [Wed, 27 Feb 2019 16:42:31 +0000 (17:42 +0100)]
build doc with sphinx
Dietmar Maurer [Wed, 27 Feb 2019 15:53:17 +0000 (16:53 +0100)]
src/api2/admin/datastore.rs: start prune api
just a dummy for now.
Wolfgang Bumiller [Wed, 27 Feb 2019 11:43:26 +0000 (11:43 +0000)]
debian/control: use python3
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 27 Feb 2019 11:43:15 +0000 (11:43 +0000)]
buildsys: deb: always build locally first
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 27 Feb 2019 11:12:00 +0000 (12:12 +0100)]
rc/server/rest.rs: allow to pass parameters as application/json
Dietmar Maurer [Wed, 27 Feb 2019 07:38:32 +0000 (08:38 +0100)]
src/bin/proxmox-backup-client.rs: fix bash completion
Wolfgang Bumiller [Wed, 27 Feb 2019 11:26:26 +0000 (11:26 +0000)]
debian/control: rst2man is in python-docutils
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 27 Feb 2019 11:24:53 +0000 (11:24 +0000)]
debian/control: sort dependencies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 27 Feb 2019 11:25:37 +0000 (11:25 +0000)]
buildsys: copy Cargo.lock to build/
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 27 Feb 2019 09:02:22 +0000 (10:02 +0100)]
backup/datastore: create_backup_dir: show if path existed
To enable asserting the creation of a new backup rather than
adding to an existing one.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 27 Feb 2019 06:21:57 +0000 (07:21 +0100)]
src/bin/proxmox-backup-client.rs: minor code cleanup
Dietmar Maurer [Tue, 26 Feb 2019 11:40:51 +0000 (12:40 +0100)]
src/cli/command.rs: improve generate_usage_str
correctly format positional array arguments ({<name>}).
Dietmar Maurer [Tue, 26 Feb 2019 11:27:28 +0000 (12:27 +0100)]
src/bin/proxmox-backup-client.rs: allow to upload more that one directory
Dietmar Maurer [Tue, 26 Feb 2019 10:59:10 +0000 (11:59 +0100)]
src/client/http_client.rs: login once, store and reuse ticket/token
Dietmar Maurer [Tue, 26 Feb 2019 10:55:06 +0000 (11:55 +0100)]
src/cli/getopts.rs: cleanup, avoid compiler warning
Dietmar Maurer [Tue, 26 Feb 2019 07:48:17 +0000 (08:48 +0100)]
src/tools.rs: new helper required_array_param()
Dietmar Maurer [Tue, 26 Feb 2019 07:47:34 +0000 (08:47 +0100)]
src/cli/getopts.rs: support positional array arguments
Dietmar Maurer [Tue, 26 Feb 2019 07:46:36 +0000 (08:46 +0100)]
src/cli/command.rs: improve error message
Dietmar Maurer [Tue, 26 Feb 2019 06:11:24 +0000 (07:11 +0100)]
src/api_schema/schema.rs: improve ParameterError display function
Wolfgang Bumiller [Mon, 25 Feb 2019 12:50:45 +0000 (13:50 +0100)]
backup/dynamic_index: split out add_chunk
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 22 Feb 2019 09:35:40 +0000 (10:35 +0100)]
backup/chunk_store: split insert_chunk
The protocol handler will receive chunk data plus a hash
pre-calculated by the client. It will verify the hash before
sending it up to the datastore in order to respond to the
client with an error on a mismatch, so there's no need to
recalculate the hash another time.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 15 Feb 2019 09:12:35 +0000 (10:12 +0100)]
backup/chunk_store: mark ChunkIterator as fused
Ranges are FusedIterators and it can be useful to propagate
that property to users.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 15 Feb 2019 08:12:44 +0000 (09:12 +0100)]
backup/chunk_store: make percentage output optional
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Feb 2019 10:39:09 +0000 (11:39 +0100)]
backup/datastore: expose chunk_store.get_chunk_iterator
will be used by the protocol handler to iterate over
existing chunks
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 25 Feb 2019 12:21:00 +0000 (13:21 +0100)]
src/backup/chunk_stat.rs: log write speed
Dietmar Maurer [Mon, 25 Feb 2019 11:52:10 +0000 (12:52 +0100)]
src/backup/chunk_stat.rs: new struct to track chunk statistics