Charmed MySQL How-to - Configure S3 for AWS

Configure S3 for AWS

:information_source: Hint: Use Juju 3. Otherwise replace juju run ... with juju run-action --wait ... and juju integrate with juju relate for Juju 2.9.

Charmed MySQL backup can be stored on any S3 compatible storage. The S3 access and configurations are managed with the s3-integrator charm. Deploy and configure the s3-integrator charm for AWS S3 (click here to backup on Ceph via RadosGW):

juju deploy s3-integrator
juju run s3-integrator/leader sync-s3-credentials access-key=<access-key-here> secret-key=<secret-key-here>
juju config s3-integrator \
    endpoint="https://s3.amazonaws.com" \
    bucket="mysql-test-bucket-1" \
    path="/mysql-test" \
    region="us-west-2"

To pass these configurations to Charmed MySQL, relate the two applications:

juju integrate s3-integrator mysql

You can create/list/restore backups now:

juju run mysql/leader list-backups
juju run mysql/leader create-backup
juju run mysql/leader list-backups
juju run mysql/leader restore backup-id=<backup-id-here>

You can also update your S3 configuration options after relating, using:

juju config s3-integrator <option>=<value>

The s3-integrator charm accepts many configurations - enter whatever configurations are necessary for your S3 storage.

Would it make sense to change the deploy command here to prefer the stable channel (e.g. just juju deploy s3-integrator)? It looks like the versions of the s3-integrator charm are the same in edge and stable currently.

Yes, indeed. Let me update that