]> git.proxmox.com Git - pve-manager.git/log
pve-manager.git
3 years agoFix 2718: GUI: handle localtime option correctly
Fabian Ebner [Tue, 19 May 2020 08:12:19 +0000 (10:12 +0200)]
Fix 2718: GUI: handle localtime option correctly

The backend treats an undefined value and 0 differently. If the option
is undefined, it will still be set for Windows in config_to_command.
Replace the checkbox with a combobox covering all options.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
3 years agofix #2574: ui: permission-path selector: push each unique path only once
Thomas Lamprecht [Sun, 24 May 2020 00:10:47 +0000 (02:10 +0200)]
fix #2574: ui: permission-path selector: push each unique path only once

In clusters a storage was pushed as many times as there are nodes
using it. Ensure we only push a path once, do this with a memory
oriented solution, i.e., build a extra object to remember what we
already pushed. This is preferred over a me.findExact call as it's a
o(n) vs o(n^2) solution compute wise and we make the user wait if
this would need long, so reducing compute time over memory use is
here a good choice - even if we will seldom run into situations where
this actually will make a difference with such small data counts.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: some eslint fixes
Thomas Lamprecht [Sun, 24 May 2020 00:09:40 +0000 (02:09 +0200)]
ui: some eslint fixes

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoceph: get_local_version: allow optional v prefix for version number
Thomas Lamprecht [Fri, 22 May 2020 16:45:07 +0000 (18:45 +0200)]
ceph: get_local_version: allow optional v prefix for version number

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agouse RealmCombobox from widget-toolkit
Dominik Csapak [Tue, 19 May 2020 14:48:38 +0000 (16:48 +0200)]
use RealmCombobox from widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: use RoleSelector from widget-toolkit
Dominik Csapak [Tue, 19 May 2020 14:48:37 +0000 (16:48 +0200)]
ui: use RoleSelector from widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: qemu: stop pending changes in correct scope
Thomas Lamprecht [Fri, 22 May 2020 15:16:35 +0000 (17:16 +0200)]
ui: qemu: stop pending changes in correct scope

I saw some cases where the pending changes just continued to get
triggered for some VMs, even if they shouldn't anymore - effectively
resulting in 3 - 4 concurrent pending changes call at a time.

It could be this, or not, but it's cleaner this way so go for it

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: refactor pool edit window
Thomas Lamprecht [Fri, 22 May 2020 15:16:04 +0000 (17:16 +0200)]
ui: refactor pool edit window

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: QinQ: indentation and stricter limits
Thomas Lamprecht [Tue, 19 May 2020 19:42:13 +0000 (21:42 +0200)]
ui: QinQ: indentation and stricter limits

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoqinq: add vlan-protocol option
Alexandre Derumier [Tue, 19 May 2020 16:39:52 +0000 (18:39 +0200)]
qinq: add vlan-protocol option

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agosdn: restrict zone && vnet name to 8 characters
Alexandre Derumier [Tue, 19 May 2020 16:39:51 +0000 (18:39 +0200)]
sdn: restrict zone && vnet name to 8 characters

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agovnetview: remove mtu field
Alexandre Derumier [Tue, 19 May 2020 16:39:50 +0000 (18:39 +0200)]
vnetview: remove mtu field

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
4 years agoui: TokenEdit: change default focus to tokenide field
Thomas Lamprecht [Tue, 19 May 2020 19:00:57 +0000 (21:00 +0200)]
ui: TokenEdit: change default focus to tokenide field

Avoids that the user selector always pops up and tokenid is normally
more likely to change as the userid gets pre-selected to the one from
the logged in user.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agofix #2747: ui: API token create: always reset base submit URL
Thomas Lamprecht [Mon, 18 May 2020 16:50:38 +0000 (18:50 +0200)]
fix #2747: ui: API token create: always reset base submit URL

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agod/control: bump versioned to proxmox-widget-toolkit
Thomas Lamprecht [Mon, 18 May 2020 15:43:07 +0000 (17:43 +0200)]
d/control: bump versioned to proxmox-widget-toolkit

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: remove Realm model and RealmComboBox
Dominik Csapak [Fri, 15 May 2020 08:19:28 +0000 (10:19 +0200)]
ui: remove Realm model and RealmComboBox

