Unsupported header 'x-amz-checksum-algorithm' breaks PITR backup

I’m using the Percona Operator for MySQL based on Percona XtraDB Cluster with the PITR section pointing to Backblaze like:

      s3-pitr:
        resources:
          limits:
            cpu: 1000m
            memory: 512Mi
          requests:
            cpu: 250m
            memory: 512Mi
        s3:
          bucket: >-
            xxx-pitr
          credentialsSecret: xxx
          endpointUrl: 'https://s3.us-east-005.backblazeb2.com/'
        type: s3

The PITR pod fails with the following message:

2023/08/28 20:24:44 ERROR: collect binlog files: manage binlog: put binlog.000004 object: put object xxx-pitr/binlog_1691525498_879ab1b29805330cb85ecaaea58d4d31: Unsupported header 'x-amz-checksum-algorithm' received for this API call.

I’ve also got the same error when trying to use Cloudflare R2 for PITR. The scheduled backups are working normally.

Hello @gmautner ,

unfortunatelly Blackblaze officially states that they don’t support some of the S3 protocol features: S3-Compatible API (see below for Unsupported Features).
This includes

Requests that include the x-amz-sdk-checksum-algorithm HTTP header (These requests are rejected with HTTP status 400.)

We at Percona rely on standard S3 libraries and try utilize the most of it for various use cases. The recommendation here would be to use some other S3 vendor as disabling checksum does not seem to be a viable investment of time and effort.
There is also an option in sending a Pull Request with an option to disable this checksum somehow for operator only.
Please let me know if you want help with working on a PR.