Modularize Registrator
For future deployments beyond PRISM it is necessary to beef up the registrator.
Here is an outline of the planned components
Registration context
Objects to be passed around to the components. Shall include the following properties:
- identifier
- metadata
- file paths
Source abstractions
This should abstract the object storage access to
- List files (with filter?)
- Download files (metadata file)
- Convert to VSI path
The following backends shall be supported:
- S3
- Swift
- Local path
Registration configuration handler
Configures and ties together the various components
- select files for Registration
- fetch metadata files and extract metadata
- detect product type/level
Registration backend
Shall create the necessary models, tables, configs, whatever. Only EOxServer planned for now
Rollbacks should be supported as well?
Pre-handler
Some setup steps not related to actual registration
Post-handler
Configurable post-registration steps. e.g: reporting