Introduction to Plugins
This section provides an overview of Leapp’s plugins, which can be used to extend the functionality of Leapp.
Plugins are commonly used when more advanced and custom behavior is needed, for example using Leapp-generated temporary credentials to run custom actions.
You can create your own plugins or import custom ones created by the community. You can also publish your plugins on npm to make them available to everyone easily.
Add a Plugin
To add a plugin you can use one of the following methods:
Add from npm
From the Leapp option menu, go to the Plugins tab. Insert the name of the npm package for the plugin and click on the plus icon to add it to your plugins
Add manually
Go to Options by clicking the top right gear icon then click the Plugins tab. Click the Folder Icon. This will open the plugin folder inside .Leapp.
Here, manually create a folder with the same name as your plugin package.json name property and move your package.json
and bundled plugin.js
files inside this folder.
Alternatively, you can simply move your entire plugin folder cloned from the example template.
Lastly, from the Leapp Plugins tab in the Option menu, click on the refresh icon to reload all plugins.
Warning
Adding plugins is at your own risk! We cannot currently guarantee that a plugin is safe, so BE CAREFUL when you install something from an unknown source. A plugin verification system is under development and will be available later this year.
Disable a Plugin
To disable a Leapp plugin, go to Options by clicking the top right gear icon then click the Plugins tab.
Toggle Enabled for the plugin you want to disable.
Remove a Plugin
To remove a Leapp plugin, go to Options by clicking the top right gear icon then click the Plugins tab.
Click the Folder Icon. This will open the plugin folder inside .Leapp. From here, locate the folder containing the plugin you want to remove and simply delete the folder.
Run a Plugin
You can run a plugin both from Leapp Desktop App and Leapp CLI.
From Leapp Desktop App, right click on a session to open the contextual menu, click on Plugins, and select the plugin you want to run
Info
This contextual menu option is not available if you have no plugins that you can run on the selected session and/or your operating system.
From Leapp CLI, you can use the command leapp session run-plugin
. For more information on how to use this CLI command, see the documentation.
Plugin Menu
Click on the top right gear icon to go to the Leapp option menu and then select the tab Plugin.
From there, you can see a list of currently installed plugins, check whether a plugin is compatible with your system or not, which session types it supports and disable/enable it if you need.
Create your Plugin
You can start creating a plugin from the template.
Leapp plugins are written in TypeScript. They must contain at least a class that extends a base class provided by the Plugin SDK.
There's currently only one of these classes, AwsCredentialsPlugin
, that can be used to create a plugin that generates temporary credentials.
Every Leapp plugin must at least have a package.json
file and a plugin.js
file.
leapp-plugin/
├── package.json # Plugin metadata
└── plugin.js # A webpack bundle for the main logic