and use it from widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: use PMX.image.Logo from widget-toolkit
Dominik Csapak [Fri, 15 May 2020 08:19:27 +0000 (10:19 +0200)]
ui: use PMX.image.Logo from widget-toolkit

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoacme: account: hide TOS checkbox during load and reuse field references
Thomas Lamprecht [Thu, 14 May 2020 14:28:39 +0000 (16:28 +0200)]
acme: account: hide TOS checkbox during load and reuse field references

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme: label account name field as such
Thomas Lamprecht [Thu, 14 May 2020 14:27:06 +0000 (16:27 +0200)]
ui: acme: label account name field as such

As else some people could be confused and put in their name, as below
is the email field, and name+email are quite often pairs.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: ACMEAccountCreate: improve layout of account dialog
Dominik Csapak [Thu, 14 May 2020 12:26:55 +0000 (14:26 +0200)]
ui: ACMEAccountCreate: improve layout of account dialog

by increasing the space for the link, and using a boxLabel instead
of fieldLabel, which has better spacing for longer text

also move the e-mail before the directory to have all textboxes together

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: dc/ACME: fix not refreshing api column
Dominik Csapak [Mon, 11 May 2020 11:09:16 +0000 (13:09 +0200)]
ui: dc/ACME: fix not refreshing api column

When using a diffstore, we have to specify all fields that are
displayed, otherwise the store does not know which fields to check for
change

for the acme plugin view, 'api' was missing

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agod/control: versioned dependency for pve-doc-generator
Thomas Lamprecht [Sun, 10 May 2020 19:08:58 +0000 (21:08 +0200)]
d/control: versioned dependency for pve-doc-generator

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.2-4
Thomas Lamprecht [Sun, 10 May 2020 19:06:47 +0000 (21:06 +0200)]
bump version to 6.2-4

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: sdn: move anycast addresses to advanced items
Thomas Lamprecht [Sun, 10 May 2020 19:02:31 +0000 (21:02 +0200)]
ui: sdn: move anycast addresses to advanced items

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agosdn: add onlineHelp references and various nits
Thomas Lamprecht [Sun, 10 May 2020 18:52:44 +0000 (20:52 +0200)]
sdn: add onlineHelp references and various nits

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoapi: apt/versions: track libpve-network-perl as optional package
Thomas Lamprecht [Sun, 10 May 2020 15:14:04 +0000 (17:14 +0200)]
api: apt/versions: track libpve-network-perl as optional package

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agore-bump do 6.2-3
Thomas Lamprecht [Sat, 9 May 2020 17:33:04 +0000 (19:33 +0200)]
re-bump do 6.2-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: memory field: third time's a charm...
Thomas Lamprecht [Sat, 9 May 2020 16:17:33 +0000 (18:17 +0200)]
ui: memory field: third time's a charm...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.2-3
Thomas Lamprecht [Fri, 8 May 2020 15:46:01 +0000 (17:46 +0200)]
bump version to 6.2-3

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoupdate aplinfo
Thomas Lamprecht [Fri, 8 May 2020 15:43:31 +0000 (17:43 +0200)]
update aplinfo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoext. metric server: workaround stupid MTU problem..
Thomas Lamprecht [Fri, 8 May 2020 15:22:35 +0000 (17:22 +0200)]
ext. metric server: workaround stupid MTU problem..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agometric server: improve flush on big data updates
Thomas Lamprecht [Fri, 8 May 2020 15:15:44 +0000 (17:15 +0200)]
metric server: improve flush on big data updates

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: cluster join: hide all fields in assited mode until we got some info
Thomas Lamprecht [Fri, 8 May 2020 11:33:06 +0000 (13:33 +0200)]
ui: cluster join: hide all fields in assited mode until we got some info

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: clusterjoin: fix cluster network field visibility
Tim Marx [Fri, 8 May 2020 10:30:37 +0000 (12:30 +0200)]
ui: clusterjoin: fix cluster network field visibility

Signed-off-by: Tim Marx <t.marx@proxmox.com>
4 years agoui: cluster: code cleanups
Thomas Lamprecht [Fri, 8 May 2020 11:31:25 +0000 (13:31 +0200)]
ui: cluster: code cleanups

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agodc/Realms: fix adding of new ldap realm
Dominik Csapak [Fri, 8 May 2020 07:53:31 +0000 (09:53 +0200)]
dc/Realms: fix adding of new ldap realm

