Plugins are subdirectories that must be put at the following location:
The recommended way to install a plugin is to put it in
plugins/available, and then link it to the
Node.js modules #
Kuzzle loads plugins as Node.js modules.
This means that a plugin directory must contain either:
- a valid package.json file. If the plugin's entrypoint is not the root
index.jsfile, then the main property must be filled
Kuzzle needs a few information to make your plugin work properly. These information must be provided in a
manifest.json file, in the plugin directory.
The following properties can be defined in this
name(required): plugin unique identifier. Names can only contain letters, numbers, hyphens and underscores.
kuzzleVersion: a non-empty string describing a semver range, limiting the range of Kuzzle versions supported by this plugin. If not set, a warning is displayed on the console, and Kuzzle assumes that the plugin is only compatible with Kuzzle v1.x
manifest.jsonfile, for backward compatibility reasons, falling back to the package.json file to retrieve the plugin's name. This will change in next major releases of Kuzzle.