[pbs-devel] [PATCH proxmox{, -backup} 00/10] s3: implement list buckets and use bucket selector for datastore creation

Christian Ebner c.ebner at proxmox.com
Mon Jul 28 08:46:35 CEST 2025


This patches aim to increase usability for the user by allowing to list
accessible buckets during datastore creation.

For this, the proxmox s3 client is extended by the list buckets method, fetching
accessible buckets from the s3 api. This requires the client instantiation to be
possible without the bucket name, making it therefore optional. Further, the
regex for the config endpoint url must be restricted to have the bucket name
template pattern always at the start of the template. With these changes, it is
then possible to fetch the buckets given the required permissions to do so.

On the proxmox backup server side, the api endpoints to fetch the bucket list
are implemented as well as the corresponding cli command. Finally, the bucket
name field in the datastore edit window is replaced by an s3 bucket selector,
which loads the accessible bucket names via the api.

proxmox:

Christian Ebner (4):
  s3 client: restrict bucket template pattern to start of endpoint url
  s3 client: make bucket name optional in S3 client options
  s3 client: implement list buckets method
  s3 client: api types: add bucket list item type

 proxmox-s3-client/examples/s3_client.rs  |  2 +-
 proxmox-s3-client/src/api_types.rs       | 17 ++++++-
 proxmox-s3-client/src/client.rs          | 39 +++++++++++++---
 proxmox-s3-client/src/response_reader.rs | 58 ++++++++++++++++++++++++
 4 files changed, 108 insertions(+), 8 deletions(-)


proxmox-backup:

Christian Ebner (6):
  ui: fix formatting issues using proxmox-biome
  datastore: wrap bucket name, as in is now optional in the s3 client
  api: admin s3: make store prefix for check command optional
  api: config s3: add bucket list api endpoint
  bin: expose list buckets as proxmox-backup-manager s3 subcommand
  ui: replace bucket field by bucket selector

 pbs-datastore/src/datastore.rs       |  2 +-
 src/api2/admin/s3.rs                 |  6 ++--
 src/api2/config/datastore.rs         |  4 +--
 src/api2/config/s3.rs                | 48 +++++++++++++++++++++++--
 src/bin/proxmox_backup_manager/s3.rs | 28 +++++++++++++--
 www/Makefile                         |  1 +
 www/Utils.js                         |  5 ++-
 www/form/S3BucketSelector.js         | 52 ++++++++++++++++++++++++++++
 www/window/DataStoreEdit.js          | 27 +++++++++++----
 9 files changed, 155 insertions(+), 18 deletions(-)
 create mode 100644 www/form/S3BucketSelector.js


Summary over all repositories:
  13 files changed, 263 insertions(+), 26 deletions(-)

-- 
Generated by git-murpp 0.8.1




More information about the pbs-devel mailing list