]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
4 years agod/control: proxmox-widget-toolkit depend on 2.2-2
Thomas Lamprecht [Mon, 25 May 2020 10:50:55 +0000 (12:50 +0200)]
d/control: proxmox-widget-toolkit depend on 2.2-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 0.2.0
Dietmar Maurer [Mon, 25 May 2020 10:48:07 +0000 (12:48 +0200)]
bump version to 0.2.0

4 years agodepend on proxmox 0.1.36
Dietmar Maurer [Mon, 25 May 2020 10:13:45 +0000 (12:13 +0200)]
depend on proxmox 0.1.36

4 years agowww/DataStoreStatus.js: display loadavg stats
Dietmar Maurer [Mon, 25 May 2020 09:49:30 +0000 (11:49 +0200)]
www/DataStoreStatus.js: display loadavg stats

4 years agosrc/bin/proxmox-backup-proxy.rs: gather iowait stats
Dietmar Maurer [Mon, 25 May 2020 09:48:44 +0000 (11:48 +0200)]
src/bin/proxmox-backup-proxy.rs: gather iowait stats

4 years agosrc/bin/proxmox-backup-proxy.rs: gather loadavg stats
Dietmar Maurer [Mon, 25 May 2020 09:40:20 +0000 (11:40 +0200)]
src/bin/proxmox-backup-proxy.rs: gather loadavg stats

4 years agodepend on proxmox 0.1.35
Dietmar Maurer [Mon, 25 May 2020 09:34:34 +0000 (11:34 +0200)]
depend on proxmox 0.1.35

4 years agowww/DataStoreStatus.js: display root disk stats
Dietmar Maurer [Mon, 25 May 2020 09:10:44 +0000 (11:10 +0200)]
www/DataStoreStatus.js: display root disk stats

4 years agosrc/bin/proxmox-backup-proxy.rs: gather root disk stats
Dietmar Maurer [Mon, 25 May 2020 09:10:07 +0000 (11:10 +0200)]
src/bin/proxmox-backup-proxy.rs: gather root disk stats

4 years agowww/DataStoreStatus.js: display swap stats
Dietmar Maurer [Mon, 25 May 2020 08:39:54 +0000 (10:39 +0200)]
www/DataStoreStatus.js: display swap stats

4 years agosrc/rrd/rrd.rs: do not wrap error and return ErrorKind::NotFound
Dietmar Maurer [Mon, 25 May 2020 08:30:04 +0000 (10:30 +0200)]
src/rrd/rrd.rs: do not wrap error and return ErrorKind::NotFound

4 years agosrc/bin/proxmox-backup-proxy.rs: gather swap usage stats
Dietmar Maurer [Mon, 25 May 2020 08:25:58 +0000 (10:25 +0200)]
src/bin/proxmox-backup-proxy.rs: gather swap usage stats

4 years agosrc/rrd/cache.rs: display/log error when RRD load fails
Dietmar Maurer [Mon, 25 May 2020 08:18:53 +0000 (10:18 +0200)]
src/rrd/cache.rs: display/log error when RRD load fails

4 years agosrc/rrd/rrd.rs: store/verify magic number
Dietmar Maurer [Mon, 25 May 2020 07:21:54 +0000 (09:21 +0200)]
src/rrd/rrd.rs: store/verify magic number

4 years agosrc/bin/proxmox-backup-proxy.rs: use block_in_place for rrd update
Dietmar Maurer [Mon, 25 May 2020 06:30:59 +0000 (08:30 +0200)]
src/bin/proxmox-backup-proxy.rs: use block_in_place for rrd update

4 years agosrc/rrd/rrd.rs: implement DST_COUNTER
Dietmar Maurer [Mon, 25 May 2020 06:14:30 +0000 (08:14 +0200)]
src/rrd/rrd.rs: implement DST_COUNTER

4 years agosrc/rrd/rrd.rs: correctly compute derived values
Dietmar Maurer [Mon, 25 May 2020 05:02:04 +0000 (07:02 +0200)]
src/rrd/rrd.rs: correctly compute derived values

