public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH manager/widget-toolkit 0/2] fix #4588: acme: allow setting the alias of DNS domains
@ 2026-10-04 11:58 Michal Fox
  2026-10-04 11:58 ` [PATCH manager 1/2] fix #4588: ui: " Michal Fox
  2026-10-04 11:58 ` [PATCH widget-toolkit 2/2] acme: domain edit: " Michal Fox
  0 siblings, 2 replies; 3+ messages in thread
From: Michal Fox @ 2026-10-04 11:58 UTC (permalink / raw)
  To: pve-devel

The alias of domains validated with the DNS challenge could only be
set on the CLI, as the domain edit windows only kept an existing alias
in a hidden field.

1/2 shows the field in the window of Proxmox VE, 2/2 does the same for
the window from the widget toolkit, which is used by Proxmox Backup
Server and Proxmox Mail Gateway.


manager:

Michal Fox (1):
  fix #4588: ui: acme: allow setting the alias of DNS domains

 www/manager6/node/ACME.js | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)


widget-toolkit:

Michal Fox (1):
  acme: domain edit: allow setting the alias of DNS domains

 src/window/ACMEDomains.js | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

-- 
2.43.0



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH manager 1/2] fix #4588: ui: acme: allow setting the alias of DNS domains
  2026-10-04 11:58 [PATCH manager/widget-toolkit 0/2] fix #4588: acme: allow setting the alias of DNS domains Michal Fox
@ 2026-10-04 11:58 ` Michal Fox
  2026-10-04 11:58 ` [PATCH widget-toolkit 2/2] acme: domain edit: " Michal Fox
  1 sibling, 0 replies; 3+ messages in thread
From: Michal Fox @ 2026-10-04 11:58 UTC (permalink / raw)
  To: pve-devel

Domains validated with the DNS challenge can have an alias, so that the
challenge record is created on another domain, which the
'_acme-challenge' record of the domain points to with a CNAME. This is
useful if the DNS plugin should not be able to update the zone of the
domain itself.

But the alias could only be set on the CLI, as the edit window only
kept an existing one in a hidden field. Show it as a text field for
domains with the DNS challenge type, like the plugin.

Signed-off-by: Michal Fox <me@dualfroz.com>
---
Tested in the browser with the domain edit window: the field is only
shown for DNS domains, an existing alias gets loaded, a cleared alias
is removed from the property string, and none is submitted for HTTP
domains.

 www/manager6/node/ACME.js | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/www/manager6/node/ACME.js b/www/manager6/node/ACME.js
index 773d0d29..7194fd01 100644
--- a/www/manager6/node/ACME.js
+++ b/www/manager6/node/ACME.js
@@ -332,16 +332,14 @@ Ext.define('PVE.node.ACMEDomainEdit', {
                         change: function (cb, value) {
                             let me = this;
                             let view = me.up('pveACMEDomainEdit');
-                            let pluginField = view.down('field[name=plugin]');
-                            pluginField.setDisabled(value !== 'dns');
-                            pluginField.setHidden(value !== 'dns');
+                            for (const name of ['plugin', 'alias']) {
+                                let field = view.down(`field[name=${name}]`);
+                                field.setDisabled(value !== 'dns');
+                                field.setHidden(value !== 'dns');
+                            }
                         },
                     },
                 },
-                {
-                    xtype: 'hidden',
-                    name: 'alias',
-                },
                 {
                     xtype: 'pveACMEPluginSelector',
                     name: 'plugin',
@@ -357,6 +355,14 @@ Ext.define('PVE.node.ACMEDomainEdit', {
                     value: '',
                     fieldLabel: gettext('Domain'),
                 },
+                {
+                    xtype: 'proxmoxtextfield',
+                    name: 'alias',
+                    disabled: true,
+                    hidden: true,
+                    fieldLabel: gettext('Alias'),
+                    emptyText: Proxmox.Utils.noneText,
+                },
             ],
         },
     ],
-- 
2.43.0




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH widget-toolkit 2/2] acme: domain edit: allow setting the alias of DNS domains
  2026-10-04 11:58 [PATCH manager/widget-toolkit 0/2] fix #4588: acme: allow setting the alias of DNS domains Michal Fox
  2026-10-04 11:58 ` [PATCH manager 1/2] fix #4588: ui: " Michal Fox
@ 2026-10-04 11:58 ` Michal Fox
  1 sibling, 0 replies; 3+ messages in thread
From: Michal Fox @ 2026-10-04 11:58 UTC (permalink / raw)
  To: pve-devel

Domains validated with the DNS challenge can have an alias, so that the
challenge record is created on another domain, which the
'_acme-challenge' record of the domain points to with a CNAME.

But the alias could only be set on the CLI, as the edit window only
kept an existing one in a hidden field. Show it as a text field for
domains with the DNS challenge type, like the plugin.

As a side effect, an existing alias is not kept anymore when switching
a domain to the HTTP challenge type with separate domain entries, like
it is done in Proxmox Mail Gateway, where it has no meaning.

Signed-off-by: Michal Fox <me@dualfroz.com>
---
Tested in the browser the same way as the PVE window, both with the
'domains' list (PBS) and with separate domain entries and usage (PMG).

 src/window/ACMEDomains.js | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)

diff --git a/src/window/ACMEDomains.js b/src/window/ACMEDomains.js
index a2d2f83..029d427 100644
--- a/src/window/ACMEDomains.js
+++ b/src/window/ACMEDomains.js
@@ -142,16 +142,14 @@ Ext.define('Proxmox.window.ACMEDomainEdit', {
                         change: function (cb, value) {
                             let me = this;
                             let view = me.up('pmxACMEDomainEdit');
-                            let pluginField = view.down('field[name=plugin]');
-                            pluginField.setDisabled(value !== 'dns');
-                            pluginField.setHidden(value !== 'dns');
+                            for (const name of ['plugin', 'alias']) {
+                                let field = view.down(`field[name=${name}]`);
+                                field.setDisabled(value !== 'dns');
+                                field.setHidden(value !== 'dns');
+                            }
                         },
                     },
                 },
-                {
-                    xtype: 'hidden',
-                    name: 'alias',
-                },
                 {
                     xtype: 'pmxACMEPluginSelector',
                     name: 'plugin',
@@ -170,6 +168,14 @@ Ext.define('Proxmox.window.ACMEDomainEdit', {
                     value: '',
                     fieldLabel: gettext('Domain'),
                 },
+                {
+                    xtype: 'proxmoxtextfield',
+                    name: 'alias',
+                    disabled: true,
+                    hidden: true,
+                    fieldLabel: gettext('Alias'),
+                    emptyText: Proxmox.Utils.noneText,
+                },
                 {
                     xtype: 'combobox',
                     name: 'usage',
-- 
2.43.0




^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-10-04 11:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-04 11:58 [PATCH manager/widget-toolkit 0/2] fix #4588: acme: allow setting the alias of DNS domains Michal Fox
2026-10-04 11:58 ` [PATCH manager 1/2] fix #4588: ui: " Michal Fox
2026-10-04 11:58 ` [PATCH widget-toolkit 2/2] acme: domain edit: " Michal Fox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal