geerlingguy.supervisor
Ansible Роль: Supervisor
Ansible роль, которая устанавливает Supervisor на Linux.
Требования
Должен быть установлен Python pip. Если он еще не установлен, вы можете использовать роль Ansible geerlingguy.pip для установки Pip перед запуском этой роли.
Переменные роли
Доступные переменные перечислены ниже с значениями по умолчанию (смотрите defaults/main.yml):
supervisor_version: ''
Установить конкретную версию Supervisor, указав ее здесь. Смотрите доступные версии Supervisor на Pypi. Если версия не указана, будет установлена последняя стабильная версия Supervisor при запуске роли.
supervisor_started: true
supervisor_enabled: true
Выбор, использовать ли скрипт инициализации или конфигурацию единицы systemd для запуска Supervisor при установке и/или после загрузки системы.
supervisor_config_path: /etc/supervisor
Путь, где должно храниться конфигурация Supervisor.
supervisor_programs:
- name: 'foo'
command: /bin/cat
state: present
- name: 'apache'
command: apache2ctl -DFOREGROUND
state: present
configuration: |
autostart=true
autorestart=true
startretries=1
startsecs=1
redirect_stderr=true
stderr_logfile=/var/log/apache-err.log
stdout_logfile=/var/log/apache-out.log
user=root
killasgroup=true
stopasgroup=true
supervisor_programs по умолчанию является пустым списком; здесь вы можете определить список программ, которые будут управляться Supervisor. Если вы установите state в present, то конфигурационный файл для программы (с именем [program-name-here].conf) будет добавлен в путь conf.d, включенный в глобальную конфигурацию Supervisor. Вы также можете самостоятельно управлять конфигурацией программного уровня вне этой роли, если вам нужна большая гибкость.
supervisor_nodaemon: false
Установите в true, если необходимо запускать Supervisor в переднем плане.
supervisor_log_dir: /var/log/supervisor
Место, где будут храниться логи Supervisor.
supervisor_user: root
supervisor_password: 'my_secret_password'
Пользователь, под которым будет запускаться supervisord, и пароль, который будет использоваться при подключении к HTTP-серверу Supervisor (либо для доступа к supervisorctl, либо при просмотре административного интерфейса).
supervisor_unix_http_server_password_protect: true
supervisor_inet_http_server_password_protect: true
Защиту паролем можно отключить для Unix HTTP и Inet HTTP, установив эти переменные в false. Это также отключит защиту паролем для supervisorctl.
supervisor_unix_http_server_enable: true
supervisor_unix_http_server_socket_path: /var/run/supervisor.sock
Необходимо ли включить HTTP-сервер на базе UNIX-сокета и используемый сокет, если это включено.
Примечание: По умолчанию эта роль включает HTTP-сервер через UNIX-сокет, который можно получить локально, используя ранее определенные
_userи_password. Убедитесь, что вы установили надежныйsupervisor_password, чтобы предотвратить несанкционированный доступ! (Или, если вам не нужен HTTP-сервер и не нужно использоватьsupervisorctl, вы можете отключить UNIX HTTP-сервер, установив эту переменную вfalse).
supervisor_inet_http_server_enable: false
supervisor_inet_http_server_port: '*:9001'
Необходимо ли включить TCP-основанный HTTP-сервер, и интерфейс и порт, на которых сервер должен слушать, если это включено.
Зависимости
Нет.
Пример Playbook
- hosts: all
roles:
- geerlingguy.pip
- geerlingguy.supervisor
Если вам нужно использовать supervisorctl, вы можете либо использовать встроенный модуль supervisorctl Ansible для управления, либо запустить его следующим образом (учитывая путь к конфигурационному каталогу):
supervisorctl -c /etc/supervisor/supervisord.conf -u root -p [password] status all
Лицензия
MIT / BSD
Информация об авторе
Эта роль была создана в 2017 году Джеффом Гирлингом, автором Ansible for DevOps.
Supervisor (process state manager) for Linux.
ansible-galaxy install geerlingguy.supervisor