use f64 for time.

4 years agowww/DataStoreStatus.js: display netin/netout
Dietmar Maurer [Sun, 24 May 2020 15:47:26 +0000 (17:47 +0200)]
www/DataStoreStatus.js: display netin/netout

4 years agosrc/bin/proxmox-backup-proxy.rs: gather netin/netout stats
Dietmar Maurer [Sun, 24 May 2020 15:28:05 +0000 (17:28 +0200)]
src/bin/proxmox-backup-proxy.rs: gather netin/netout stats

4 years agosrc/config/network.rs: implement is_physical_nic() helper
Dietmar Maurer [Sun, 24 May 2020 15:27:33 +0000 (17:27 +0200)]
src/config/network.rs: implement is_physical_nic() helper

4 years agosrc/rrd/rrd.rs: implement DST_DERIVE
Dietmar Maurer [Sun, 24 May 2020 15:03:02 +0000 (17:03 +0200)]
src/rrd/rrd.rs: implement DST_DERIVE

4 years agosrc/rrd/rrd.rs: restructure whole code
Dietmar Maurer [Sun, 24 May 2020 14:51:28 +0000 (16:51 +0200)]
src/rrd/rrd.rs: restructure whole code

4 years agosrc/rrd/rrd.rs: reduce size by using f64:NAN as UNKNOWN
Dietmar Maurer [Sun, 24 May 2020 07:09:09 +0000 (09:09 +0200)]
src/rrd/rrd.rs: reduce size by using f64:NAN as UNKNOWN

4 years agosrc/rrd/rrd.rs: simplify an fix old value deletion
Dietmar Maurer [Sun, 24 May 2020 04:44:06 +0000 (06:44 +0200)]
src/rrd/rrd.rs: simplify an fix old value deletion

4 years agorrd: fix display interval, try to avoid numeric errors
Dietmar Maurer [Sat, 23 May 2020 14:03:43 +0000 (16:03 +0200)]
rrd: fix display interval, try to avoid numeric errors

4 years agorrd: simplify code
Dietmar Maurer [Sat, 23 May 2020 13:37:17 +0000 (15:37 +0200)]
rrd: simplify code

4 years agorrd: pack multiple rrd values into th estat list
Dietmar Maurer [Sat, 23 May 2020 12:03:44 +0000 (14:03 +0200)]
rrd: pack multiple rrd values into th estat list

4 years agowww/DataStoreStatus.js: add test for RRD api
Dietmar Maurer [Sat, 23 May 2020 09:52:26 +0000 (11:52 +0200)]
www/DataStoreStatus.js: add test for RRD api

4 years agoadd experimental rrd api to get cpu stats
Dietmar Maurer [Sat, 23 May 2020 09:10:02 +0000 (11:10 +0200)]
add experimental rrd api to get cpu stats

4 years agostart gathering stats using new rrd module
Dietmar Maurer [Sat, 23 May 2020 08:43:08 +0000 (10:43 +0200)]
start gathering stats using new rrd module

4 years agoadd simple rrd implementation
Dietmar Maurer [Sat, 23 May 2020 07:29:33 +0000 (09:29 +0200)]
add simple rrd implementation

4 years agosrc/client/pull.rs: split out pull related code
Dietmar Maurer [Fri, 22 May 2020 06:04:20 +0000 (08:04 +0200)]
src/client/pull.rs: split out pull related code

4 years agosrc/bin/proxmox-backup-proxy.rs: schedule sync jobs
Dietmar Maurer [Fri, 22 May 2020 05:50:59 +0000 (07:50 +0200)]
src/bin/proxmox-backup-proxy.rs: schedule sync jobs

4 years agosrc/api2/pull.rs: aquire try_shared_chunk_store_lock inside pull_store
Dietmar Maurer [Fri, 22 May 2020 05:24:17 +0000 (07:24 +0200)]
src/api2/pull.rs: aquire try_shared_chunk_store_lock inside pull_store

4 years agoproxmox-backup-manager: add sync-job cli
Dietmar Maurer [Thu, 21 May 2020 09:44:45 +0000 (11:44 +0200)]
proxmox-backup-manager: add sync-job cli

4 years agoproxmox-backup-manager: split out cert.rs
Dietmar Maurer [Thu, 21 May 2020 09:22:20 +0000 (11:22 +0200)]
proxmox-backup-manager: split out cert.rs

4 years agoproxmox-backup-manager: split out datastore.rs
Dietmar Maurer [Thu, 21 May 2020 09:14:34 +0000 (11:14 +0200)]
proxmox-backup-manager: split out datastore.rs

4 years agoproxmox-backup-manager: split out dns.rs
Dietmar Maurer [Thu, 21 May 2020 09:10:58 +0000 (11:10 +0200)]
proxmox-backup-manager: split out dns.rs

4 years agoproxmox-backup-manager: split out network.rs
Dietmar Maurer [Thu, 21 May 2020 09:08:38 +0000 (11:08 +0200)]
proxmox-backup-manager: split out network.rs

4 years agoproxmox-backup-manager: split out acl.rs
Dietmar Maurer [Thu, 21 May 2020 08:56:46 +0000 (10:56 +0200)]
proxmox-backup-manager: split out acl.rs

4 years agoproxmox-backup-manager: split out users.rs
Dietmar Maurer [Thu, 21 May 2020 08:53:06 +0000 (10:53 +0200)]
proxmox-backup-manager: split out users.rs

4 years agoroxmox-backup-manager: start splitting command into several files
Dietmar Maurer [Thu, 21 May 2020 08:46:07 +0000 (10:46 +0200)]
roxmox-backup-manager: start splitting command into several files

4 years agorename 'job' to 'sync'
Dietmar Maurer [Thu, 21 May 2020 08:29:25 +0000 (10:29 +0200)]
rename 'job' to 'sync'

4 years agosrc/api2/config/job.rs: add job api
Dietmar Maurer [Thu, 21 May 2020 08:14:26 +0000 (10:14 +0200)]
src/api2/config/job.rs: add job api

4 years agosrc/config/jobs.rs: use SectionConfig for jobs
Dietmar Maurer [Thu, 21 May 2020 06:31:16 +0000 (08:31 +0200)]
src/config/jobs.rs: use SectionConfig for jobs

4 years agosrc/bin/proxmox-backup-manager.rs: format output of show commands
Dietmar Maurer [Wed, 20 May 2020 14:47:37 +0000 (16:47 +0200)]
src/bin/proxmox-backup-manager.rs: format output of show commands

4 years agosrc/tools/systemd.rs: avoid compiler warnings
Dietmar Maurer [Wed, 20 May 2020 14:47:08 +0000 (16:47 +0200)]
src/tools/systemd.rs: avoid compiler warnings

4 years agoui: add '.' to path regex
Dominik Csapak [Wed, 20 May 2020 14:08:11 +0000 (16:08 +0200)]
ui: add '.' to path regex

since we use the path for datastore ids, which can contain a '.'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoproxmox-backup-manager: add show command for remote and datastore
Dominik Csapak [Wed, 20 May 2020 14:08:10 +0000 (16:08 +0200)]
proxmox-backup-manager: add show command for remote and datastore

to show the data for a single item

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoapi2/access/acl: add path and exact parameter to list_acl
Dominik Csapak [Wed, 20 May 2020 10:15:35 +0000 (12:15 +0200)]
api2/access/acl: add path and exact parameter to list_acl

so that we can get only a subset of the acls, filtered by the backed
also return the digest here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: add ACL panel to datastores
Dominik Csapak [Wed, 20 May 2020 10:15:38 +0000 (12:15 +0200)]
ui: add ACL panel to datastores

by introducing a datastorepanel (a TabPanel) which holds the content
and acl panel for now.

