Multitenancy
The application supports multi-tenancy to create multiple virtual instances independent one from the other. Although the system resources (like memory and filesystem) are shared, two tenants don't influence one each other and have different configurations. For example it's possible to deploy the same kb in two different tenants only by installing two copies that will always be updated independently.
Adding and removing tenants
To add a tenant add its name in "com.kv.tenants" as described in the general deployment instructions. To remove a tenant remove its name from "com.kv.tenants" and, optionally, delete its folder from the repository as described in the repository management instructions. Consider also that a tenant is unaccessible when its name is not included in "com.kv.tenants".
Api
The tenant name is a recurring parameter in the application's api.
It can be specified as HTTP Header "tenant" or as a query parameter "tenant".
It can be omitted when
- there is only one tenant
- when a valid auth-token is specified because the sessions are already bound to a tenant
- some api, like the one to retrieve the list of the tenants, don't require it