[BB-5078] shared redis
Add a shared redis cluster to the tutor cluster.
Done
- Create a
redis
module that creates the ElastiCache replication group - Create one ElastiCache RBAC user per tutor instance with permission to operate on keys with a prefix.
- Pass variables into the tutor environment
Incomplete Support
-
Terraform's ElastiCache RBAC support is still incomplete. We can create replication groups, users, and user groups, but user groups can't be assigned to the replication group. There's an existing issue tracking this. Until the pull request implementing this support is finally merged and released, I've added a workaround to create the association via aws-cli through a
null_resource
triggered by the replication group and user group provisioning. -
While a global prefix support was already added to Open edX, tutor is still missing support for specifying it through the environment. I added a hypotheticalTUTOR_REDIS_GLOBAL_PREFIX
variable in this MR, but it doesn't exist in Tutor.Global prefix support added via a custom Tutor plugin in another MR