Supervisor buildout that aggregates multiple supervisor configurations into one.
This supervisor merges multiple supervisord.conf files into a single one. The config file generated by this buildout serves as the source for the main sections, and don't generates any [program] section.
Different sources for extra config files can be defined, which we'll be parsed looking for [program] sections, and ignoring the default ones.
If repeated sections are found, there will be defined only once, with options merged. First found section options have preference over the rest, so won't be overwritten.
First install the buildout on a folder, let's assume /var/supervisor:
cd /var git clone git@github.com:UPCnet/supervisor
A customizeme.cfg will be generated to configure the password of this supervisor instance. If you wish to configure other settings such as username, port, you can set it in this file too. Defaults are located in the buildout.cfg file.
The parts section must be filled with full paths to ´´supervisord.conf´´ files, or paths where to look recursively for config files. Both options can be used at the same time, for example:
[supervisor]
parts = /var/foo/parts/supervisor/supervisord.conf
/var/bar
In this example, all supervisord.conf files found inside ``/var/bar´´ and any subdirectories will be used.
Once configured, execute the buildout to generate the main supervisor config file:
./bin/buildout
And then execute the config script to merge all defined config files.
./supervisor_config
parts/supervisor/supervisord.conf is used both for source and destination.