we cannot pass 'delete' on create api call, and we have to make
sure that 'default_opts' and 'sync_attributes' are alwyas available,
since they are used in onGetValues
(they were only created during setValues, which is not called
when adding a new realm)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: also set minimum memory's maxValue to higher default initially
Thomas Lamprecht [Thu, 7 May 2020 21:15:42 +0000 (23:15 +0200)]
ui: also set minimum memory's maxValue to higher default initially

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoupdate aplinfo
Thomas Lamprecht [Thu, 7 May 2020 20:02:31 +0000 (22:02 +0200)]
update aplinfo

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agobump version to 6.2-2
Thomas Lamprecht [Thu, 7 May 2020 19:49:14 +0000 (21:49 +0200)]
bump version to 6.2-2

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoapi acme: reduce after validation-request delay, print status on err
Thomas Lamprecht [Thu, 7 May 2020 19:47:53 +0000 (21:47 +0200)]
api acme: reduce after validation-request delay, print status on err

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agod/control: bump versioned build-dependency to doc-generator
Thomas Lamprecht [Thu, 7 May 2020 19:43:00 +0000 (21:43 +0200)]
d/control: bump versioned build-dependency to doc-generator

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme view: use "Challenge Plugins" name
Thomas Lamprecht [Thu, 7 May 2020 19:40:06 +0000 (21:40 +0200)]
ui: acme view: use "Challenge Plugins" name

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme plugin edit: allow to overwrite label and add a hint
Thomas Lamprecht [Thu, 7 May 2020 18:55:34 +0000 (20:55 +0200)]
ui: acme plugin edit: allow to overwrite label and add a hint

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme dns plugin edit: wider labels, = as separator
Thomas Lamprecht [Thu, 7 May 2020 18:52:30 +0000 (20:52 +0200)]
ui: acme dns plugin edit: wider labels, = as separator

Some API endpoints hvae very long variable names..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme dns plugin edit: add online help
Thomas Lamprecht [Thu, 7 May 2020 18:52:01 +0000 (20:52 +0200)]
ui: acme dns plugin edit: add online help

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agofix #2708: ui: increase default memory in VM create wizard to 2GiB
Thomas Lamprecht [Thu, 7 May 2020 13:09:25 +0000 (15:09 +0200)]
fix #2708: ui: increase default memory in VM create wizard to 2GiB

as nowadays a lot of VMs won't even start the installer with 512 MB.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: dc/ACMEClusterView: show TaskProgress on account removal
Dominik Csapak [Thu, 7 May 2020 12:00:09 +0000 (14:00 +0200)]
ui: dc/ACMEClusterView: show TaskProgress on account removal

this is not a synchronous api call, so open a taskprogress window
and reload after the task is done

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: dc/ACMEClusterView: load the correct store on reload
Dominik Csapak [Thu, 7 May 2020 12:00:08 +0000 (14:00 +0200)]
ui: dc/ACMEClusterView: load the correct store on reload

if we use a diff/update store combo, we have to load the updatestore
not the diff store, else we get spurious empty grids

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: ACMEAccountCreate: make name only optional if no default exists
Dominik Csapak [Thu, 7 May 2020 12:00:07 +0000 (14:00 +0200)]
ui: ACMEAccountCreate: make name only optional if no default exists

if the 'default' account exists, make the name field required and
remove the emptytext

get the information by querying the grid store. this may be not
up-to-date, but it is less intrusive that an extra api call that
blocks the window

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoACME: add comment for implicit standalone plugin fallback
Thomas Lamprecht [Thu, 7 May 2020 11:53:05 +0000 (13:53 +0200)]
ACME: add comment for implicit standalone plugin fallback

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoACME: fix fallback to implicit standalone plugin
Fabian Grünbichler [Thu, 7 May 2020 08:01:37 +0000 (10:01 +0200)]
ACME: fix fallback to implicit standalone plugin

we need to parse the config even if it does not exist - it will return
the 'standalone' entry that's needed to be backwards compatible with
existing setups.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agoui: node/{ACME, Certificates}: add stopUpdate on destruction
Dominik Csapak [Thu, 7 May 2020 08:27:13 +0000 (10:27 +0200)]
ui: node/{ACME, Certificates}: add stopUpdate on destruction

else the stores never stop updating

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: node/ACME: only enable order button when it should work
Dominik Csapak [Thu, 7 May 2020 08:27:12 +0000 (10:27 +0200)]
ui: node/ACME: only enable order button when it should work

to order a ceritificate, we need at least one configured domain, and
the configured account (or default) must exist

so track the domaincount in the viewmodel and introduce a
'canOrder' formula which is only true when domaincount > 0 and
account is set (if the configured account does not exist, or no account
exists at all we set 'account' to 'null')

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: node/ACME: use accountselector for verification
Dominik Csapak [Thu, 7 May 2020 08:27:11 +0000 (10:27 +0200)]
ui: node/ACME: use accountselector for verification

