Tutor-contrib-s3: A plugin for interfacing with any S3-compatible storage service

Hi! :wave:

I would like to announce the release of our experimental plugin for Tutor, called tutor-contrib-s3. It allows Open edX to be configured with custom S3 settings, including the use of an S3 API-compatible storage platform โ€” such as Ceph with radosgw.

This plugin is meant to make Tutor-managed Open edX interface with any S3 service hosted outside of Tutor. If instead you want to deploy your own S3-compatible storage platform as part of Tutor, please consider the minio Tutor plugin.

tutor-contrib-s3 was originally created a couple of years ago, under the name โ€œtutor-s3โ€, by Adolfo Brandes (@arbrandes) while he was at hastexo/City Network. At the time, we didnโ€™t adopt Tutor so the plugin just sat there for some time. However, in the past few weeks we have made substantial changes to it and have now updated it to work with Tutor and the Maple release.

As part of those changes, we updated the storage class to S3Boto3Storage, added capability to specify separate buckets for profile images, and grades, and added query-string authentication instead of relying on public ACLs. We also changed the name to โ€œtutor-contrib-s3โ€ to differentiate it from the official Tutor plugins.

If you have been using a previous version of this plugin, please update to the latest version. You can take a look at the changelog to see what has changed.

Please go ahead and experiment with it! Do consider the fact that it is an experimental plugin at this point and therefore currently not ready for production use. If you ran into any problem, please let us know by creating an issue.

We welcome your contributions, questions and comments! :slightly_smiling_face: