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/ansible-role-supervisor