[pbs-devel] [PATCH proxmox{, -backup} v2 00/10] s3: implement list buckets and use bucket selector for datastore creation
Christian Ebner
c.ebner at proxmox.com
Wed Jul 30 16:39:58 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.
Changes since version 1 (thanks @Lukas for catching the issue):
- Fixed issue for listing of multiple buckets
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 | 56 ++++++++++++++++++++++++
4 files changed, 106 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, 261 insertions(+), 26 deletions(-)
--
Generated by git-murpp 0.8.1
More information about the pbs-devel
mailing list