Allow to select the change detection mode when performing manual backups of containers with Proxmox Backup Server as target, just like for the advanced backup job options introduced by commit 3b21f19f ("www: advanced backup: add pbs change detection mode selector").
The selector is shown for virtual machine and container backup in order to maintain the same layout for both, but only enabled for container backup with a Proxmox Backup Server selected as target storage. Link to issue in bugtracker: https://bugzilla.proxmox.com/show_bug.cgi?id=5936 Signed-off-by: Christian Ebner <c.eb...@proxmox.com> --- Changes since version 1 (thanks @Shannon for feedback): - show selector for both, vm and ct to maintain layout, with the side effect of requiring less conditional checks - show a tooltip icon above the selector, in order to explain under which circumstances the mode takes effect. Note: This was placed above as otherwise the text will not be shown on hover if the selector is in disabled state. www/manager6/window/Backup.js | 36 +++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/www/manager6/window/Backup.js b/www/manager6/window/Backup.js index 4418a9c7..24f7bbae 100644 --- a/www/manager6/window/Backup.js +++ b/www/manager6/window/Backup.js @@ -53,6 +53,19 @@ Ext.define('PVE.window.Backup', { }, }); + let pbsChangeDetectionModeSelector = Ext.create({ + xtype: 'proxmoxKVComboBox', + fieldLabel: gettext('PBS change detection mode'), + name: 'pbs-change-detection-mode', + deleteEmpty: true, + value: '__default__', + comboItems: [ + ['__default__', "Default"], + ['data', "Data"], + ['metadata', "Metadata"], + ], + }); + const keepNames = [ ['keep-last', gettext('Keep Last')], ['keep-hourly', gettext('Keep Hourly')], @@ -110,10 +123,18 @@ Ext.define('PVE.window.Backup', { if (rec && rec.data && rec.data.type === 'pbs') { compressionSelector.setValue('zstd'); compressionSelector.setDisabled(true); - } else if (!compressionSelector.getEditable()) { - compressionSelector.setDisabled(false); + if (me.vmtype === 'lxc') { + pbsChangeDetectionModeSelector.setValue('__default__'); + pbsChangeDetectionModeSelector.setDisabled(false); + } + } else { + if (!compressionSelector.getEditable()) { + compressionSelector.setDisabled(false); + } + pbsChangeDetectionModeSelector.setDisabled(true); } + Proxmox.Utils.API2Request({ url: `/nodes/${me.nodename}/vzdump/defaults`, method: 'GET', @@ -193,6 +214,13 @@ Ext.define('PVE.window.Backup', { storagesel, modeSelector, protectedCheckbox, + { + xtype: 'box', + html: `<i class="fa fa-question-circle" data-qtip=" + ${gettext("Mode to detect file changes and switch archive encoding format for container backups to Proxmox Backup Server. Not available for VM backups.")} + "></i>`, + }, + pbsChangeDetectionModeSelector, ], column2: [ compressionSelector, @@ -289,6 +317,10 @@ Ext.define('PVE.window.Backup', { params.protected = values.protected; } + if (values['pbs-change-detection-mode']) { + params['pbs-change-detection-mode'] = values['pbs-change-detection-mode']; + } + if (values['notes-template']) { params['notes-template'] = PVE.Utils.escapeNotesTemplate( values['notes-template']); -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel