Design process for plugin installation
What happens when installing a plugin?
- 3 scenarios: run local (no docker), run local (docker), run in production (docker image url)
- But: A plugin is not only a container image name/url
- requires a configuration
- Default plugin configuration
- Later (after MVP4): pluginRun configuration that can be set in the front-end when creating a pluginRun (what machine learning model do you want to run, on what data, etc)
- Currently, plugin configurations are hardcoded in flutter app
{
"_type": "Plugin",
"pluginType": "importer",
"name": "WhatsApp",
"dataType": "whatsapp",
"container": "gitlab.memri.io:5050/plugins/whatsapp:dev-latest",
"icon": "message",
"pluginModule": "whatsapp.plugin",
"pluginName": "WhatsappPlugin"
}
-
Where is this config stored?
- User defines a plugin location (repository?)
- plugins are registered in a central place when in gitlab plugins group, just needs to give the repo name
- other suggestions?
-
Additional thoughts:
- Can all static config be moved to the docker container? Why does it need to come from front-end when its static?
- Dynamic config (config that can be different for each pluginrun) are difficult to design, see #84 (closed)
┆Issue is synchronized with this Clickup task by Unito