BCDevOps / backup-container

A simple container for a simple backup strategy.
Apache License 2.0
39 stars 56 forks source link

utilizing S3 storage into backup container #121

Closed rshourou closed 7 months ago

rshourou commented 7 months ago

Looking for a backup-deploy.yaml file which includes environment variables for s3 storage (e.g. S3_USER , S3_PASSWORD, S3_ENDPOINT, S3_BUCKET). Couldn't find any documentation with this regard. I want to know how to connect s3 storage to backup container in openshift.

WadeBarnes commented 7 months ago

Support for S3 storage was added in this PR; https://github.com/BCDevOps/backup-container/pull/113/files. All documentation associated to the feature was included in that PR (currently). That did not include an updated backup-deploy.yaml, though there should be enough documentation to indicate what updates would be needed to the/a backup-deploy.yaml. If you need additional assistance I would reach out to @jleach through this ticket.

In the end it would be nice to have an updated backup-deploy.yaml submitted to the project for cases such as yours.

rshourou commented 7 months ago

hi @jleach I read all documentation associated to utilizing S3 storage, but there is not enough guidance on where and how to integrate s3 variables into backup-deploy.yaml. Can you please assist me with this regard. Do S3 storage variables need to be added into volumes.spec in DeploymentConfig section in backup-deploy.yaml file?

jleach commented 7 months ago

Hi @rshourou Recalling from memory here but I think you just set these environment variables (these are from the docker-compose.yaml file):

S3_USER: minio
S3_PASSWORD: secret00
S3_ENDPOINT: http://minio:9000
S3_BUCKET: backups

Then when it starts you should see this is the logs. Notice the "S3 endpoint" line.

backup-1      | - FTP server: not configured
backup-1      | - S3 endpoint: http://minio:9000
backup-1      | - Webhook Endpoint: not configured
backup-1      | - Environment Friendly Name: not configured
backup-1      | - Environment Name (Id): not configured

Finally, you just have these two lines in your config/backup.conf to schedule the backup:

0 1 * * * default ./backup.sh -s
0 4 * * * default ./backup.sh -s -v all
rshourou commented 7 months ago

I set the abovementioned env variables in backup-deploy.yaml and ran backup.sh -1 in backup pod and got this error:

image

jleach commented 7 months ago

Able to check the env vars are set? Open a terminal to the backup pod and echo all of them like echo $S3_USER. Make sure none of them are empty. That's to see about the error in red. The messages in yellow "Unable to make bucket" see like they come from the server and maybe caused by a file system permission issue in minio.

You can see what it's trying to do in this file