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.