[ 
https://issues.apache.org/jira/browse/FINERACT-1833?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksandar Vidakovic updated FINERACT-1833:
-------------------------------------------
    Description: 
At the moment Fineract's multi-tenancy feature is based on a separate tenant 
database with a single table; each row contains the database connection details 
and timezone settings for each tenant. I am proposing to make this feature an 
official Fineract extension point and to provide an alternative implementation 
based on application.properties instead of the database approach.

Using application.properties is - for a Spring Boot - the best place to put any 
kind of application configuration. Since Fineract's inception a lot has 
happened in the Spring/Boot eco-system. Reloadable configurations are nothing 
strange anymore. In fact, they are especially useful when applications are 
deployed in a Kubernetes environment. 

The tenant specific information will not be provided in the default 
application.properties file. Obviously we don't know yet which tenants users 
want to add. Instead, each tenant's configuration will be provided in a 
separate Spring Boot profile configuration, e. g. the default tenant's 
configuration would be provided in a file named 
"application-tenant-default.properties". The prefix "application-tenant-" is a 
convention that everyone should follow. We might have later other features that 
might use profile configuration or custom modules might have them. Just to 
avoid any collisions.

Migration information will be provided at boot time with warn log entries.

 

To be continued...

  was:At the moment Fineract's multi-tenancy feature is based on a separate 
tenant database with a single table; each row contains the database connection 
details and timezone settings for each tenant. I am proposing to make this 
feature an official extension point 


> Extension point: application.properties based multi-tenancy
> -----------------------------------------------------------
>
>                 Key: FINERACT-1833
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1833
>             Project: Apache Fineract
>          Issue Type: Bug
>            Reporter: Aleksandar Vidakovic
>            Assignee: Aleksandar Vidakovic
>            Priority: Major
>             Fix For: 1.9.0
>
>
> At the moment Fineract's multi-tenancy feature is based on a separate tenant 
> database with a single table; each row contains the database connection 
> details and timezone settings for each tenant. I am proposing to make this 
> feature an official Fineract extension point and to provide an alternative 
> implementation based on application.properties instead of the database 
> approach.
> Using application.properties is - for a Spring Boot - the best place to put 
> any kind of application configuration. Since Fineract's inception a lot has 
> happened in the Spring/Boot eco-system. Reloadable configurations are nothing 
> strange anymore. In fact, they are especially useful when applications are 
> deployed in a Kubernetes environment. 
> The tenant specific information will not be provided in the default 
> application.properties file. Obviously we don't know yet which tenants users 
> want to add. Instead, each tenant's configuration will be provided in a 
> separate Spring Boot profile configuration, e. g. the default tenant's 
> configuration would be provided in a file named 
> "application-tenant-default.properties". The prefix "application-tenant-" is 
> a convention that everyone should follow. We might have later other features 
> that might use profile configuration or custom modules might have them. Just 
> to avoid any collisions.
> Migration information will be provided at boot time with warn log entries.
>  
> To be continued...



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to