instead of using API2Request manually, just reload the store of
the accountselector and check if the configured account is in it

this should fix the spurious loading mask of the panel when
loading the accounts

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: node/ACME: fix some eslint errors/warnings
Dominik Csapak [Thu, 7 May 2020 08:27:10 +0000 (10:27 +0200)]
ui: node/ACME: fix some eslint errors/warnings

* unneeded brackets for arrow function
* unused variables
* me not defined
* trailing commas

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: dc/ACMEClusterView: use a diff/update store combo for the grids
Dominik Csapak [Thu, 7 May 2020 08:27:09 +0000 (10:27 +0200)]
ui: dc/ACMEClusterView: use a diff/update store combo for the grids

so that they are get automatically reloaded with the default interval (3seconds)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: ACME: add emptyText and add minHeight
Dominik Csapak [Thu, 7 May 2020 08:27:08 +0000 (10:27 +0200)]
ui: ACME: add emptyText and add minHeight

without the minHeight, the panel does resize weirdly on the first load

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoNodeConfig/get_acme_conf: make domains always a hash
Dominik Csapak [Thu, 7 May 2020 08:27:07 +0000 (10:27 +0200)]
NodeConfig/get_acme_conf: make domains always a hash

on all call sites, we assume $cfg->{domains} is a hash, but if we do not
have any domains configured, that fails with
'Can't use an undefined value as a HASH reference at ...'

so always make domains a hash to avoid this

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agobump version to 6.2-1
Thomas Lamprecht [Wed, 6 May 2020 18:20:02 +0000 (20:20 +0200)]
bump version to 6.2-1

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: auth base: add onlineHelp
Thomas Lamprecht [Wed, 6 May 2020 18:35:41 +0000 (20:35 +0200)]
ui: auth base: add onlineHelp

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agod/control: versioned build-dependency for pve-doc-generator
Thomas Lamprecht [Wed, 6 May 2020 18:25:01 +0000 (20:25 +0200)]
d/control: versioned build-dependency for pve-doc-generator

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: dc/SyncWindow: add help button
Dominik Csapak [Thu, 30 Apr 2020 11:16:10 +0000 (13:16 +0200)]
ui: dc/SyncWindow: add help button

with link to the LDAP Syncing section of the documentation

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: switch backup default compression selection to ZSTD
Thomas Lamprecht [Wed, 6 May 2020 18:16:39 +0000 (20:16 +0200)]
ui: switch backup default compression selection to ZSTD

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoadd some onlineHelp
Thomas Lamprecht [Wed, 6 May 2020 18:12:23 +0000 (20:12 +0200)]
add some onlineHelp

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: fix spelling in file name
Thomas Lamprecht [Wed, 6 May 2020 18:08:02 +0000 (20:08 +0200)]
ui: fix spelling in file name

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme: allow to register+set an account directly
Thomas Lamprecht [Wed, 6 May 2020 18:04:13 +0000 (20:04 +0200)]
ui: acme: allow to register+set an account directly

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme add domain: prefill with nodename.
Thomas Lamprecht [Wed, 6 May 2020 18:03:42 +0000 (20:03 +0200)]
ui: acme add domain: prefill with nodename.

FQDN would be more ideal, though

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme add domain: move Domain field below, hide plugin in http mode
Thomas Lamprecht [Wed, 6 May 2020 18:03:19 +0000 (20:03 +0200)]
ui: acme add domain: move Domain field below, hide plugin in http mode

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme: call Standalone plugin type HTTP
Thomas Lamprecht [Wed, 6 May 2020 18:01:39 +0000 (20:01 +0200)]
ui: acme: call Standalone plugin type HTTP

It's not 100% true, but for the user more understandable. IF we
actually change such that this detail matters we can still go for a
"Better" solution then, as it will need UI updates anyway..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agonode config: fix invalid domain error message
Thomas Lamprecht [Wed, 6 May 2020 17:53:07 +0000 (19:53 +0200)]
node config: fix invalid domain error message

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme: reduce update store interval
Thomas Lamprecht [Wed, 6 May 2020 17:13:53 +0000 (19:13 +0200)]
ui: acme: reduce update store interval

