This puppet module automates installation/management of supervisord and programs that it will control.
NOTE: This will install supervisord v3.x.x + superlance plugins. There are no RPM packages, as of the time of writing, for new versions of supervisord so this modulle installs it using python's pip.
Tested on CentOS 6.4, Ubuntu 12.04 and AWS Linux.
This module adheres to Semantic Versioning 2.0.0-rc.2.
- eventlisteners
See supervisord manual on list of valid values here.
supervisor::program { 'node-app':
ensure => present,
enable => true,
command => '/usr/bin/node /home/ec2-user/modules/app.js',
directory => '/home/ec2-user/modules/',
environment => 'NODE_ENV=testing',
user => 'ec2-user',
group => 'ec2-user',
logdir_mode => '0770',
}
# enable crashmail
supervisor::program { 'node-app':
ensure => present,
enable => true,
command => '/usr/bin/node /home/ec2-user/modules/app.js',
directory => '/home/ec2-user/modules/',
environment => 'NODE_ENV=testing',
user => 'ec2-user',
group => 'ec2-user',
logdir_mode => '0770',
crashmail => [
$processname = 'app' ,
$subject_header = 'My Project Name',
$mail_address = 'myemail@example.com' ]
}
- for RHEL based distros, this requires the EPEL repo.
This module was inspired by this work. It doesn't support CentOS and AWS Linux so I had to modify it a bit.