NAME

App::Metabase::Relayd::Plugin - metabase-relayd plugins

VERSION

version 0.42

DESCRIPTION

This document describes the App::Metabase::Relayd::Plugin system for App::Metabase::Relayd and metabase-relayd.

Plugins are a mechanism for providing additional functionality to App::Metabase::Relayd and metabase-relayd.

It is assumed that plugins will be POE based and consist of at least one POE::Session.

INITIALISATION

The plugin constructor is init. App::Metabase::Relayd uses Module::Pluggable to find plugins beneath the App::Metabase::Relayd::Plugin namespace and will attempt to call init on each plugin class that it finds.

init will be called with one parameter, a hashref that contains keys for each section of the metabase-relayd configuration file, (which utilises Config::Tiny).

The role of the plugin is to determine if an appropriate section exists for its own configuration.

If no appropriate configuration exists, then init must return undef.

If appropriate configuration does exist, then the plugin may start a POE::Session.

App::Metabase::Relayd will watch for a _child event indicating that it has gained a plugin child session. It will detach this child after making a note of the child's session ID which it will use to send the following events.

EVENTS

mbrd_received

ARG0 will be a HASHREF with the following keys:

archname
distfile
grade
osname
osversion
perl_version
textreport

ARG1 will be the IP address of the client that sent the report.

SEE ALSO

App::Metabase::Relayd

AUTHOR

Chris Williams <chris@bingosnet.co.uk>

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Chris Williams.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.