]>
git.proxmox.com Git - proxmox-backup.git/log
Dietmar Maurer [Mon, 13 Jan 2020 16:26:43 +0000 (17:26 +0100)]
src/api2/types.rs: add regression test for PROXMOX_USER_ID_SCHEMA
Dietmar Maurer [Mon, 13 Jan 2020 13:38:31 +0000 (14:38 +0100)]
src/api2/types.rs: fix regex patterns
Dietmar Maurer [Mon, 13 Jan 2020 13:17:22 +0000 (14:17 +0100)]
src/api2/types.rs: define PROXMOX_AUTH_REALM_SCHEMA and PROXMOX_USER_ID_SCHEMA
And try to use nbew schemas with config api...
Dietmar Maurer [Mon, 13 Jan 2020 12:09:54 +0000 (13:09 +0100)]
src/api2/types.rs: define HOSTNAME_FORMAT, DNS_NAME_FORMAT and DNS_NAME_OR_IP_FORMAT
Dietmar Maurer [Mon, 13 Jan 2020 11:14:14 +0000 (12:14 +0100)]
src/config/*: add #[serde(skip_serializing_if="Option::is_none")] to optinal comment
Dietmar Maurer [Mon, 13 Jan 2020 11:02:13 +0000 (12:02 +0100)]
src/api2/types.rs: define SINGLE_LINE_COMMENT_SCHEMA
Dietmar Maurer [Mon, 13 Jan 2020 10:47:07 +0000 (11:47 +0100)]
src/api2/types.rs: define REMOTE_ID_SCHEMA here
Christian Ebner [Fri, 10 Jan 2020 16:37:33 +0000 (17:37 +0100)]
pxar::fuse: impl readdirplus callback
readdirplus returns the entries together with their `EntryParam`, so subsequent
lookups for each of the entries are avoided.
In order to reduce code duplication, the code for filling the reply buffer is
moved into a macro.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Fri, 10 Jan 2020 16:37:32 +0000 (17:37 +0100)]
pxar::fuse: Get rid of broken cacheing
Remove the current caching of attrs and goodbye tables as it is broken anyway.
This will be replaced with a LRU cache.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Oguz Bektas [Fri, 10 Jan 2020 14:04:31 +0000 (15:04 +0100)]
fix typo for function name load_and_decrypt_key
Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
Dietmar Maurer [Sat, 11 Jan 2020 10:09:27 +0000 (11:09 +0100)]
src/section_config.rs: make set_data generic
Dietmar Maurer [Sat, 11 Jan 2020 09:42:09 +0000 (10:42 +0100)]
cleanup config api, add remotes config cli interface
Dietmar Maurer [Sat, 11 Jan 2020 08:18:42 +0000 (09:18 +0100)]
src/config/datastore.rs: define DataStoreConfig using api macro
Dietmar Maurer [Fri, 10 Jan 2020 18:25:26 +0000 (19:25 +0100)]
src/api2/config/remotes.rs: cleanup - avoid compiler warnings
Christian Ebner [Thu, 9 Jan 2020 17:11:53 +0000 (18:11 +0100)]
pxar::fuse: refactor HashMap to store child parent inode relation.
By moving the HashMap into `Context`, the use of lazy_static as well as the
additional Mutex can be avoided (`Context` is already guarded by a Mutex).
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Thu, 9 Jan 2020 15:26:33 +0000 (16:26 +0100)]
pxar::decoder::Decoder: include xattrs and payload size in `DirectoryEntry`.
By reading and including xattrs and payload size in struct `DirectoryEntry`,
the tuple of return types is avoided and the code is simpler.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Fri, 10 Jan 2020 11:50:06 +0000 (12:50 +0100)]
pxar: encoder: limit number of max entries held at once in memory during archive creation.
Limit the total number of entries and therefore the approximate memory
consumption instead of doing this on a per directory basis as it was previously.
This makes more sense as it limits not only the width but also the depth of the
directory tree.
Further, instead of hardcoding this value, allow to pass this information as
additional optional parameter 'entires-max'.
By this, creation of the archive with directories containing a large number of
entries is possible.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Fri, 10 Jan 2020 12:28:15 +0000 (13:28 +0100)]
src/api2/config/remotes.rs: new API to configure remotes
Dietmar Maurer [Fri, 10 Jan 2020 10:58:31 +0000 (11:58 +0100)]
src/bin/proxmox-backup-manager.rs: implement shell completion for remote datastore name
Dietmar Maurer [Fri, 10 Jan 2020 10:09:55 +0000 (11:09 +0100)]
rename src/api2/sync.rs -> src/api2/pull.rs
Use "pull" instead of "sync", because this also indicates a
direction (like "sync from").
Dietmar Maurer [Thu, 9 Jan 2020 16:35:44 +0000 (17:35 +0100)]
src/section_config.rs: implement generic lookup
Dietmar Maurer [Thu, 9 Jan 2020 13:52:29 +0000 (14:52 +0100)]
src/bin/proxmox-backup-manager.rs: implement cli sync command
Dietmar Maurer [Thu, 9 Jan 2020 13:49:40 +0000 (14:49 +0100)]
src/config/remotes.rs: implement SectionConfig for remote hosts
Christian Ebner [Wed, 8 Jan 2020 14:14:44 +0000 (15:14 +0100)]
pxar: encoder: warn on lacking read permissions instead of fail.
If during creation of the archive, files/dirs with lacking read permissions are
encountered, the user is displayed a warning and the archive is created without
including the file/dir.
Previously this resulted in an error and the archive creation failed.
In order to implement this also for the .pxarexclude files, the Error type of
MatchPattern::from_file() and MatchPattern::from_line() was adopted accordingly.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Wed, 8 Jan 2020 14:14:43 +0000 (15:14 +0100)]
pxar: encoder: fix incorrect goodbye table entries and update displayed path.
If nodes are excluded by feature flags, they must not appear in the goodbye table.
This is fixed by continuing with the next entry in the for loop.
Further the relative path buffer is now poped in order to correctly display the path.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Christian Ebner [Wed, 8 Jan 2020 09:46:56 +0000 (10:46 +0100)]
src/pxar/encoder.rs: avoid use of macro and initialize Vec with known capacity.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Dietmar Maurer [Thu, 9 Jan 2020 09:36:19 +0000 (10:36 +0100)]
src/api2/types.rs: fix SnapshotListItem schema definition
Thomas Lamprecht [Wed, 8 Jan 2020 14:12:37 +0000 (15:12 +0100)]
cargo: add alternative proxmox crate locations for convenience
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Wolfgang Bumiller [Wed, 8 Jan 2020 13:18:07 +0000 (14:18 +0100)]
bump proxmox dependency to 0.1.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 8 Jan 2020 12:53:19 +0000 (13:53 +0100)]
src/api2/sync.rs: implement remote sync
Dietmar Maurer [Wed, 8 Jan 2020 12:28:39 +0000 (13:28 +0100)]
TODO.rst: add another todo
Dietmar Maurer [Tue, 7 Jan 2020 14:18:36 +0000 (15:18 +0100)]
src/bin/proxmox-backup-client.rs: cleanup - factor out api_datastore_latest_snapshot()
Dietmar Maurer [Tue, 7 Jan 2020 14:07:57 +0000 (15:07 +0100)]
src/bin/proxmox-backup-client.rs: cleanup - factor out api_datastore_list_snapshots()
Dietmar Maurer [Tue, 7 Jan 2020 12:06:24 +0000 (13:06 +0100)]
src/bin/proxmox-backup-client.rs: use SnapshotListItem
Dietmar Maurer [Tue, 7 Jan 2020 11:52:15 +0000 (12:52 +0100)]
src/api2/types.rs: define and use new api type SnapshotListItem
Fabian Grünbichler [Tue, 7 Jan 2020 09:46:32 +0000 (10:46 +0100)]
d/control: bump proxmox build-dep
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Wolfgang Bumiller [Tue, 7 Jan 2020 09:11:35 +0000 (10:11 +0100)]
bump proxmox to 0.1.1 - packages are now available
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 6 Jan 2020 10:35:22 +0000 (11:35 +0100)]
src/backup/backup_info.rs: implement last_successful_backup()
A backup is considered successful if there is a manifest file.
Dietmar Maurer [Sun, 5 Jan 2020 15:20:26 +0000 (16:20 +0100)]
src/backup/manifest.rs: impl TryFrom DataBlob
Dietmar Maurer [Sun, 5 Jan 2020 14:15:12 +0000 (15:15 +0100)]
src/backup/datastore.rs: implement cleanup_backup_dir()
Dietmar Maurer [Sun, 5 Jan 2020 13:50:54 +0000 (14:50 +0100)]
src/client/backup_reader.rs: make compute_file_csum() public
Dietmar Maurer [Sun, 5 Jan 2020 09:31:19 +0000 (10:31 +0100)]
src/client/http_client.rs: allow access to AuthInfo fields
Dietmar Maurer [Sat, 4 Jan 2020 15:01:03 +0000 (16:01 +0100)]
Cargo.toml: set proxmox version 0.1.0 (latest packaged version)
Fabian Grünbichler [Fri, 3 Jan 2020 08:40:33 +0000 (09:40 +0100)]
cargo: switch to use packaged crates by default
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 2 Jan 2020 13:10:18 +0000 (14:10 +0100)]
add README.rst
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 2 Jan 2020 12:57:50 +0000 (13:57 +0100)]
reference valgrind_request via github
to allow using the same Cargo.toml file with a cargo config referencing
packaged crates instead of crates.io
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Fabian Grünbichler [Thu, 2 Jan 2020 10:57:28 +0000 (11:57 +0100)]
also bump version in Cargo.toml
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
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>