Setup Open edX SAAS based

We launched Open edX using tutor k8s on our Kubernetes cluster and our purpose is to run it as a SAAS service.
So we run a common MySQL, MongoDB, and Elasticsearch cluster for this setup and connect it using tutor config.
But we have one BIG problem with this setup.

for using a shared elasticsearch cluster, we need to separate different organizations with a prefix. the problem is that there is no such feature to use.

we found some INDEX_NAME in different parts of the source code like:

and

  • is there any other places related to elasticsearch indices to change?
  • can we have an ENV in dockerfile specific to elastic prefix title?
2 Likes

Technically, at Opencraft we don’t run Open edX in SaaS form, instead deploying a separate instance for each customer. Like you, though, we run centralized database servers (such as MongoDB or MySQL), but with Elasticsearch we’ve found it best to deploy a separate one for each customer - in part because of the issues you’re running into now.

There are other providers in the community that might have found a solution to this problem, though. I’m curious myself, so will be following the thread.

2 Likes

I have same problem too.

1 Like

Thanks for your response @arbrandes. seems like no one else encountered the same problem or is not interested in sharing it.
@arbrandes, is it possible to ask some of the core contributors/committers about this issue?

The problem is knowing who has run into this problem, first. Otherwise we’d have to ping everybody, and that wouldn’t be very good netiquette. We’ll just have to wait and see if anybody picks up on the thread. :man_shrugging:

Hi Emad, Rather than using Elasticsearch, you might try using a 3rd party search tool such as Algolia, which can integrate directly into your application. https://www.algolia.com/