S3 Integrator Documentation

,

S3 Integrator documentation

S3 Integrator is a charm to store S3 credentials and provide them for consumer charms which seek to access shared S3 data.

IMPORTANT:

The charm supports several tracks (mainly tracks 1 and 2). The s3-integrator charm under the track 1/* is an evolution of the track latest/*. No Juju Secrets here and no S3 bucket auto-creation on request.

For the Juju secret-based user-experience, please refer to the object-storage-integrators repository, that is published to the s3-integrator charm under the track 2/*.

Warning: the latest/stable is deprecated and it should not be used moving forward. After 26.10, the latest/stable channel will be removed, check entire deprecation details.

Deployment

Deploy the s3-integrator charm:

juju deploy s3-integrator

Configuration

Configure the relevant connection parameters for your storage by using the juju config command. For example:

juju config s3-integrator \
    endpoint="https://s3.us-west-2.amazonaws.com" \
    bucket="postgresql-test-bucket-1" \
    path="/postgresql-test" \
    region="us-west-2"

For all available configuration parameters, see the Configurations tab.

Add your S3 credentials by using the sync-s3-credentials action with the juju run command:

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

For all available Juju actions, see the Actions tab.

The mandatory settings for the S3 integrator are the credentials (access-key and secret-key) and bucket.

Integration

Once configured, integrate the S3 integrator charm with a consumer charm. For example:

juju integrate s3-integrator postgresql

Now you can use S3 credentials via juju integration. For information on what other charms support this integration, see the Integrations tab.

Retrieve data via Juju actions

To retrieve S3 credentials:

juju run s3-integrator/leader get-s3-credentials

To retrieve connection parameters:

juju run s3-integrator/leader get-s3-connection-info

Limitations

The tracks latest and 1 support one bucket per s3-integrator. Several s3-integrator application should be deployed if requester charm needs several buckets.

The track 2 provides a new concept of “creating a bucket as per request”. The requester app can have many requirers integrated to it, while they request several buckets (e.g. B1, B2, B3, etc). The provider will create and provide those buckets to them appropriately. However, to simplify future management (e.g. credentials rotation), we recommend one bucket per s3-integrator (all applications can be deployed to the same Juju Machine).

Learn more

Refer to the relevant charmed database documentation for more details about how to use them with S3 Integrator:

Charmed PostgreSQL VM K8s
Charmed MySQL VM K8s
Charmed MongoDB VM K8s
Charmed Kafka VM K8s

Project and community

S3 Integrator is an open-source project that welcomes community contributions, suggestions, fixes and constructive feedback. For more information:

Navigation

Level Path Navlink
1 reference Reference
2 r-releases Release notes
2 r-actions Actions
2 r-configurations Configurations
2 r-integrations Integrations

Redirects

Mapping table
Path Location

Should we mention on this landing page that we need one integrator charm per bucket? It’s obvious after reading the deployment commands, but perhaps could be useful upfronting it?

1 Like

Hi @sed-i , just noticed this message and added the requested information as S3 Integrator Documentation

Tnx!