Commit Graph

5 Commits

Author SHA1 Message Date
Hemna c39fddef67 Updated docker-compose
This patch update the docker-compose file to use the
host system's $HOME/.config/aprsd directory as the container's
config directory by default.
2020-12-20 16:46:19 -05:00
Hemna 0992ab8176 Updated the aprsd-slack-plugin required version
this patch updates the docker-compose file to use
the 1.0.2 or > version of aprsd-slack-plugin
2020-12-20 15:29:16 -05:00
Hemna 861fde6f83 Updates for building containers
This patch updates the Dockerfile for building the official container
image and includes the ability to load external pypi modules as plugins
at container startup.
2020-12-15 10:32:53 -05:00
Hemna d09a66006b Created plugin.py for Command Plugins
This patch adds the new APRSD Command Plugin architecture.
All Comand plugins must implement the same object API, which includes
plugin object is subclass of APRSDPluginBase
version attribute
command_regex attribute
command method

When an APRS command is detected, then the regex is run against
the command.  If the command_regex matches, then the plugin's
command() method will be called.   If the command() method returns
a string, then that string is sent as a reply to the APRS caller.

A new aprs.yml config section is added to support selecting
which plugins to enable.

If you want all plugins enabled, then omit "enabled_plugins" entirely
from the aprs section of the config.

To load custom plugins:
1) create a directory with an __init__.py file
2) Add a plugin.py file that contains your plugin

Look at the exmaples directory for an example plugin.
2020-12-13 20:57:30 -05:00
Hemna 00d99bc2c4 Refactor networking and commands
This patch refactors the socket management
to use select, as well as refactor all of the
commands into a COMMAND_ENVELOPE dictionary.

This patch also adds the Dockerfile and
docker-compose.yml files
2020-12-11 19:29:18 -05:00