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 (opens new window).
This means that a plugin directory must contain either:
- a valid package.json (opens new window) file. If the plugin's entrypoint is not the root
index.jsfile, then the main (opens new window) 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 (opens new window), 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.