Closed Andrew-Morozko closed 2 months ago
there might be a way here to use GitHub releases as a poor-man's plugin registry. Since we control fabric
repo, we can pack / release various plugins under different tags (name + version?).
Something to look into!
another note: I think the implicit automatic download of the latest version is a bad idea. I've updated the issue body with the step of explicitly defining the plugins used
Background
The templates might use the plugins that are not installed on the local FS. In this case,
fabric
should be able to download and install the plugins of the specified versions.Design
fabric
executes, before the template execution, it populates the in-memory registry of available plugins from the plugins present in the FS cache (cache_local_path
path set in global settings)<cache_local_path>/plugins/<data|content>/<name>/<version>/
plugin_versions
from the global configuration (https://github.com/blackstork-io/fabric/issues/5)mirror_local_path
is provided in the global settings. The path schema is<mirror_local_path>/<data|content>/<name>/<version>.zip
base_url
from the global config in the URL schema --<base_url>/<data|content>/<name>/<version>.zip
<cache_local_path>/plugins/<data|content>/<name>/<version>/
and update the in-memory plugins registry.Some of the plugins must be built-in -- https://github.com/blackstork-io/fabric/issues/13
References