supervisor
Supervisor
Install and configure supervisor, you can add your own programs with yaml variables
This role is a part of my OPS project, follow this link to see it in action. OPS provides a lot of stuff, like a vagrant file for development VMs, playbooks for roles orchestration, inventory files, examples for roles configuration, ansible configuration file, and many more.
Compatibility
Tested and approved on :
- Debian jessie (8+)
- Ubuntu Trusty (14.04 LTS)
- Ubuntu Xenial (16.04 LTS)
Role Variables
# Supervisor install ocnfiguration
supervisor_packages:
- supervisor
supervisor_pip_packages:
- superlance
# Supervisor basic configuration
supervisor_user: root
supervisor_socket: /tmp/supervisor.sock
supervisor_pidfile: /var/run/supervisord.pid
supervisor_log_path: /var/log/supervisord
supervisor_log_file: "{{ supervisor_log_path }}/supervisord.log"
supervisor_http_host: "{{ ansible_host }}"
supervisor_http_port: 9988
supervisor_http_username: supervisor_user
supervisor_http_password: supervisor
# Supervisor programs
supervisor_programs: []
# Supervisor programs
supervisor_events: []
Example Playbook
- hosts: servers
roles:
- { role: jebovic.supervisor }
Example : config
# supervisor UI ip & port bindig
supervisor_user: supervisor
supervisor_http_host: 127.0.0.1
supervisor_http_port: 9988
# supervisor programs configuration
supervisor_programs:
traefik:
command: "{{ traefik_bin_path }} -c {{ traefik_config_dir }}/traefik.toml"
autostart: "true"
autorestart: "true"
stderr_logfile: "{{ supervisor_log_path }}/traefik-stderr.log"
stderr_logfile_maxbytes: 1MB
stderr_logfile_backups: 10
stdout_logfile: "{{ supervisor_log_path }}/traefik-stdout.log"
stdout_logfile_maxbytes: 1MB
stdout_logfile_backups: 10
user: root
consul:
command: "{{ consul_bin_path }} agent -ui -bind={{ ansible_host }} -client=0.0.0.0 -node={{ ansible_fqdn }} -bootstrap -server -http-port {{ consul_http_port }} -data-dir={{ consul_data_dir }} -config-dir={{ consul_config_dir }} -domain={{ ansible_fqdn }}."
autostart: "true"
autorestart: "true"
stderr_logfile: "{{ supervisor_log_path }}/consul-stderr.log"
stderr_logfile_maxbytes: 1MB
stderr_logfile_backups: 10
stdout_logfile: "{{ supervisor_log_path }}/consul-stdout.log"
stdout_logfile_maxbytes: 1MB
stdout_logfile_backups: 10
user: root
mailhog:
command: /usr/local/bin/mailhog -api-bind-addr :8025 -ui-bind-addr :8025
autostart: "true"
autorestart: "true"
stderr_logfile: "{{ supervisor_log_path }}/mailhog-stderr.log"
user: www-data
# supervisor events configuration (depend on superlance plugin installation)
supervisor_events:
httpok:
command: httpok -p mailhog http://localhost:8025
events: TICK_60
Tags
- supervisor_config : only update config and restart service
License
MIT
Author Information
Jérémy Baumgarth https://github.com/jebovic
About
Install and configure supervisor, you can add your own programs with yaml variables
Install
ansible-galaxy install jebovic/ansible-supervisor
License
mit
Downloads
2818
Owner