[pbs-devel] [PATCH proxmox{, -backup} v4 0/3] s3: extend endpoint config and client options by provider-quirks

Christian Ebner c.ebner at proxmox.com
Tue Aug 5 12:51:17 CEST 2025


These patches extend the s3 client configuration by an additional array
of `provider-quirks`, allowing to switch to provider specific implementation
details. The provider specific quirks are passed to the s3 client via it's
options on instantiation.

As first use-case, the `If-None-Match` header is not set during put object
requests to Backblaze B2 or Infomaniak object stores, as these fail with an
error with status code 501, therefore chunk uploads will fail.

The patches expose the provider quirks also in an dropdown list in the advanced
column of the s3 endpoint edit window.

Changes since v3:
- Use and expose quirks directly instead of mapping by provider list

Changes since v2:
- Rebased onto current master

Changes since v1:
- add Infomaniak as further provider not supporting the If-None-Match header
- introduce dedicate enum api type for both provider quirks and s3 client features
- add logic to map from provider to feature list
- skip If-None-Match header based on feature list, not provider

proxmox:

Christian Ebner (1):
  s3 client: extend client config and options by optional provider
    quirks

 proxmox-s3-client/examples/s3_client.rs |  1 +
 proxmox-s3-client/src/api_types.rs      | 21 +++++++++++++++++++++
 proxmox-s3-client/src/client.rs         | 15 +++++++++++++--
 3 files changed, 35 insertions(+), 2 deletions(-)


proxmox-backup:

Christian Ebner (2):
  api: s3 config: allow to update or delete endpoint quirks
  ui: s3 endpoint: add provider specific quirk selector

 src/api2/config/s3.rs      |  8 ++++++++
 www/window/S3ClientEdit.js | 17 +++++++++++++++++
 2 files changed, 25 insertions(+)


Summary over all repositories:
  5 files changed, 60 insertions(+), 2 deletions(-)

-- 
Generated by git-murpp 0.8.1




More information about the pbs-devel mailing list