Basic information#

Since version 4.1.0 Bacularis provides support for the plugin interface.

Purpose#

The main purpose of introducing plugins in Bacularis is to make it easily extensible. Thanks to the plugin interface Bacularis users are able to extend the web interface for new customized functions and new extensions.

If you need to have a specific function in Bacularis that will cooperate with your other tools, this plugin feature can be for you. You can for example write a plugin that will send Bacularis events to your mobile phone, or write them to a file. The plugin can inform about security events, trigger some actions, run scripts, call webhooks to remote servers and do many other actions depending on what type of event currently happened. It has a wide range of possibilities.

Plugin types#

Notification plugins#

They are the web layer plugins that receive information from Bacularis about activities on the web interface and base on that take given actions. There are three types of messages (info, warning and error) and four message categories (config, action, application and security).

../_images/bacularis_plugin_notification.png

Bacula configuration plugins#

They are plugins that introduce pre- and post- actions to the management of the Bacula configuration. They are API layer plugins. It can be very useful if you need to add some actions depending on action on configs (read, create, update, delete) and also on the Bacula component and resource.

Bacularis action plugins#

The action plugin is a plugin that provides a new function but it is not linked with any place in Bacularis where it could be executed. This means that after configuring action the plugin is not ready to work yet. To be executed, it needs to be used in the run action plugin. In the run action plugin an association is made between the action the place where the action plugin will be executed. So, the action plugin can be assigned to run on various Bacularis events defined in the run action plugins.

Bacularis run action plugins#

The run action plugin provides action types (events) to which action plugins can be assigned. This means that the same action plugin can be executed on various Bacularis events.

The run action plugin have defined a resource type that determines with what type of resources the run action plugin is capable to work. For example, plugin that supports resource type Job will be able to work with Job action types (like pre-create job, post-run job manulally …etc.) but it will not be able to work with Pool or Client action types.

../_images/bacularis_plugin_action_and_run_action_plugins.png

Configuration#

Plugins store configuration in a dedicated Bacularis configuration file. The plugin configuration is called settings and it is important to know that one plugin can have many various settings. It is the key approach in the plugin function that enables to have different settings for one the same plugin. It enables for example to define one action for information and warnings and other action for error messages.

../_images/bacularis_plugin_settings.png

Localization#

Bacularis provides plugin functions both for the web layer (since version 4.1.0) and for the API layer (since version 4.2.0).

Bacularis Web#

In Bacularis version lower than 5.3.0 the plugin function you can find on the Bacularis web interface in the application settings page under the gear wheel icon at the top left side of the interface. It is available there at the tab called Plugins.

In Bacularis version 5.3.0 and greater the plugin function is located on the Bacularis web interface in the main menu on the Add-ons page on the Plugins tab.

Bacularis API#

The plugin function is located in the API panel on the Settings page in tab named Plugins.