Commit Graph

4902 Commits

Author SHA1 Message Date
Thomas Lamprecht
ec4bf5c4ec ui: auth base: add onlineHelp
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:35:45 +02:00
Thomas Lamprecht
5aa99b6d65 d/control: versioned build-dependency for pve-doc-generator
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:25:27 +02:00
Dominik Csapak
47ea76b2ec 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>
2020-05-06 20:24:34 +02:00
Thomas Lamprecht
1c783f74de ui: switch backup default compression selection to ZSTD
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:16:39 +02:00
Thomas Lamprecht
eff602d867 add some onlineHelp
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:12:23 +02:00
Thomas Lamprecht
f597b16f69 ui: fix spelling in file name
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:08:02 +02:00
Thomas Lamprecht
31c9edc85e ui: acme: allow to register+set an account directly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:04:13 +02:00
Thomas Lamprecht
8b779b4a27 ui: acme add domain: prefill with nodename.
FQDN would be more ideal, though

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:03:45 +02:00
Thomas Lamprecht
a94b71fba8 ui: acme add domain: move Domain field below, hide plugin in http mode
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 20:03:19 +02:00
Thomas Lamprecht
9c164224e5 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>
2020-05-06 20:01:42 +02:00
Thomas Lamprecht
85b275b1c9 node config: fix invalid domain error message
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 19:53:07 +02:00
Thomas Lamprecht
1b90cfc6ab 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>
2020-05-06 19:13:56 +02:00
Thomas Lamprecht
3c6b4c80ce acme: various small UX improvements
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 19:13:38 +02:00
Thomas Lamprecht
a8b6a80af8 ui: acme: actually show Account button if none is registered
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 19:13:09 +02:00
Thomas Lamprecht
6ac64c3aed 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>
2020-05-06 19:11:13 +02:00
Dominik Csapak
fd2542336b 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>
2020-05-06 17:49:35 +02:00
Dominik Csapak
8e49a93fff 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>
2020-05-06 17:49:35 +02:00
Dominik Csapak
eadbbb4ae0 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>
2020-05-06 17:49:35 +02:00
Dominik Csapak
899c4f4538 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>
2020-05-06 17:49:35 +02:00
Dominik Csapak
c00c4207ea 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>
2020-05-06 17:49:35 +02:00
Dominik Csapak
1011b56983 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>
2020-05-06 16:59:50 +02:00
Tim Marx
9fd1198e76 ui: auth: clear ui capabilities on logout
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2020-05-06 16:40:55 +02:00
Tim Marx
7c8051b436 ui: whitespace cleanup
Signed-off-by: Tim Marx <t.marx@proxmox.com>
2020-05-06 16:40:52 +02:00
Thomas Lamprecht
c3a3f3ab2a ceph purge: adapt warning message slightly
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-06 16:38:51 +02:00
Alwin Antreich
91dfa228d3 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>
2020-05-06 16:24:46 +02:00
Stefan Reiter
6751013a1b 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>
2020-05-06 16:24:37 +02:00
Fabian Ebner
6fe863ba7e 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>
2020-05-06 16:23:40 +02:00
Fabian Grünbichler
7ddcb3afda 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>
2020-05-06 16:21:41 +02:00
Thomas Lamprecht
7daaa52c0e ui: acme: minor nits
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:43:12 +02:00
Thomas Lamprecht
b9cab976b0 ui: acme view: hide data textarea if we got schema fields
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:43:00 +02:00
Thomas Lamprecht
9994a6f919 ui: acme view: sort fields lexically by id
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:42:09 +02:00
Thomas Lamprecht
2fb0b2fe3e ui: acme plugin field generator: support emptyText
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:27:14 +02:00
Thomas Lamprecht
9e3e431034 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>
2020-05-05 19:25:53 +02:00
Thomas Lamprecht
24a182b775 ui: acme selector: make searchable
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:25:03 +02:00
Thomas Lamprecht
56e7fc7b9d ui: ACME selectors - adapt to new API path/return schema
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 19:24:44 +02:00
Dominik Csapak
f9c0feeb7e 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>
2020-05-05 19:23:04 +02:00
Dominik Csapak
457088917b 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>
2020-05-05 19:23:04 +02:00
Dominik Csapak
f81ef75756 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>
2020-05-05 19:23:04 +02:00
Dominik Csapak
c0afd5cc0a 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>
2020-05-05 19:23:04 +02:00
Dominik Csapak
75a2be66bb 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 ]
2020-05-05 19:23:04 +02:00
Dominik Csapak
463ea0b1d8 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>
2020-05-05 18:34:46 +02:00
Thomas Lamprecht
41aa53eaa0 ui: cluster edit/create: style nits, avoid extra label
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 18:23:01 +02:00
Thomas Lamprecht
4ea2cac2ae ui: corosync addLink: more flexible params and pass emptyText
Use that instead of the label, as it's using less space

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 18:21:47 +02:00
Thomas Lamprecht
61b05a5d82 ui: corosync link edit: styleistic nits
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-05-05 18:20:57 +02:00
Stefan Reiter
b1e7a7d3b7 gui/cluster: add structured peerLinks to join info
Instead of the old 'ring_addr' property (which is kept for
compatibility), we also encode the link numbers into the new peerLinks
structure. This allows us to display which IP is assigned to which link
on the cluster in the join dialog, helping a user identify which link
should receive which interface on the new node.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-05-04 18:44:15 +02:00
Stefan Reiter
5957f47f72 gui/cluster: add CorosyncLinkEdit component to support up to 8 links
CorosyncLinkEdit is a Panel that contains between one and 8
CorosyncLinkSelectors. These can be added or removed with according
buttons.

Values submitted to the API are calculated by each
ProxmoxNetworkSelector itself. This works because ExtJS searches
recursively through all child components for ones with a value to be
submitted, i.e. the CorosyncLinkEdit and CorosyncLinkSelector components
are not part of data submission at all.

Change ClusterEdit.js to use the new component for cluster join and
create. To make space in layout, move 'password' field to the side
(where the network-selector previously was) and use 'hbox' panel for
horizontal layouting to avoid spacing issues with languages where the
fieldLabel doesn't fit on one line.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-05-04 18:44:15 +02:00
Fabian Grünbichler
f2aec8f601 bump version to 6.1-11
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-04 14:11:43 +02:00
Fabian Grünbichler
e305c2a106 d/control: bump build-deps on pve-storage and pve-guest-common
they contain the new zstd options and the refactored RE for compressed
archives.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-04 14:10:07 +02:00
Fabian Grünbichler
7420d7ff95 zstd: add --rsyncable flag
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2020-05-04 12:19:31 +02:00
Alwin Antreich
3e2c5105f8 Fix #2124: Add support for zstd
This patch adds the zstd to the compression selection for backup on the
GUI and add .zst to the backup file filter. Including zstd as package
install dependency.

Signed-off-by: Alwin Antreich <a.antreich@proxmox.com>
2020-05-04 10:41:59 +02:00