We want to support the importing of plugins from external sources. This allows for:
External development of plugins
Sharing of plugins between deployments
Management and automatic registration of Dioptra built-in plugins
Automated registration of plugins (instead of manually uploading each file via a client)
To improve the import functionality, we need a way of tracking and updating externally managed plugins. This will be accomplished via a sync workflow in the restAPI, syncResources.
A new database table to track import source will be needed. It should include: id, name, source_type, url, hash, and timestamp(s).
Tasks:
[ ] Design the schemas and endpoint(s) for the resourcesSync workflow in the REST API design doc on google drive
[ ] Add the design to this issue once finalized
[ ] Add new database table for tracking import source
[ ] Implement the schema(s) and controller(s) for the workflow
[ ] Implement the service layer with a single database commit
Definition of Done:
[ ] Plugins can be synced from a file upload or git repository via a workflow
[ ] New integration tests that cover plugin sync functionality are implemented
We want to support the importing of plugins from external sources. This allows for:
To improve the import functionality, we need a way of tracking and updating externally managed plugins. This will be accomplished via a sync workflow in the restAPI,
syncResources
.A new database table to track import source will be needed. It should include: id, name, source_type, url, hash, and timestamp(s).
Tasks:
resourcesSync
workflow in the REST API design doc on google driveDefinition of Done: