Open AffiTheCreator opened 3 years ago
Adding support for other services to be provisioned in the tenant environments is definitely on the roadmap. Thank you for submitting Elasticsearch. Other community members should +1 this issue if they value Elasticsearch integration.
The pattern to follow in the current architecture of SaaS Boost would be to add a new "extension" to the tenant onboarding system. Currently, we have 2 extensions -- Filesystem and Database. You could add a 3rd for ES and it could be patterned after the existing database extension to support Amazon Elasticsearch service. You have to choose instance types, version (6 or 7), number of nodes, etc. The Settings Service would gather up all of these variables and the Onboarding Service would look them up at provisioning time to drive a nested CloudFormation stack for each tenant deployment which would configure and instantiate all of the necessary resources. This also gets wired into the main tenant onboarding CloudFormation so that the application containers are provided with the necessary credentials to connect to the cluster.
Each tenant would get its own ES cluster, just as each gets their own Aurora/RDS cluster today. In future versions of SaaS Boost we will find ways to securely support pooled or shared infrastructure.
In future versions of SaaS Boost we will find ways to securely support pooled or shared infrastructure.
Is there some documentation on how we, the community, can get started on making this happen?
I'm working on a solution for this issue, here is what I have so far:
EDITED: @brtrvn
Today I got Elasticsearch working with SaaS Boost, maybe a new branch can be created to accommodate the new files. Let me know if you want me to merge it with the new branch
Saas Boost already supports all major databases, but it's missing ElasticSearch.
Use Case
I have an application that needs ElasticSearch, currently, the only method to get my application running is installing ElasticSearch Inside of the container with the rest of my application. Not ideal for my use case.
Proposed Solution
Other
This is a :rocket: Feature Request