the grid glitches on load, that's a bug which we just reduce it's
frequency here...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoacme: various small UX improvements
Thomas Lamprecht [Wed, 6 May 2020 17:13:38 +0000 (19:13 +0200)]
acme: various small UX improvements

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme: actually show Account button if none is registered
Thomas Lamprecht [Wed, 6 May 2020 17:13:09 +0000 (19:13 +0200)]
ui: acme: actually show Account button if none is registered

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agofix undefined access on acme variable
Thomas Lamprecht [Wed, 6 May 2020 17:11:12 +0000 (19:11 +0200)]
fix undefined access on acme variable

We have 4 call sites of that, one had a fallback - the other three
was totally unchecked and triggered already exceptions on panel
render ... -.-

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: node/ACME: rework ACME grid for plugin based domains
Dominik Csapak [Wed, 6 May 2020 14:31:12 +0000 (16:31 +0200)]
ui: node/ACME: rework ACME grid for plugin based domains

This is basically a complete rework of the ACME grid.
Instead of having an ObjectGrid, we now have a normal
GridPanel which allows us to show a row for each Domain.

But to achieve this, we need to manually fill the store with data
from the 'acme' and 'acmedomainX' entries of the node config.

We also add an AccountSelector to the tbar and a link to the
datacenter->acme panel (when there is no account)

this also removes the 'register account' and 'view account' buttons,
since those are now available in datacenter->acme

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: node/ACME: add ACMEDomainEdit
Dominik Csapak [Wed, 6 May 2020 14:31:11 +0000 (16:31 +0200)]
ui: node/ACME: add ACMEDomainEdit

which expects a nodeconfig (for digest and domaincount)
and for the edit case, the parsed 'domain' object

this editwindow has three fields:
* type selector (standalone/dns)
* domain
* plugin (only for dns)

if the user chooses dns but there are already the maximum count of
acmedomainX entries, the type field gets invalid (with a error tooltip)

the onGetValues method is non-trivial, because of the mixing of
acmedomainX and acme.domain values, so we have to be careful
that we delete/edit the correct entry

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: Utils: add helper functions for acme domains
Dominik Csapak [Wed, 6 May 2020 14:31:10 +0000 (16:31 +0200)]
ui: Utils: add helper functions for acme domains

to convieniently add and remove domains from a parsed ACME object
they also make domains unique in the array

also add the count of configureable acmedomainX entries

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: Parser: add printACME
Dominik Csapak [Wed, 6 May 2020 14:31:09 +0000 (16:31 +0200)]
ui: Parser: add printACME

since we decode the domain list in parseACME into an array, we
have to join them again to a string when printing

otherwise printPropertyString attaches them just with ',' which
does not work here

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: add ACME selector formfields for account and plugins
Dominik Csapak [Wed, 6 May 2020 14:31:08 +0000 (16:31 +0200)]
ui: add ACME selector formfields for account and plugins

filter the plugins by type === 'dns'
and add a convenience method for ACMEAccountSelector to check if there
are any accounts

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: fix missing htmlEncodes
Dominik Csapak [Thu, 30 Apr 2020 14:04:19 +0000 (16:04 +0200)]
ui: fix missing htmlEncodes

username can include some special characters, so we have
to escape them

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: auth: clear ui capabilities on logout
Tim Marx [Wed, 6 May 2020 12:00:56 +0000 (14:00 +0200)]
ui: auth: clear ui capabilities on logout

Signed-off-by: Tim Marx <t.marx@proxmox.com>
4 years agoui: whitespace cleanup
Tim Marx [Wed, 6 May 2020 12:00:52 +0000 (14:00 +0200)]
ui: whitespace cleanup

Signed-off-by: Tim Marx <t.marx@proxmox.com>
4 years agoceph purge: adapt warning message slightly
Thomas Lamprecht [Wed, 6 May 2020 14:38:51 +0000 (16:38 +0200)]
ceph purge: adapt warning message slightly

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoFix #1210: ceph: extend pveceph purge
Alwin Antreich [Tue, 5 May 2020 15:27:27 +0000 (17:27 +0200)]
Fix #1210: ceph: extend pveceph purge

to clean service directories as well as disable and stop Ceph services.
Addtionally provide the option to remove crash and log information.

This patch is also in addtion to #2607, as the current cleanup doesn't
allow to re-configure Ceph, without manual steps during purge.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
4 years agogui: never collapse notes for templates
Stefan Reiter [Wed, 6 May 2020 10:34:59 +0000 (12:34 +0200)]
gui: never collapse notes for templates

There's no graphs on screen, so no reason to collapse the notes to save
space. Besides, it looked a bit funky expanding the notes on smaller
screens, since they always jumped to the bottom to fill the space...

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
4 years agoImprove storage selection on restore
Fabian Ebner [Wed, 6 May 2020 08:14:27 +0000 (10:14 +0200)]
Improve storage selection on restore