to be able to handle this in the router, we have to change the logic
of how to select the datastore from using the subpath to putting it
into the path (and extracting it when necessary)

if we need this again (e.g. possibly for remotes), we can further
refactor this logic to be more generic

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agofixup
Dietmar Maurer [Wed, 20 May 2020 11:26:41 +0000 (13:26 +0200)]
fixup

4 years agoui: add ACL panel to Configuration
Dominik Csapak [Wed, 20 May 2020 10:15:37 +0000 (12:15 +0200)]
ui: add ACL panel to Configuration

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoapi2/access/acl: make update_acl a protected api call
Dominik Csapak [Wed, 20 May 2020 10:15:36 +0000 (12:15 +0200)]
api2/access/acl: make update_acl a protected api call

since we want to set the owner of the acl config to 'root'
which is only possible when using a protected api call

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoadd 'exact' parameter to extract_acl_node_data
Dominik Csapak [Wed, 20 May 2020 10:15:34 +0000 (12:15 +0200)]
add 'exact' parameter to extract_acl_node_data

so that we can return acls for a single path

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: add UserSelector
Dominik Csapak [Wed, 20 May 2020 10:15:33 +0000 (12:15 +0200)]
ui: add UserSelector

this has to be different from pve for now, since the default of
'enabled' is reverted (pve: default disabled, pbs: default enabled)

if we decide to change this either here or in pve, we can refactor
it to the widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoapi2/roles: change return field of role to roleid
Dominik Csapak [Wed, 20 May 2020 10:15:32 +0000 (12:15 +0200)]
api2/roles: change return field of role to roleid

to be compatible with the pve api
with this, we can reuse the ui parts (RoleSelector)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoapi2/acl: add privs array to roles
Dominik Csapak [Wed, 20 May 2020 10:15:31 +0000 (12:15 +0200)]
api2/acl: add privs array to roles

so that an admin can see which roles have which privileges

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoacls: use constnamemap macro for privileges
Dominik Csapak [Wed, 20 May 2020 10:15:30 +0000 (12:15 +0200)]
acls: use constnamemap macro for privileges

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agodepend on proxmox 0.1.34
Dietmar Maurer [Wed, 20 May 2020 11:21:01 +0000 (13:21 +0200)]
depend on proxmox 0.1.34

4 years agosrc/bin/proxmox-backup-proxy.rs: schedule prune jobs
Dietmar Maurer [Wed, 20 May 2020 11:00:53 +0000 (13:00 +0200)]
src/bin/proxmox-backup-proxy.rs: schedule prune jobs

4 years agosrc/config/datastore.rs_ change prune types from i64 to u64
Dietmar Maurer [Wed, 20 May 2020 11:00:13 +0000 (13:00 +0200)]
src/config/datastore.rs_ change prune types from i64 to u64

4 years agosrc/config/datastore.rs: add prune settings
Dietmar Maurer [Wed, 20 May 2020 09:29:59 +0000 (11:29 +0200)]
src/config/datastore.rs: add prune settings

4 years agosrc/api2/access/user.rs: remove useless description
Dietmar Maurer [Wed, 20 May 2020 09:27:58 +0000 (11:27 +0200)]
src/api2/access/user.rs: remove useless description

The description is not used at all if we refer to a type.

4 years agosrc/api2/types.rs: define PRUNE_SCHEMA_KEEP_*
Dietmar Maurer [Wed, 20 May 2020 08:13:38 +0000 (10:13 +0200)]
src/api2/types.rs: define PRUNE_SCHEMA_KEEP_*

4 years agosrc/tools/systemd/parse_time.rs: improve error message
Dietmar Maurer [Wed, 20 May 2020 07:43:16 +0000 (09:43 +0200)]
src/tools/systemd/parse_time.rs: improve error message

4 years agosrc/bin/proxmox-backup-manager.rs: add completion helper for gc-schedule
Dietmar Maurer [Wed, 20 May 2020 07:41:58 +0000 (09:41 +0200)]
src/bin/proxmox-backup-manager.rs: add completion helper for gc-schedule

