diff --git a/servers/puppet/modules/zulip/files/supervisord/supervisord.conf b/servers/puppet/modules/zulip/files/supervisord/supervisord.conf new file mode 100644 index 0000000000..afead15524 --- /dev/null +++ b/servers/puppet/modules/zulip/files/supervisord/supervisord.conf @@ -0,0 +1,28 @@ +; supervisor config file + +[unix_http_server] +file=/var/run/supervisor.sock ; (the path to the socket file) +chmod=0700 ; sockef file mode (default 0700) + +[supervisord] +logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) +pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) +childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP) + +; the below section must remain in the config file for RPC +; (supervisorctl/web interface) to work, additional interfaces may be +; added by defining them in separate rpcinterface: sections +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket + +; The [include] section can just contain the "files" setting. This +; setting can list multiple files (separated by whitespace or +; newlines). It can also contain wildcards. The filenames are +; interpreted as relative to this file. Included files *cannot* +; include files themselves. + +[include] +files = /etc/supervisor/conf.d/*.conf diff --git a/servers/puppet/modules/zulip/manifests/supervisor.pp b/servers/puppet/modules/zulip/manifests/supervisor.pp index 62ddcec61e..1c541a80d0 100644 --- a/servers/puppet/modules/zulip/manifests/supervisor.pp +++ b/servers/puppet/modules/zulip/manifests/supervisor.pp @@ -21,6 +21,16 @@ class zulip::supervisor { restart => "supervisorctl reload" } + file { "/etc/supervisor/supervisord.conf": + require => Package[supervisor], + ensure => file, + owner => "root", + group => "root", + mode => 644, + source => "puppet:///modules/zulip/supervisord/supervisord.conf", + notify => Service["supervisor"], + } + exec { "fix_supervisor_socket_permissions": command => "chown humbug:humbug /var/run/supervisor.sock", unless => "bash -c 'ls -ld /var/run/supervisor.sock | cut -f 3-4 -d\" \" | grep -q \"^humbug humbug$\"'",