Charmed MongoDB K8S How to | Configure S3 storage

How to configure S3 storage

This is a guide on how to configure S3 storage for a Charmed MongoDB replica set or sharded cluster.

Prerequisites

Summary


Deploy s3-integrator

S3 configurations are managed with the s3-integrator charm.

First, deploy the s3-integrator charm:

juju deploy s3-integrator

Configure s3-integrator

To sync your s3-integrator credentials, run:

juju run s3-integrator/leader sync-s3-credentials access-key=<access-key-here> secret-key=<secret-key-here>

To configure s3-integrator, run juju config with the relevant parameters to your S3 storage. For example:

juju config s3-integrator path="my/path" region="us-west-2" bucket="pbm-test-bucket-1"

Pass S3 configuration to MongoDB

Determine the application to run backup actions on

The application to pass to juju when running backup and restore actions depends on whether your deployment is a replica set or sharded cluster:

When running Charmed MongoDB K8s as a replica-set, this will be the name of your Charmed MongoDB K8s application.

When running Charmed MongoDB K8s as a sharded cluster, this will be the name of your Charmed MongoDB K8s application running with the role config-server - never the shard applications.

Integrate s3-integrator with MongoDB

To integrate your deployment with s3-integrator, run:

juju integrate s3-integrator <replica-set name | config-server name>

Note: You can also update your configuration options after integrating. For example:

juju config s3-integrator endpoint=<endpoint>