Set up the latest or a specific version of supervisor in Debian-like systems.
pip
(will not installed)python
(will be installed)
-
supervisor_version
[default:latest
]: Supervisor version to install (e.g.latest
,3.3.1
) -
supervisor_unix_http_server_file
[default:/var/run/supervisor.sock
]: A path to a UNIX domain socket (e.g./tmp/supervisord.sock
) on which supervisor will listen for HTTP/XML-RPC requests.supervisorctl
uses XML-RPC to communicate with supervisord over this port -
supervisor_unix_http_server_chmod
[default:'0700'
]: Change the UNIX permission mode bits of the UNIX domain socket to this value at startup -
supervisor_unix_http_server_chown
[optional]: The user and group ofsupervisor_unix_http_server_file
file. Use the following format:user:group
-
supervisor_unix_http_server_username
[optional]: The username for authentication to the HTTP/XML-RPC server -
supervisor_unix_http_server_password
[optional]: The password for authentication to the HTTP/XML-RPC server. This can be a cleartext password, or can be specified as aSHA-1
hash if prefixed by the string{SHA}
-
supervisor_system_user
[default:root
]: Name of the user that should own the config file/directory -
supervisor_system_group
[default:root
]: Name of the group that should own the config file/directory -
supervisor_inet_http_server_enabled
[default:false
]: Whether or not to enable the HTTP server -
supervisor_inet_http_server_port
[default:9001
]: A TCP host:port value or (e.g.127.0.0.1:9001
) on which supervisor will listen for HTTP/XML-RPC requests.supervisorctl
will use XML-RPC to communicate with supervisord over this port -
supervisor_inet_http_server_username
[default:admin
]: The username required for authentication to this HTTP server Make sure to change! -
supervisor_inet_http_server_password
[default:'4ubA&Et=ASPe'
]: The password required for authentication to this HTTP server. This can be a cleartext password, or can be specified as a SHA-1 hash if prefixed by the string{SHA}
Make sure to change! -
supervisor_supervisord_nodaemon
[default:false
]: If true, supervisord will start in the foreground instead of daemonizing -
supervisor_supervisord_logfile
[default:/var/log/supervisor/supervisord.log
]: The path to the activity log of the supervisord process -
supervisor_supervisord_pidfile
[default:/var/run/supervisord.pid
]: The location in which supervisord keeps its pid file -
supervisor_supervisord_childlogdir
[default:/var/log/supervisor
]: The directory used forAUTO
child log files -
supervisor_supervisorctl_serverurl
[default:"unix://{{ supervisor_unix_http_server_file }}"
]: The URL that should be used to access the supervisord server, e.g.http://localhost:9001
. For UNIX domain sockets, useunix:///absolute/path/to/file.sock
-
supervisor_include
[default:'/etc/supervisor/conf.d/*.conf'
]: A (single) absolute file glob of files to include -
supervisor_programs_present
[default:{}
, seetemplates/etc/supervisor/conf.d/program.conf.j2
]: Program definitions -
supervisor_programs_present.{n}
[required]: Program name -
supervisor_programs_present.{n}.command
[required]: The command that will be run when this program is started -
supervisor_programs_present.{n}.directory
[optional]: A directory to which supervisord should temporarily chdir before exec’ing the child -
supervisor_programs_present.{n}.environment
[optional]: A list of key/value pairs comma separated that will be placed in the child process’ environment (e.g. 'KEY1="VALUE1",KEY2="VALUE2"') -
supervisor_programs_present.{n}.autostart
[optional, defaulttrue
]: If true, this program will start automatically when supervisord is started -
supervisor_programs_present.{n}.autorestart
[optional, defaultunexpected
]: Whether the process will be autorestarted (e.g.true
,false
) -
supervisor_programs_present.{n}.startretries
[optional]: The number of serial failure attempts that supervisord will allow when attempting to start the program before giving up -
supervisor_programs_present.{n}.startsecs
[optional]: The total number of seconds which the program needs to stay running after a startup to consider the start successful -
supervisor_programs_present.{n}.stdout_logfile
[optional]: Put process stdout output in this file -
supervisor_programs_present.{n}.stdout_logfile_maxbytes
[optional]: The maximum number of bytes that may be consumed bystdout_logfile
before it is rotated -
supervisor_programs_present.{n}.stderr_logfile
[optional]: Put process stderr output in this file -
supervisor_programs_present.{n}.stderr_logfile_maxbytes
[optional]: The maximum number of bytes before logfile rotation forstderr_logfile
-
supervisor_programs_present.{n}.user
[optional]: This UNIX user account will be used as the account which runs the program -
supervisor_programs_present.{n}.numprocs
[optional]: Supervisor will start as many instances of this program as named by numprocs -
supervisor_programs_present.{n}.process_name
[optional]: Process name, defaults to%(program_name)s-%(process_num)s
whennumprocs
> 1 -
supervisor_programs_present.{n}.stopsignal
[optional]: The signal used to kill the program when a stop is requested -
supervisor_programs_present.{n}.stopwaitsecs
[optional]: The number of seconds to wait for the OS to return aSIGCHILD
to supervisord after the program has been sent a stopsignal -
supervisor_programs_present.{n}.stopasgroup
[optional, defaultfalse
]: Iftrue
, the flag causes supervisor to send the stop signal to the whole process group and implieskillasgroup
istrue
-
supervisor_programs_present.{n}.killasgroup
[optional, defaultfalse
]: Iftrue
, when resorting to sendSIGKILL
to the program to terminate it send it to its whole process group instead, taking care of its children as well -
supervisor_programs_absent
[default:{}
]: Program definitions (to be removed) -
supervisor_groups_present
[default:{}
, seetemplates/etc/supervisor/conf.d/group.conf.j2
]: Group definitions -
supervisor_groups_present.{n}
[required]: Group name -
supervisor_groups_present.{n}.programs
[required]: List of programs -
supervisor_groups_present.{n}.priority
[optional]: A priority number -
supervisor_groups_absent
[default:{}
]: Group definitions (to be removed)
None
ansible-pip
(see)
---
- hosts: all
roles:
- supervisor
supervisor_programs_present:
foo:
command: 'sleep 10'
directory: /tmp
autostart: true
autorestart: true
startretries: 3
stdout_logfile: /tmp/foo.out
stdout_logfile_maxbytes: 0
stderr_logfile: /tmp/foo.err
stderr_logfile_maxbytes: 0
user: vagrant
numprocs: 8
process_name: '%(program_name)s-%(process_num)s'
bar:
command: 'sleep 10'
directory: /tmp
autostart: true
autorestart: true
startretries: 3
stdout_logfile: /tmp/bar.out
stdout_logfile_maxbytes: 0
stderr_logfile: /tmp/bar.err
stderr_logfile_maxbytes: 0
user: vboxadd
supervisor_groups_present:
foo-and-bar:
programs:
- foo
- bar
priority: 10
supervisor_groups_absent:
foo-and-bar: {}
MIT
Mischa ter Smitten
Are welcome!