* [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues
@ 2025-07-22 12:48 Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 1/6] ui: add tabs for remotes and move s3 endpoint config to it Christian Ebner
` (6 more replies)
0 siblings, 7 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-22 12:48 UTC (permalink / raw)
To: pbs-devel
This patch series is a followup to the s3 object store backend for
Proxmox Backup Server patch series found at:
https://lore.proxmox.com/pbs-devel/20250722101106.526438-1-c.ebner@proxmox.com/T/
Most prominently, it moves the S3 endpoint configuration to the remotes,
splitting the remotes into tabs for the s3 configuration and the remote
Proxmox Backup Server configuration.
The other patches mostly touch naming, preferring `endpoint` over
`client` for s3 endpoint configurations.
Also, fixes a small ui issue found by Lukas during testing (thanks for
the report, still plan to refactor the whole datastore edit window as
promised once I find the time).
The last patch improves ui by allowing the user to pass the https scheme
prefix to the endpoint in the ui, stripping it for the backend config.
Christian Ebner (6):
ui: add tabs for remotes and move s3 endpoint config to it
ui: use S3 endpoint over S3 client for ui elements
cli: use `endpoint` over `client` for s3 endpoint subcommands
docs: use `endpoint` over `client` for the s3 endpoint configuration
ui: default for s3 overwrite-in-use to be disabled
ui: s3 client edit: allow for https scheme prefix in endpoint input
docs/storage.rst | 29 ++++++++-------
src/bin/proxmox_backup_manager/s3.rs | 14 +++----
www/Makefile | 1 +
www/NavigationTree.js | 8 +---
www/config/RemoteView.js | 2 +-
www/config/RemotesOverview.js | 55 ++++++++++++++++++++++++++++
www/config/S3ClientView.js | 2 +-
www/form/S3ClientSelector.js | 2 +-
www/window/DataStoreEdit.js | 6 ++-
www/window/S3ClientEdit.js | 6 ++-
10 files changed, 92 insertions(+), 33 deletions(-)
create mode 100644 www/config/RemotesOverview.js
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pbs-devel] [PATCH proxmox-backup 1/6] ui: add tabs for remotes and move s3 endpoint config to it
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
@ 2025-07-22 12:48 ` Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 2/6] ui: use S3 endpoint over S3 client for ui elements Christian Ebner
` (5 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-22 12:48 UTC (permalink / raw)
To: pbs-devel
As the s3 endpoint configuration might be considered a remote, move
it to the remotes menu item of the sidebar. To distinguish between
remote Proxmox Backup Server instances and S3 endpoints, create a
tabbed panel.
Further, rename current `Remotes` to `Remote Proxmox Backup Servers`
to distinguish between them.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
www/Makefile | 1 +
www/NavigationTree.js | 8 +----
www/config/RemoteView.js | 2 +-
www/config/RemotesOverview.js | 55 +++++++++++++++++++++++++++++++++++
4 files changed, 58 insertions(+), 8 deletions(-)
create mode 100644 www/config/RemotesOverview.js
diff --git a/www/Makefile b/www/Makefile
index 4a5cd1ff1..0c081d27f 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -60,6 +60,7 @@ JSSRC= \
config/UserView.js \
config/TokenView.js \
config/RemoteView.js \
+ config/RemotesOverview.js \
config/TrafficControlView.js \
config/ACLView.js \
config/S3ClientView.js \
diff --git a/www/NavigationTree.js b/www/NavigationTree.js
index 6944c78f9..351500e78 100644
--- a/www/NavigationTree.js
+++ b/www/NavigationTree.js
@@ -53,7 +53,7 @@ Ext.define('PBS.store.NavigationStore', {
{
text: gettext('Remotes'),
iconCls: 'fa fa-server',
- path: 'pbsRemoteView',
+ path: 'pbsRemotesOverview',
leaf: true,
},
{
@@ -80,12 +80,6 @@ Ext.define('PBS.store.NavigationStore', {
path: 'pbsSubscription',
leaf: true,
},
- {
- text: gettext('S3 Remotes'),
- iconCls: 'fa fa-cloud-upload',
- path: 'pbsS3ClientView',
- leaf: true,
- },
],
},
{
diff --git a/www/config/RemoteView.js b/www/config/RemoteView.js
index ae1e0e90c..8b6d76fad 100644
--- a/www/config/RemoteView.js
+++ b/www/config/RemoteView.js
@@ -36,7 +36,7 @@ Ext.define('PBS.config.RemoteView', {
stateful: true,
stateId: 'grid-remotes',
- title: gettext('Remotes'),
+ title: gettext('Remote Proxmox Backup Servers'),
tools: [PBS.Utils.get_help_tool('backup-remote')],
diff --git a/www/config/RemotesOverview.js b/www/config/RemotesOverview.js
new file mode 100644
index 000000000..97004f060
--- /dev/null
+++ b/www/config/RemotesOverview.js
@@ -0,0 +1,55 @@
+Ext.define('PBS.config.RemotesOverview', {
+ extend: 'Ext.tab.Panel',
+ alias: 'widget.pbsRemotesOverview',
+
+ title: gettext('Remotes'),
+
+ stateId: 'pbs-remotes-panel',
+ stateful: true,
+
+ stateEvents: ['tabchange'],
+
+ applyState: function (state) {
+ let me = this;
+ if (state.tab !== undefined && me.rendered) {
+ me.setActiveTab(state.tab);
+ } else if (state.tab) {
+ // if we are not rendered yet, defer setting the activetab
+ setTimeout(function () {
+ me.setActiveTab(state.tab);
+ }, 10);
+ }
+ },
+
+ getState: function () {
+ let me = this;
+ return {
+ tab: me.getActiveTab().getItemId(),
+ };
+ },
+
+ border: false,
+ defaults: {
+ border: false,
+ },
+
+ items: [
+ {
+ xtype: 'pbsRemoteView',
+ iconCls: 'fa fa-server',
+ },
+ {
+ xtype: 'pbsS3ClientView',
+ iconCls: 'fa fa-cloud-upload',
+ },
+ ],
+
+ initComponent: function () {
+ let me = this;
+ // remove invalid activeTab settings
+ if (me.activeTab && !me.items.some((item) => item.itemId === me.activeTab)) {
+ delete me.activeTab;
+ }
+ me.callParent();
+ },
+});
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pbs-devel] [PATCH proxmox-backup 2/6] ui: use S3 endpoint over S3 client for ui elements
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 1/6] ui: add tabs for remotes and move s3 endpoint config to it Christian Ebner
@ 2025-07-22 12:48 ` Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 3/6] cli: use `endpoint` over `client` for s3 endpoint subcommands Christian Ebner
` (4 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-22 12:48 UTC (permalink / raw)
To: pbs-devel
To distinguish the actual client from the endpoint configuration,
refer to the endpoint configuration and secrets as `S3 Endpoint`.
Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
www/config/S3ClientView.js | 2 +-
www/form/S3ClientSelector.js | 2 +-
www/window/S3ClientEdit.js | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/www/config/S3ClientView.js b/www/config/S3ClientView.js
index 9129fd948..d2e5b1efc 100644
--- a/www/config/S3ClientView.js
+++ b/www/config/S3ClientView.js
@@ -105,7 +105,7 @@ Ext.define('PBS.config.S3ClientView', {
columns: [
{
dataIndex: 'id',
- header: gettext('S3 Client ID'),
+ header: gettext('S3 Endpoint ID'),
renderer: Ext.String.htmlEncode,
sortable: true,
width: 200,
diff --git a/www/form/S3ClientSelector.js b/www/form/S3ClientSelector.js
index 243484909..44581d3df 100644
--- a/www/form/S3ClientSelector.js
+++ b/www/form/S3ClientSelector.js
@@ -16,7 +16,7 @@ Ext.define('PBS.form.S3ClientSelector', {
listConfig: {
columns: [
{
- header: gettext('S3 Client ID'),
+ header: gettext('S3 Endpoint ID'),
sortable: true,
dataIndex: 'id',
renderer: Ext.String.htmlEncode,
diff --git a/www/window/S3ClientEdit.js b/www/window/S3ClientEdit.js
index 932495e56..12d0b020d 100644
--- a/www/window/S3ClientEdit.js
+++ b/www/window/S3ClientEdit.js
@@ -32,7 +32,7 @@ Ext.define('PBS.window.S3ClientEdit', {
{
xtype: 'pmxDisplayEditField',
name: 'id',
- fieldLabel: gettext('S3 Client ID'),
+ fieldLabel: gettext('S3 Endpoint ID'),
renderer: Ext.htmlEncode,
allowBlank: false,
minLength: 4,
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pbs-devel] [PATCH proxmox-backup 3/6] cli: use `endpoint` over `client` for s3 endpoint subcommands
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 1/6] ui: add tabs for remotes and move s3 endpoint config to it Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 2/6] ui: use S3 endpoint over S3 client for ui elements Christian Ebner
@ 2025-07-22 12:48 ` Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 4/6] docs: use `endpoint` over `client` for the s3 endpoint configuration Christian Ebner
` (3 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-22 12:48 UTC (permalink / raw)
To: pbs-devel
In order to be consistent with the UI and thereby reduce possible
confusion, where the naming was changed form `client` to `endpoint`
as well.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
src/bin/proxmox_backup_manager/s3.rs | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/bin/proxmox_backup_manager/s3.rs b/src/bin/proxmox_backup_manager/s3.rs
index 82bc9413a..867bc8e6b 100644
--- a/src/bin/proxmox_backup_manager/s3.rs
+++ b/src/bin/proxmox_backup_manager/s3.rs
@@ -10,7 +10,7 @@ use serde_json::Value;
#[api(
input: {
properties: {
- "s3-client-id": {
+ "s3-endpoint-id": {
schema: S3_CLIENT_ID_SCHEMA,
},
bucket: {
@@ -25,12 +25,12 @@ use serde_json::Value;
)]
/// Perform basic sanity checks for given S3 client configuration
async fn check(
- s3_client_id: String,
+ s3_endpoint_id: String,
bucket: String,
store_prefix: String,
rpcenv: &mut dyn RpcEnvironment,
) -> Result<Value, Error> {
- api2::admin::s3::check(s3_client_id, bucket, store_prefix, rpcenv).await?;
+ api2::admin::s3::check(s3_endpoint_id, bucket, store_prefix, rpcenv).await?;
Ok(Value::Null)
}
@@ -69,7 +69,7 @@ fn list_s3_clients(param: Value, rpcenv: &mut dyn RpcEnvironment) -> Result<Valu
}
pub fn s3_commands() -> CommandLineInterface {
- let client_cmd_def = CliCommandMap::new()
+ let endpoint_cmd_def = CliCommandMap::new()
.insert("list", CliCommand::new(&API_METHOD_LIST_S3_CLIENTS))
.insert(
"create",
@@ -93,10 +93,10 @@ pub fn s3_commands() -> CommandLineInterface {
.insert(
"check",
CliCommand::new(&API_METHOD_CHECK)
- .arg_param(&["s3-client-id", "bucket"])
- .completion_cb("s3-client-id", pbs_config::s3::complete_s3_client_id),
+ .arg_param(&["s3-endpoint-id", "bucket"])
+ .completion_cb("s3-endpoint-id", pbs_config::s3::complete_s3_client_id),
)
- .insert("client", client_cmd_def);
+ .insert("endpoint", endpoint_cmd_def);
cmd_def.into()
}
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pbs-devel] [PATCH proxmox-backup 4/6] docs: use `endpoint` over `client` for the s3 endpoint configuration
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
` (2 preceding siblings ...)
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 3/6] cli: use `endpoint` over `client` for s3 endpoint subcommands Christian Ebner
@ 2025-07-22 12:48 ` Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 5/6] ui: default for s3 overwrite-in-use to be disabled Christian Ebner
` (2 subsequent siblings)
6 siblings, 0 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-22 12:48 UTC (permalink / raw)
To: pbs-devel
The WebUI and CLI have been adapted to use s3 endpoint rather than S3
client, so update the documentation to be consistent.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
docs/storage.rst | 29 +++++++++++++++--------------
1 file changed, 15 insertions(+), 14 deletions(-)
diff --git a/docs/storage.rst b/docs/storage.rst
index b1f1a5732..eae72a487 100644
--- a/docs/storage.rst
+++ b/docs/storage.rst
@@ -237,17 +237,18 @@ Datastores with S3 Backend (experimental)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Proxmox Backup Server supports S3 compatible object stores as storage backend for datastores. For
-this, an S3 client needs to be set-up under "Configuration" > "S3 Clients".
+this, an S3 endpoint needs to be set-up under "Configuration" > "Remotes" > "S3 Endpoints".
-In the client configuration, provide the REST API endpoint for the object store. The endpoint
+In the endpoint configuration, provide the REST API endpoint for the object store. The endpoint
is provider dependent and allows for the bucket and region templating. For example, configuring
the endpoint as e.g. ``{{bucket}}.s3.{{region}}.amazonaws.com`` will be expanded to
``my-pbs-bucket.s3.eu-central-1.amazonaws.com`` with a configured bucket of name ``my-pbs-bucket``
located in region ``eu-central-1``.
-The bucket name is part of the datastore backend configuration rather than the client configuration,
-as the same client might be reused for multiple bucket. Objects placed in the bucket are prefixed by
-the datastore name, therefore it is possible to create multiple datastores using the same bucket.
+The bucket name is part of the datastore backend configuration rather than the endpoint
+configuration, as the same endpoint might be reused for multiple bucket. Objects placed in the
+bucket are prefixed by the datastore name, therefore it is possible to create multiple datastores
+using the same bucket.
.. note:: Proxmox Backup Server does not handle bucket creation and access control. The bucket used
to store the datastore's objects as well as the access key have to be setup beforehand in your S3
@@ -262,22 +263,22 @@ flag.
Proxmox Backup Server does not support plain text communication with the S3 API, all communication
is encrypted using HTTPS in transit. Therefore, for self-hosted S3 object stores using a self-signed
-certificate, the matching fingerprint has to be provided to the client configuration. Otherwise the
-client refuses connections to the S3 object store.
+certificate, the matching fingerprint has to be provided to the endpoint configuration. Otherwise
+the client refuses connections to the S3 object store.
-The following example shows the setup of a new s3 client configuration:
+The following example shows the setup of a new s3 endpoint configuration:
.. code-block:: console
- # proxmox-backup-manager s3 client create my-s3-client --access-key 'my-access-key' --secret-key 'my-secret-key' --endpoint '{{bucket}}.s3.{{region}}.amazonaws.com' --region eu-central-1
+ # proxmox-backup-manager s3 endpoint create my-s3-ep --access-key 'my-access-key' --secret-key 'my-secret-key' --endpoint '{{bucket}}.s3.{{region}}.amazonaws.com' --region eu-central-1
-To list your s3 client configuration, run:
+To list your s3 endpoint configuration, run:
.. code-block:: console
- # proxmox-backup-manager s3 client list
+ # proxmox-backup-manager s3 endpoint list
-A new datastore with S3 backend can be created using one of the configures S3 clients. Although
+A new datastore with S3 backend can be created using one of the configured S3 endpoints. Although
storing all contents on the S3 object store, the datastore requires nevertheless a local cache store,
used to increase performance and reduce the number of requests to the backend. For this, a local
filesystem path has to be provided during datastore creation, just like for regular datastore setup.
@@ -288,7 +289,7 @@ To setup a new datastore called ``my-s3-store`` placed in a bucket called ``pbs-
.. code-block:: console
- # proxmox-backup-manager datastore create my-s3-store /mnt/datastore/my-s3-store-cache --backend type=s3,client=my-s3-client,bucket=pbs-s3-bucket
+ # proxmox-backup-manager datastore create my-s3-store /mnt/datastore/my-s3-store-cache --backend type=s3,client=my-s3-ep,bucket=pbs-s3-bucket
A datastore cannot be shared between multiple Proxmox Backup Server instances, only one instance can
operate on the datastore at a time. However, datastore contents used on an instance which is no
@@ -298,7 +299,7 @@ same datastore name must be used.
.. code-block:: console
- # proxmox-backup-manager datastore create my-s3-store /mnt/datastore/my-new-s3-store-cache --backend type=s3,client=my-s3-client,bucket=pbs-s3-bucket --reuse-datastore true --overwrite-in-use true
+ # proxmox-backup-manager datastore create my-s3-store /mnt/datastore/my-new-s3-store-cache --backend type=s3,client=my-s3-ep,bucket=pbs-s3-bucket --reuse-datastore true --overwrite-in-use true
.. note:: If your S3 object store runs out of space while performing write operation to it, most
likely cleanup operations such as cleaning up of contents within a snapshot directory will fail
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pbs-devel] [PATCH proxmox-backup 5/6] ui: default for s3 overwrite-in-use to be disabled
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
` (3 preceding siblings ...)
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 4/6] docs: use `endpoint` over `client` for the s3 endpoint configuration Christian Ebner
@ 2025-07-22 12:48 ` Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 6/6] ui: s3 client edit: allow for https scheme prefix in endpoint input Christian Ebner
2025-07-22 20:25 ` [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Thomas Lamprecht
6 siblings, 0 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-22 12:48 UTC (permalink / raw)
To: pbs-devel
The flag only makes sense in combination with the reuse-existing
datastore flag, which is unchecked by default. Therefore, opt for the
overwrite-in-use flag to be disabled if unchecked and hidden if not
an s3 datastore.
Reported-by: Lukas Wagner <l.wagner@proxmox.com>
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
www/window/DataStoreEdit.js | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/www/window/DataStoreEdit.js b/www/window/DataStoreEdit.js
index 24ef3563e..9552cb05e 100644
--- a/www/window/DataStoreEdit.js
+++ b/www/window/DataStoreEdit.js
@@ -78,6 +78,8 @@ Ext.define('PBS.DataStoreEdit', {
let s3ClientSelector = inputPanel.down('[name=s3client]');
let overwriteInUseField =
inputPanel.down('[name=overwrite-in-use]');
+ let reuseDatastore =
+ inputPanel.down('[name=reuse-datastore]').getValue();
uuidEditField.setDisabled(!isRemovable);
uuidEditField.allowBlank = !isRemovable;
@@ -92,7 +94,7 @@ Ext.define('PBS.DataStoreEdit', {
s3ClientSelector.setValue('');
overwriteInUseField.setHidden(!isS3);
- overwriteInUseField.setDisabled(!isS3);
+ overwriteInUseField.setDisabled(!reuseDatastore);
overwriteInUseField.setValue(false);
if (isRemovable) {
@@ -198,6 +200,8 @@ Ext.define('PBS.DataStoreEdit', {
xtype: 'checkbox',
name: 'overwrite-in-use',
fieldLabel: gettext('Overwrite in-use marker'),
+ hidden: true,
+ disabled: true,
},
],
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pbs-devel] [PATCH proxmox-backup 6/6] ui: s3 client edit: allow for https scheme prefix in endpoint input
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
` (4 preceding siblings ...)
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 5/6] ui: default for s3 overwrite-in-use to be disabled Christian Ebner
@ 2025-07-22 12:48 ` Christian Ebner
2025-07-22 20:25 ` [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Thomas Lamprecht
6 siblings, 0 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-22 12:48 UTC (permalink / raw)
To: pbs-devel
Since S3 object store providers might show the endpoint via the https
scheme prefix, allow this as valid user input for the ui, but strip
it when sending the value.
This is to reduce friction for the user when copy/pasting the value.
Suggested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
---
www/window/S3ClientEdit.js | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/www/window/S3ClientEdit.js b/www/window/S3ClientEdit.js
index 12d0b020d..6ebc8bfa8 100644
--- a/www/window/S3ClientEdit.js
+++ b/www/window/S3ClientEdit.js
@@ -130,6 +130,10 @@ Ext.define('PBS.window.S3ClientEdit', {
}
PBS.Utils.delete_if_default(values, 'path-style', false, me.isCreate);
+ let https_scheme_prefix = 'https://';
+ if (values.endpoint.startsWith(https_scheme_prefix)) {
+ values.endpoint = values.endpoint.slice(https_scheme_prefix.length);
+ }
if (values['access-key'] === '') {
delete values['access-key'];
}
--
2.47.2
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
` (5 preceding siblings ...)
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 6/6] ui: s3 client edit: allow for https scheme prefix in endpoint input Christian Ebner
@ 2025-07-22 20:25 ` Thomas Lamprecht
2025-07-23 6:33 ` Christian Ebner
6 siblings, 1 reply; 13+ messages in thread
From: Thomas Lamprecht @ 2025-07-22 20:25 UTC (permalink / raw)
To: Proxmox Backup Server development discussion, Christian Ebner
Am 22.07.25 um 14:49 schrieb Christian Ebner:
> This patch series is a followup to the s3 object store backend for
> Proxmox Backup Server patch series found at:
> https://lore.proxmox.com/pbs-devel/20250722101106.526438-1-c.ebner@proxmox.com/T/
>
> Most prominently, it moves the S3 endpoint configuration to the remotes,
> splitting the remotes into tabs for the s3 configuration and the remote
> Proxmox Backup Server configuration.
>
> The other patches mostly touch naming, preferring `endpoint` over
> `client` for s3 endpoint configurations.
>
> Also, fixes a small ui issue found by Lukas during testing (thanks for
> the report, still plan to refactor the whole datastore edit window as
> promised once I find the time).
>
> The last patch improves ui by allowing the user to pass the https scheme
> prefix to the endpoint in the ui, stripping it for the backend config.
>
> Christian Ebner (6):
> ui: add tabs for remotes and move s3 endpoint config to it
> ui: use S3 endpoint over S3 client for ui elements
> cli: use `endpoint` over `client` for s3 endpoint subcommands
> docs: use `endpoint` over `client` for the s3 endpoint configuration
> ui: default for s3 overwrite-in-use to be disabled
> ui: s3 client edit: allow for https scheme prefix in endpoint input
>
> docs/storage.rst | 29 ++++++++-------
> src/bin/proxmox_backup_manager/s3.rs | 14 +++----
> www/Makefile | 1 +
> www/NavigationTree.js | 8 +---
> www/config/RemoteView.js | 2 +-
> www/config/RemotesOverview.js | 55 ++++++++++++++++++++++++++++
> www/config/S3ClientView.js | 2 +-
> www/form/S3ClientSelector.js | 2 +-
> www/window/DataStoreEdit.js | 6 ++-
> www/window/S3ClientEdit.js | 6 ++-
> 10 files changed, 92 insertions(+), 33 deletions(-)
> create mode 100644 www/config/RemotesOverview.js
>
applied, thanks!
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues
2025-07-22 20:25 ` [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Thomas Lamprecht
@ 2025-07-23 6:33 ` Christian Ebner
2025-07-23 7:27 ` Thomas Lamprecht
0 siblings, 1 reply; 13+ messages in thread
From: Christian Ebner @ 2025-07-23 6:33 UTC (permalink / raw)
To: Thomas Lamprecht, Proxmox Backup Server development discussion
On 7/22/25 10:25 PM, Thomas Lamprecht wrote:
> Am 22.07.25 um 14:49 schrieb Christian Ebner:
>> This patch series is a followup to the s3 object store backend for
>> Proxmox Backup Server patch series found at:
>> https://lore.proxmox.com/pbs-devel/20250722101106.526438-1-c.ebner@proxmox.com/T/
>>
>> Most prominently, it moves the S3 endpoint configuration to the remotes,
>> splitting the remotes into tabs for the s3 configuration and the remote
>> Proxmox Backup Server configuration.
>>
>> The other patches mostly touch naming, preferring `endpoint` over
>> `client` for s3 endpoint configurations.
>>
>> Also, fixes a small ui issue found by Lukas during testing (thanks for
>> the report, still plan to refactor the whole datastore edit window as
>> promised once I find the time).
>>
>> The last patch improves ui by allowing the user to pass the https scheme
>> prefix to the endpoint in the ui, stripping it for the backend config.
>>
>> Christian Ebner (6):
>> ui: add tabs for remotes and move s3 endpoint config to it
>> ui: use S3 endpoint over S3 client for ui elements
>> cli: use `endpoint` over `client` for s3 endpoint subcommands
>> docs: use `endpoint` over `client` for the s3 endpoint configuration
>> ui: default for s3 overwrite-in-use to be disabled
>> ui: s3 client edit: allow for https scheme prefix in endpoint input
>>
>> docs/storage.rst | 29 ++++++++-------
>> src/bin/proxmox_backup_manager/s3.rs | 14 +++----
>> www/Makefile | 1 +
>> www/NavigationTree.js | 8 +---
>> www/config/RemoteView.js | 2 +-
>> www/config/RemotesOverview.js | 55 ++++++++++++++++++++++++++++
>> www/config/S3ClientView.js | 2 +-
>> www/form/S3ClientSelector.js | 2 +-
>> www/window/DataStoreEdit.js | 6 ++-
>> www/window/S3ClientEdit.js | 6 ++-
>> 10 files changed, 92 insertions(+), 33 deletions(-)
>> create mode 100644 www/config/RemotesOverview.js
>>
>
>
> applied, thanks!
I see the first patch (tabs for remotes) was not applied, the Remotes
and S3 Endpoints still separate in the side menu.
Was this intentional?
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues
2025-07-23 6:33 ` Christian Ebner
@ 2025-07-23 7:27 ` Thomas Lamprecht
2025-07-23 7:37 ` Christian Ebner
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Lamprecht @ 2025-07-23 7:27 UTC (permalink / raw)
To: Christian Ebner, Proxmox Backup Server development discussion
Am 23.07.25 um 08:33 schrieb Christian Ebner:
> I see the first patch (tabs for remotes) was not applied, the Remotes and S3 Endpoints still separate in the side menu.
>
> Was this intentional?
Yes, as indicated in a later commit, albeit naturally a bit subtle
in general:
https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3bbc9dedb9ed32e7c1af3bbcc4a6b1d02d852fc5
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues
2025-07-23 7:27 ` Thomas Lamprecht
@ 2025-07-23 7:37 ` Christian Ebner
2025-07-23 7:55 ` Thomas Lamprecht
0 siblings, 1 reply; 13+ messages in thread
From: Christian Ebner @ 2025-07-23 7:37 UTC (permalink / raw)
To: Thomas Lamprecht, Proxmox Backup Server development discussion
On 7/23/25 9:27 AM, Thomas Lamprecht wrote:
> Am 23.07.25 um 08:33 schrieb Christian Ebner:
>> I see the first patch (tabs for remotes) was not applied, the Remotes and S3 Endpoints still separate in the side menu.
>>
>> Was this intentional?
>
> Yes, as indicated in a later commit, albeit naturally a bit subtle
> in general:
>
> https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3bbc9dedb9ed32e7c1af3bbcc4a6b1d02d852fc5
Right, thanks for clarification!
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues
2025-07-23 7:37 ` Christian Ebner
@ 2025-07-23 7:55 ` Thomas Lamprecht
2025-07-23 10:04 ` Christian Ebner
0 siblings, 1 reply; 13+ messages in thread
From: Thomas Lamprecht @ 2025-07-23 7:55 UTC (permalink / raw)
To: Christian Ebner, Proxmox Backup Server development discussion
Am 23.07.25 um 09:37 schrieb Christian Ebner:
> On 7/23/25 9:27 AM, Thomas Lamprecht wrote:
>> Am 23.07.25 um 08:33 schrieb Christian Ebner:
>>> I see the first patch (tabs for remotes) was not applied, the Remotes and S3 Endpoints still separate in the side menu.
>>>
>>> Was this intentional?
>>
>> Yes, as indicated in a later commit, albeit naturally a bit subtle
>> in general:
>>
>> https://git.proxmox.com/?p=proxmox-backup.git;a=commit;h=3bbc9dedb9ed32e7c1af3bbcc4a6b1d02d852fc5
>
> Right, thanks for clarification!
Yeah, would have been better to reply on the patch directly, but it was late
and I figured you are not against doing this, being closer to your original
UI again after all.
background: While I still don't think that having in in remotes would be
wrong, PBS really is not as crowded as PVE, and I could well imagine that
for a significant user group S3 might become a prime feature, so having
it's dedicated tab is OK.
btw. nothing for the next weeks, but in the mid-term it might be nice to
get a simple dashboard or status here. We could add counters for sent and
received traffic from the endpoint grouped per bucket (or datastore),
information that would be naturally also interesting in the per-datastore
overview, but as said, nothing to worry much about for now, just mentioning
it as further argument for having S3 in its own top-level tab.
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues
2025-07-23 7:55 ` Thomas Lamprecht
@ 2025-07-23 10:04 ` Christian Ebner
0 siblings, 0 replies; 13+ messages in thread
From: Christian Ebner @ 2025-07-23 10:04 UTC (permalink / raw)
To: Thomas Lamprecht, Proxmox Backup Server development discussion
On 7/23/25 9:54 AM, Thomas Lamprecht wrote:
> btw. nothing for the next weeks, but in the mid-term it might be nice to
> get a simple dashboard or status here. We could add counters for sent and
> received traffic from the endpoint grouped per bucket (or datastore),
> information that would be naturally also interesting in the per-datastore
> overview, but as said, nothing to worry much about for now, just mentioning
> it as further argument for having S3 in its own top-level tab.
Agreed! Opened an issue [0] using your suggestion so this is properly
tracked.
[0] https://bugzilla.proxmox.com/show_bug.cgi?id=6563
_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2025-07-23 10:03 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-22 12:48 [pbs-devel] [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 1/6] ui: add tabs for remotes and move s3 endpoint config to it Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 2/6] ui: use S3 endpoint over S3 client for ui elements Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 3/6] cli: use `endpoint` over `client` for s3 endpoint subcommands Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 4/6] docs: use `endpoint` over `client` for the s3 endpoint configuration Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 5/6] ui: default for s3 overwrite-in-use to be disabled Christian Ebner
2025-07-22 12:48 ` [pbs-devel] [PATCH proxmox-backup 6/6] ui: s3 client edit: allow for https scheme prefix in endpoint input Christian Ebner
2025-07-22 20:25 ` [pbs-devel] applied: [PATCH proxmox-backup 0/6] fix various s3 related ui/cli/doc issues Thomas Lamprecht
2025-07-23 6:33 ` Christian Ebner
2025-07-23 7:27 ` Thomas Lamprecht
2025-07-23 7:37 ` Christian Ebner
2025-07-23 7:55 ` Thomas Lamprecht
2025-07-23 10:04 ` Christian Ebner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox