Skip to content

MVP support for 3rd party Platform plugins #71762

Open

Description

With our plan to remove support for legacy plugins in an upcoming minor version, we should ensure that the tooling is in place to support building and installing Kibana Platform plugins. While some things "work" today, there is no real supported workflow for getting a 3rd party plugin working in production.

Generating

The plugin-generator has already been updated. I do not expect any significant changes required here.

Building

Currently, there is no immediately obvious way to build a plugin for installation in a distributable Kibana. We need some way for developers to build their plugins, and at a minimum, we should support:

  • Building frontend assets using @kbn/optimizer
  • Transpiling server-side code
  • Bundling dependencies
  • Creating a zip archive for installation

Previously, the plugin-generator would include a package.json script for building a zip archive by leveraging the plugin-helpers package. This package handles most of these tasks already, except for the @kbn/optimizer piece. We can probably add some steps to this package to make it suitable for what we need. Once that is in place, we should consider updating plugin-generator to include this script by default.

Side note: Ideally we'd use the same scripts for building 1st party plugins and 3rd party ones.

#63069

Installing

Currently, the only way to "install" a Platform plugin is by unpacking the plugin in the plugins directory. For legacy plugins, we have the kibana-plugin CLI for installing and removing plugins. We should update for anything we need to support platform plugins, including a version check against the kibana.json file. #56482

Related:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Feature:New PlatformMetaTeam:CoreCore services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions