Plugins

A plugin is an extension of PACE, with custom logic. A plugin consists of the following properties:

  • id: the unique identifier for this plugin implementation

  • implementation: the canonical (full) class reference of this plugin

  • actions: the list of actions that this plugin supports

Actions are interfaces that can be implemented by the plugin creator, in order for the plugin to offer certain functionalities. The interfaces are defined by the action types. Furthermore, a plugin can possibly be invoked, which means that the action can be triggered through the API (and thus the CLI).

Configuring and enabling a certain plugin differs, as each plugin requires its own configuration. The minimum required plugin configuration looks as follows:

app:
  plugins:
    my-plugin:
      enabled: true

This enables the my-plugin plugin. More details on building your own plugin can be found in the SDK section.

Actions

Below, an overview of all available action types and their description is provided. Also, whether the plugin is invokable is specified. A plugin action is invokable if it can be initiated through the PACE API, via the InvokePlugin RPC. If a plugin action requires a payload, it needs to be provided as a string value, which can be either a JSON, YAML, or base 64 encoded version of the JSON/YAML.

Missing an action or a way to integrate certain functionality with PACE? Let us know.

Last updated