Skip to content
Snippets Groups Projects
  • godzie44's avatar
    26b11774
    feature: plugins · 26b11774
    godzie44 authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
    Introduce a plugin system for picodata cluster.
    Plugin system contains:
    - `picoplugin` crate with plugin interfaces.
    This crate exposes plugin interfaces for user implementation and API
    that used by picodata to interact with plugin as with a code from dynamic library.
    - Support for plugin work cycle in picodata instance work cycle.
    Picodata instance interacts with running plugin by `PluginManager`
    component.
    Typically, plugins react to events that occur in instance or whole cluster.
    - New lua API with plugin CRUD actions.
        - pico.create_plugin - load a new plugin into picodata cluster
        - pico.remove_plugin - remove plugin from picodata cluster
        - pico.update_plugin_config - update plugin service configuration
    26b11774
    History
    feature: plugins
    godzie44 authored and Yaroslav Dynnikov's avatar Yaroslav Dynnikov committed
    Introduce a plugin system for picodata cluster.
    Plugin system contains:
    - `picoplugin` crate with plugin interfaces.
    This crate exposes plugin interfaces for user implementation and API
    that used by picodata to interact with plugin as with a code from dynamic library.
    - Support for plugin work cycle in picodata instance work cycle.
    Picodata instance interacts with running plugin by `PluginManager`
    component.
    Typically, plugins react to events that occur in instance or whole cluster.
    - New lua API with plugin CRUD actions.
        - pico.create_plugin - load a new plugin into picodata cluster
        - pico.remove_plugin - remove plugin from picodata cluster
        - pico.update_plugin_config - update plugin service configuration
This project manages its dependencies using Cargo. Learn more