Prerequisites

Location

Plugins are subdirectories that must be put at the following location: <kuzzle_install_dir>/plugins/enabled.

The recommended way to install a plugin is to put it in plugins/available, and then link it to the plugins/enabled directory.

Node.js modules

Kuzzle loads plugins as Node.js modules.

This means that a plugin directory must contain either:

  • an index.js file

and/or:

  • a valid package.json file. If the plugin's entrypoint is not the root index.js file, then the main property must be filled

manifest.json

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 manifest.json file:

  • name (required): plugin unique identifier. Names can only contain lowercase 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
Deprecated since 1.5.0 Kuzzle still allows plugins to be loaded without a manifest.json file, 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.