4 years agosrc/bin/proxmox-backup-proxy.rs: add simple task scheduler for garbage collection
Dietmar Maurer [Wed, 20 May 2020 06:59:45 +0000 (08:59 +0200)]
src/bin/proxmox-backup-proxy.rs: add simple task scheduler for garbage collection

4 years agosrc/tools/systemd/time.rs: export parse/verify
Dietmar Maurer [Wed, 20 May 2020 06:38:39 +0000 (08:38 +0200)]
src/tools/systemd/time.rs: export parse/verify

4 years agosrc/config/datastore.rs: add gc-schedule property
Dietmar Maurer [Wed, 20 May 2020 06:38:10 +0000 (08:38 +0200)]
src/config/datastore.rs: add gc-schedule property

4 years agodepend on proxmox 0.1.33
Dietmar Maurer [Wed, 20 May 2020 04:29:06 +0000 (06:29 +0200)]
depend on proxmox 0.1.33

4 years agouser: create default root user as typed struct
Dominik Csapak [Tue, 19 May 2020 14:24:54 +0000 (16:24 +0200)]
user: create default root user as typed struct

we added a userid attribute to the User struct, but missed that we
created the default user without that attribuet via the json! macro
which lead to a runtime panic on the deserialization

by using the struct directly, such errors will be caught by the compiler
in the future

with this change, we can remove the serde_json import here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agodepend on proxmox 0.1.32, src/api2/access/user.rs: simplify code
Dietmar Maurer [Tue, 19 May 2020 07:49:39 +0000 (09:49 +0200)]
depend on proxmox 0.1.32, src/api2/access/user.rs: simplify code

4 years agoui: add UserManagement panel
Dominik Csapak [Mon, 18 May 2020 12:18:38 +0000 (14:18 +0200)]
ui: add UserManagement panel

to add/edit users

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: use Logo/RealmComboBox from widget-toolkit
Dominik Csapak [Mon, 18 May 2020 12:18:37 +0000 (14:18 +0200)]
ui: use Logo/RealmComboBox from widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agouse new 'id_property' for user::User and use it in api calls
Dominik Csapak [Mon, 18 May 2020 12:18:36 +0000 (14:18 +0200)]
use new 'id_property' for user::User and use it in api calls

this allows us to return a user::User (or Vec<> of it)
instead of a generic serde value

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoadapt to changes of SectionConfigPlugin
Dominik Csapak [Mon, 18 May 2020 12:18:35 +0000 (14:18 +0200)]
adapt to changes of SectionConfigPlugin

it requires not an Option<String> for the optional id_property

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoavoid compiler warnings
Dietmar Maurer [Mon, 18 May 2020 09:35:56 +0000 (11:35 +0200)]
avoid compiler warnings

4 years agoCargo.toml: remove native-tls
Fabian Grünbichler [Mon, 18 May 2020 11:51:10 +0000 (13:51 +0200)]
Cargo.toml: remove native-tls

it's not used anymore.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agodebcargo.toml: add missing doc build-dependencies
Fabian Grünbichler [Mon, 18 May 2020 11:08:23 +0000 (13:08 +0200)]
debcargo.toml: add missing doc build-dependencies

and mark them accordingly.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agodebcargo.toml: reflow dependencies
Fabian Grünbichler [Mon, 18 May 2020 11:06:19 +0000 (13:06 +0200)]
debcargo.toml: reflow dependencies

to make changes easier to track

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agodepend on proxmox 0.1.31 - use Value to store result metadata
Dietmar Maurer [Mon, 18 May 2020 07:57:35 +0000 (09:57 +0200)]
depend on proxmox 0.1.31 - use Value to store result metadata

4 years agoupdate dependencies
Fabian Grünbichler [Mon, 18 May 2020 07:06:44 +0000 (09:06 +0200)]
update dependencies

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agosrc/tools/systemd/parse_time.rs: check max values
Dietmar Maurer [Sat, 16 May 2020 11:13:50 +0000 (13:13 +0200)]
src/tools/systemd/parse_time.rs: check max values

