Multi-node Backup to MinIO (S3)

Hello :wave:

I’m trying to perform a multi-node backup of Weaviate DB to an existing (single-node) MinIO (S3) pod on the same Kubernetes cluster.
I’m using the Python client for that (running the Python code from another pod I created which has full access to everything on the cluster).

I went through the documentation and defined the relevant environment variables in the “values.yaml” file of my Helm chart under the “backups=>s3” section:

  • enabled:true
  • envconfig: BACKUP_S3_BUCKET: weaviate-backups (I created this bucket already in MinIO)
  • envconfig: BACKUP_S3_ENDPOINT: (successfully ping to this IP from Weaviate server pods)
  • envconfig: BACKUP_S3_USE_SSL:true
  • secrets: {AWS_ACCESS_KEY_ID: , AWS_SECRET_ACCESS_KEY: MinIO password} (I successfully used these credentials to login to MinIO UI)

When I try to call “client.backup.create” method I get the following error:

“Backup creation! Unexpected status code: 422, with response body: {‘error’: [{‘message’: 'check if backup “d59141ef-18ae-4355-9b9c-c581c68ac78d” exists at “s3://weaviate-backups/d59141ef-18ae-4355-9b9c-c581c68ac78d”: get object 'd59141ef-18ae-4355-9b9c-c581c68ac78d/backup_config.json': Get “https://10.249.2.7:9000/weaviate-backups/?location=”: http: server gave HTTP response to HTTP”

Any suggestions will be highly appreciated!

The issue was resolved by changing the “envconfig: BACKUP_S3_USE_SSL” parameter value to false.

Thanks for sharing, @shmoolik !!