Plugin tooling

edit

Automatic plugin generator

edit

We recommend that you kick-start your plugin by generating it with the Kibana Plugin Generator. Run the following in the Kibana repo, and you will be asked a couple of questions, see some progress bars, and have a freshly generated plugin ready for you to play with in Kibana’s plugins folder.

node scripts/generate_plugin my_plugin_name # replace "my_plugin_name" with your desired plugin name

Plugin location

edit

The Kibana directory must be named kibana, and your plugin directory should be located in the root of kibana in a plugins directory, for example:

.
└── kibana
    └── plugins
        ├── foo-plugin
        └── bar-plugin

Build plugin distributable

edit

Kibana distributable is not shipped with @kbn/optimizer anymore. You need to pre-build your plugin for use in production.

You can leverage @kbn/plugin-helpers to build a distributable archive for your plugin. The package transpiles the plugin code, adds polyfills, and links necessary js modules in the runtime. You don’t need to install the plugin-helpers: the package.json is already pre-configured if you created your plugin with node scripts/generate_plugin script. To build your plugin run within your plugin folder:

yarn build

It will output a`zip` archive in kibana/plugins/my_plugin_name/build/ folder.

Install a plugin from archive

edit

See How to install a plugin.

Run Kibana with your plugin in dev mode

edit

Run yarn start in the Kibana root folder. Make sure Kibana found and bootstrapped your plugin:

[info][plugins-system] Setting up […] plugins: […, myPluginName, …]