Clone me, to create a new Haraka plugin!
These instructions will not self-destruct after use. Use and destroy.
See also, How to Write a Plugin and Plugins.md for additional plugin writing information.
Haraka plugins are named like haraka-plugin-something
. All the namespace after haraka-plugin-
is yours for the taking. Please check the Plugins page and a Google search to see what plugins already exist.
Once you've settled on a name, create the GitHub repo. On the template repo's main page, click the Use this template button and create your new repository. Then paste that URL into a local ENV variable with a command like this:
export MY_GITHUB_ORG=haraka
export MY_PLUGIN_NAME=haraka-plugin-SOMETHING
Clone and rename the template repo:
git clone git@github.com:haraka/$MY_PLUGIN_NAME.git
cd $MY_PLUGIN_NAME
Now you'll have a local git repo to begin authoring your plugin
Replaces all uses of the word template
with your plugin's name.
./redress.sh [something]
You'll then be prompted to update package.json and then force push this repo onto the GitHub repo you've created earlier.
cd /path/to/local/haraka
npm install haraka-plugin-template
echo "template" >> config/plugins
service haraka restart
If the default configuration is not sufficient, copy the config file from the distribution into your haraka config dir and then modify it:
cp node_modules/haraka-plugin-template/config/template.ini config/template.ini
$EDITOR config/template.ini