As a user I want to be able to port my Applications across Kaa clusters or tenants (together: environments). The process should include export of the Application settings from the Source environment and their import into the Destination environment. The Application settings must include:
- data schemas (including CTL dependencies in Application and System scopes),
- extensions configuration data (e.g. Configuration Management subsystem data for all Endpoint Groups),
- Log Appenders configuration,
- User Verifiers settings,
- any other non-endpoints-related data necessary to make Applications set up in Source and Destination environments indistinguishable from any practical standpoint (e.g. application token).
Export and import of the system- and tenant-level data Application settings may depend upon (e.g. system scope CTL types) must require appropriate privileges.
Applications export and import capabilities must be exposed via REST interfaces, and should be available via the Administrative Web UI.
Applications import functionality must support the incremental import. This should, for example, serve the purpose of gradually synchronizing the testing environment with the development environment, or the production environment with the QA acceptance environment. During the incremental import the Target environment must validate the existing entities' contents and throw an error in case of a mismatch prior to importing any new entities.