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 can extend the web interface with customized features and new extensions.

If you need a specific function in Bacularis that integrates with your own tools, the plugin feature is ideal. For example, you can write a plugin that sends Bacularis events to your mobile phone or writes them to a file. The plugin can notify you of security events, trigger actions, run scripts, call webhooks to remote servers, and much more, depending on the event.

Plugin types#

Notification plugins#

These are web-layer plugins that receive information from Bacularis about activities on the web interface and then perform actions accordingly. There are three message types (info, warning, and error) and four categories (config, action, application, and security).

../_images/bacularis_plugin_notification.png

Bacula configuration plugins#

These plugins introduce pre- and post- actions to manage Bacula configurations. They operate at the API layer. This is useful when you want to trigger actions based on configuration events (read, create, update, delete) and depending on the Bacula component and resource involved.

Bacularis action plugins#

The Action plugin provides a new function, but it is not linked to any specific execution point in Bacularis. This means the plugin is not ready to run immediately after configuration. To execute it, you must use it within a Run action plugin. The Run action plugin associates an action with the event or place in Bacularis where it should run. The same Action plugin can be linked to different Bacularis events.

Bacularis run action plugins#

The Run action plugin defines action types (events) that Action plugins can be assigned to. This means a single Action plugin can run on multiple Bacularis events.

The Run action plugin also specifies a resource type that determines what kinds of resources it can interact with. For example, a plugin that supports the Job resource type can handle job-related actions (like pre-create job, post-run job manually, etc.), but it cannot work with Pool or Client action types.

../_images/bacularis_plugin_action_and_run_action_plugins.png

Configuration#

Plugins store their configuration in a dedicated Bacularis configuration file. This configuration is called settings. One plugin can have multiple settings, which is a core feature of the plugin system. It allows you to define different behaviors for the same plugin. For example, you can have one action for informational and warning messages, and a different one for error messages.

../_images/bacularis_plugin_settings.png

Localization#

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

Bacularis Web#

In Bacularis versions prior to 5.3.0, the plugin feature is available in the Application settings page, accessible via the gear wheel icon at the top left of the interface, under the Plugins tab.

In version 5.3.0 and later, the plugin feature is found in the main menu, on the Add-ons page, under the Plugins tab.

Bacularis API#

The plugin feature is available in the API panel on the Settings page, within the Plugins tab.