Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Container plugins are defined in /clusterprops.json:/plugin using a simple PluginMeta bean. This is sufficient for implementations that don't need any configuration except for the pathPrefix but insufficient for anything else that needs more configuration parameters.
An example would be a CollectionsRepairEventListener plugin proposed in PR-1962, which needs parameters such as the list of collections, waitFor, maximum operations allowed, etc. to properly function.
This issue proposes to extend the PluginMeta bean to allow a Map<String, Object> configuration parameters.
There is an interface that we could potentially use (MapInitializedPlugin but it works only with String values. This is not optimal because it requires additional type-safety validation from the consumers. The existing PluginInfo / PluginInfoInitialized interface is too complex for this purpose.