4 years agoCalendarEvent - compute_next_value: use change tracking to avoid repeated testing
Dietmar Maurer [Sat, 16 May 2020 08:32:27 +0000 (10:32 +0200)]
CalendarEvent - compute_next_value: use change tracking to avoid repeated testing

4 years agoCalendarEvent - compute_next_value: support seconds
Dietmar Maurer [Sat, 16 May 2020 08:21:24 +0000 (10:21 +0200)]
CalendarEvent - compute_next_value: support seconds

4 years agosrc/tools/systemd/tm_editor.rs: new helper class
Dietmar Maurer [Sat, 16 May 2020 08:09:41 +0000 (10:09 +0200)]
src/tools/systemd/tm_editor.rs: new helper class

4 years agoCalendarEvent: test and fix repeated values
Dietmar Maurer [Sat, 16 May 2020 05:43:51 +0000 (07:43 +0200)]
CalendarEvent: test and fix repeated values

4 years agoCalendarEvent: speedup/simplify repetition tests
Dietmar Maurer [Sat, 16 May 2020 05:09:53 +0000 (07:09 +0200)]
CalendarEvent: speedup/simplify repetition tests

4 years agosrc/tools/systemd/parse_time.rs: move parser into separate file
Dietmar Maurer [Sat, 16 May 2020 04:53:15 +0000 (06:53 +0200)]
src/tools/systemd/parse_time.rs: move parser into separate file

4 years agosrc/tools/systemd/time.rs: implement compute_next_event
Dietmar Maurer [Sat, 16 May 2020 04:33:03 +0000 (06:33 +0200)]
src/tools/systemd/time.rs: implement compute_next_event

4 years agorenamed: src/tools/systemd/parser.rs -> src/tools/systemd/config.rs
Dietmar Maurer [Sat, 16 May 2020 04:32:28 +0000 (06:32 +0200)]
renamed: src/tools/systemd/parser.rs -> src/tools/systemd/config.rs

4 years ago src/tools/systemd/time.rs: add helpers to compute CalendarEvents
Dietmar Maurer [Fri, 15 May 2020 15:55:54 +0000 (17:55 +0200)]
 src/tools/systemd/time.rs: add helpers to compute CalendarEvents

4 years agodepend on proxmox 0.1.30
Dietmar Maurer [Fri, 15 May 2020 15:51:52 +0000 (17:51 +0200)]
depend on proxmox 0.1.30

4 years agosrc/api2/node/time.rs: avoid custom unsafe readlink implementations
Dietmar Maurer [Fri, 15 May 2020 04:50:07 +0000 (06:50 +0200)]
src/api2/node/time.rs: avoid custom unsafe readlink implementations

4 years agosrc/tools/systemd/parser.rs: use different setups for service and timer files, code...
Dietmar Maurer [Thu, 14 May 2020 11:55:13 +0000 (13:55 +0200)]
src/tools/systemd/parser.rs: use different setups for service and timer files, code cleanup

4 years agodepend on nom, add parser for systemd calendar enents and time span
Dietmar Maurer [Thu, 14 May 2020 10:17:20 +0000 (12:17 +0200)]
depend on nom, add parser for systemd calendar enents and time span

4 years agoupdate pin-utils dep to stable version
Fabian Grünbichler [Thu, 14 May 2020 09:46:05 +0000 (11:46 +0200)]
update pin-utils dep to stable version

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agoadd systemd configuration file parser/writer, start job configuration
Dietmar Maurer [Tue, 12 May 2020 11:07:49 +0000 (13:07 +0200)]
add systemd configuration file parser/writer, start job configuration

4 years agodepend on proxmox 0.1.29
Dietmar Maurer [Tue, 12 May 2020 11:03:09 +0000 (13:03 +0200)]
depend on proxmox 0.1.29