[
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)