public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox{, -backup} v4 00/10] s3: implement list buckets and use bucket selector for datastore creation
@ 2025-07-31 12:58 Christian Ebner
  2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox v4 1/4] s3 client: restrict bucket template pattern to start of endpoint url Christian Ebner
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Christian Ebner @ 2025-07-31 12:58 UTC (permalink / raw)
  To: pbs-devel

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 3 (thanks @Lukas for additional review and testing):
- Added additional doc comments
- Refactor response status code check and list buckets response generation

Changes since version 2:
- Rebased onto current master

Changes since version 1 (thanks @Lukas for review and testing:
- Fixed issues when listing 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          | 43 +++++++++++++----
 proxmox-s3-client/src/response_reader.rs | 61 ++++++++++++++++++++++++
 4 files changed, 112 insertions(+), 11 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       |  4 +--
 src/api2/admin/s3.rs                 |  6 ++--
 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 +++++++++++----
 8 files changed, 154 insertions(+), 17 deletions(-)
 create mode 100644 www/form/S3BucketSelector.js


Summary over all repositories:
  12 files changed, 266 insertions(+), 28 deletions(-)

-- 
Generated by git-murpp 0.8.1


_______________________________________________
pbs-devel mailing list
pbs-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pbs-devel


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

end of thread, other threads:[~2025-07-31 12:58 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-31 12:58 [pbs-devel] [PATCH proxmox{, -backup} v4 00/10] s3: implement list buckets and use bucket selector for datastore creation Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox v4 1/4] s3 client: restrict bucket template pattern to start of endpoint url Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox v4 2/4] s3 client: make bucket name optional in S3 client options Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox v4 3/4] s3 client: implement list buckets method Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox v4 4/4] s3 client: api types: add bucket list item type Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox-backup v4 1/6] ui: fix formatting issues using proxmox-biome Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox-backup v4 2/6] datastore: wrap bucket name, as in is now optional in the s3 client Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox-backup v4 3/6] api: admin s3: make store prefix for check command optional Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox-backup v4 4/6] api: config s3: add bucket list api endpoint Christian Ebner
2025-07-31 12:58 ` [pbs-devel] [PATCH proxmox-backup v4 5/6] bin: expose list buckets as proxmox-backup-manager s3 subcommand Christian Ebner
2025-07-31 12:59 ` [pbs-devel] [PATCH proxmox-backup v4 6/6] ui: replace bucket field by bucket selector Christian Ebner

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