Previously, the blank '' would be passed along and lead to a
parameter verfication failure.

For LXC the default behavior in the backend is to use 'local', so
disallow blank and auto-select the first storage supporting'rootdir'
instead.

For QEMU the default behavior in the backend is to use the
original layout from the backup configuration file, which
makes sense to use as the default in the GUI as well.

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
4 years agovzdump: set 'pbs' option when backing up to PBS target
Fabian Grünbichler [Wed, 6 May 2020 08:57:52 +0000 (10:57 +0200)]
vzdump: set 'pbs' option when backing up to PBS target

this unifies the logic into a single place instead of all over this
module and the plugins.

it also fixes tons of 'uninitialized value' warnings when backing up
with --dumpdir but no --storage set, since the existing conditions for
PBS targets are missing a definedness check.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
4 years agoui: acme: minor nits
Thomas Lamprecht [Tue, 5 May 2020 17:43:12 +0000 (19:43 +0200)]
ui: acme: minor nits

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme view: hide data textarea if we got schema fields
Thomas Lamprecht [Tue, 5 May 2020 17:43:00 +0000 (19:43 +0200)]
ui: acme view: hide data textarea if we got schema fields

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme view: sort fields lexically by id
Thomas Lamprecht [Tue, 5 May 2020 17:42:09 +0000 (19:42 +0200)]
ui: acme view: sort fields lexically by id

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme plugin field generator: support emptyText
Thomas Lamprecht [Tue, 5 May 2020 17:27:14 +0000 (19:27 +0200)]
ui: acme plugin field generator: support emptyText

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme view: do north-center layout, add online help reference
Thomas Lamprecht [Tue, 5 May 2020 17:25:51 +0000 (19:25 +0200)]
ui: acme view: do north-center layout, add online help reference

fit's more the style used in PVE, where west-center layouts are
normally just used if there's some data relation between west and
center.

Make it more similar to panels like the HA overview, CephFS, ...

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: acme selector: make searchable
Thomas Lamprecht [Tue, 5 May 2020 17:25:03 +0000 (19:25 +0200)]
ui: acme selector: make searchable

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: ACME selectors - adapt to new API path/return schema
Thomas Lamprecht [Tue, 5 May 2020 17:24:44 +0000 (19:24 +0200)]
ui: ACME selectors - adapt to new API path/return schema

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
4 years agoui: add ACMEClusterView
Dominik Csapak [Tue, 5 May 2020 12:38:18 +0000 (14:38 +0200)]
ui: add ACMEClusterView

to show the list of accounts and defined plugins
for now we ignore 'standalone' plugins here and only show 'dns' ones

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: add ACMEPluginEdit window
Dominik Csapak [Tue, 5 May 2020 12:38:17 +0000 (14:38 +0200)]
ui: add ACMEPluginEdit window

this is a rather complex edit window, because we dynamically create form
fields according to the schema we get from the api

to do this properly we have to handle a few things:
* we have to properly set the values on edit
* we have to properly track the original values
* we have to merge and split with/from the generic 'data' field
  (so that if a plugin has some extra fields that we did not include in
  the schema the user can still enter them)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: add ACMEAPiSelector field
Dominik Csapak [Tue, 5 May 2020 12:38:16 +0000 (14:38 +0200)]
ui: add ACMEAPiSelector field

which return all api types from /cluster/acme/challengeschema
and has a convenience method for getting the schema of the current value

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoui: ACMEAccountCreate: add optional name field
Dominik Csapak [Tue, 5 May 2020 12:38:15 +0000 (14:38 +0200)]
ui: ACMEAccountCreate: add optional name field

so that we can create multiple accounts, but leave it empty and set the
emptyText to the default name 'default'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
4 years agoACME: add challengeschema api call
Dominik Csapak [Tue, 5 May 2020 12:38:14 +0000 (14:38 +0200)]
ACME: add challengeschema api call

which returns a list of challenge api types with the schema of their
required data (if it exists)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
[ Thomas: adapt to my changes from proxmox-acme schema def and change
  path from challengeschema to challenge-schema ]

4 years agoACMEPlugin: check digest on update
Dominik Csapak [Tue, 5 May 2020 12:38:13 +0000 (14:38 +0200)]
ACMEPlugin: check digest on update

and extract the param, otherwise the check dies because of an unknown
field 'digest'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>