Hi Imesh, Here is few steps in my mind.
- Need to expose REST API for domain mapping. It should generic to single and MT applications - Need to have some REST API for getting application structure with relevant aliases for create json payload for both signup and domain mapping. - Tenants can submit domain mapping against service aliases in the application. It should be contained mapping domain, application context. Eg: application host = myphp.php.stratos.org/website and we need access it by giving abc.com. then mapping domain : abc.com context : website - SM can store domain mapping with the tenant info. - Need to have separate topic "domainmapping" which LB need to subscribed. SM should publish domains, cluster, appliactionid, context - SM should implement add domain, remove domain and populate above topic. - LB should filter by application id (only get relevant to the application ids which need to act) - update in-memory LB routing table with domain,cluster,context. On Thu, Jan 8, 2015 at 1:52 PM, Imesh Gunaratne <im...@apache.org> wrote: > Hi Devs, > > Domain mappings functionality was introduced in 4.0.0 release to allow > users to map domain names for their service subscriptions. The result was > that users were able to use domain names for accessing service clusters > without having to use the generated cluster host names. > > In 4.0.0 release these domain names were managed against the service > subscriptions made by the tenants. Now in 4.1.0 release we do not have a > concept of subscriptions, rather application signups are used for managing > artifact repository information. > > IMO to fix domain mappings functionality in 4.1.0 release we may need to > store domain names against application signups. > > *Single-Tenant Applications:* > - An application signup is auto generated for each single-tenant > application by extracting the artifact repository information provided. > - Since there could only be one application signup for a single-tenant > application, users could add domain names for each service cluster by > specifying the application id and the cartridge alias. > > *Multi-Tenant Applications:* > - Each tenant could signup for a a multi-tenant application after super > tenant deploys the application. > - Since there could be many application signups for a multi-tenant > application, users need to specify the application id, sign up id and the > cartridge alias for adding domain names for service clusters. > - The signup id can be fetched using the tenant id of the user since there > could only be one application signup for a tenant for a given multi-tenant > application. > > Please add your thoughts on this. > > Thanks > -- Lakmal Warusawithana Vice President, Apache Stratos Director - Cloud Architecture; WSO2 Inc. Mobile : +94714289692 Blog : http://lakmalsview.blogspot.com/