docs: workaround for S3 checksum validation errors with recent boto3 versions (#398)

Fixes #393

Signed-off-by: Daniel Chambre <smiyc@pm.me>
Signed-off-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Signed-off-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
Co-authored-by: Marco Nenciarini <marco.nenciarini@enterprisedb.com>
Co-authored-by: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>
This commit is contained in:
smiyc 2025-06-20 15:37:23 +02:00 committed by GitHub
parent 4d323c2d3d
commit a225902a36
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 31 additions and 0 deletions

View File

@ -49,6 +49,7 @@ Uncomment
WAL WAL
WALBackupConfiguration WALBackupConfiguration
WALs WALs
amz
api api
apiVersion apiVersion
apiextensions apiextensions
@ -59,6 +60,7 @@ backend
backends backends
barmanObjectName barmanObjectName
barmancloud barmancloud
boto
bzip bzip
cd cd
cloudnative cloudnative
@ -113,6 +115,7 @@ secretKeyRef
selfsigned selfsigned
serverName serverName
serviceaccount serviceaccount
sha
sig sig
storageClass storageClass
subcommand subcommand

View File

@ -141,6 +141,34 @@ spec:
[...] [...]
``` ```
Recent changes to the [boto3 implementation](https://github.com/boto/boto3/issues/4392)
of [Amazon S3 Data Integrity Protections](https://docs.aws.amazon.com/sdkref/latest/guide/feature-dataintegrity.html)
may lead to the `x-amz-content-sha256` error when using the Barman Cloud
Plugin.
If you encounter this issue (see [GitHub issue #393](https://github.com/cloudnative-pg/plugin-barman-cloud/issues/393)),
you can apply the following workaround by setting specific environment
variables in the `ObjectStore` resource:
```yaml
apiVersion: barmancloud.cnpg.io/v1
kind: ObjectStore
metadata:
name: linode-store
spec:
instanceSidecarConfiguration:
env:
- name: AWS_REQUEST_CHECKSUM_CALCULATION
value: when_required
- name: AWS_RESPONSE_CHECKSUM_VALIDATION
value: when_required
[...]
```
These settings ensure that checksum calculations and validations are only
applied when explicitly required, avoiding compatibility issues with certain
S3-compatible storage providers.
Example with DigitalOcean Spaces (SFO3, path-style): Example with DigitalOcean Spaces (SFO3, path-style):
```yaml ```yaml