ansible_role_supervisor

Ansible Роль: Supervisor

Статус сборки

Это Ansible роль, которая устанавливает Supervisor на Linux.

Требования

Python pip должен быть установлен. Если он еще не установлен, вы можете использовать роль Ansible geerlingguy.pip для его установки перед запуском этой роли.

Переменные роли

Доступные переменные перечислены ниже, вместе с их значениями по умолчанию (см. defaults/main.yml):

supervisor_version: latest

Установите конкретную версию Supervisor, указав ее здесь. См. доступные версии Supervisor на Pypi. latest устанавливает последнюю стабильную версию.

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 по умолчанию является пустым списком; вы можете определить список program для управления Supervisor. Если вы установите state на present, то файл конфигурации программы (с названием [имя-программы].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'

Необходимо ли включать HTTP-сервер на основе TCP и интерфейс и порт, на которых сервер должен слушать, если включен.

Зависимости

Нет.

Пример плейбука

- hosts: all
  roles:
    - geerlingguy.pip
    - geerlingguy.supervisor

Если вам нужно использовать supervisorctl, вы можете либо воспользоваться встроенным модулем supervisorctl от Ansible для управления, либо запустить его так (учитывая переменную путь к каталогу конфигурации):

supervisorctl -c /etc/supervisor/supervisord.conf -u root -p [пароль] status all

Лицензия

MIT / BSD

Информация об авторе

Эта роль была создана в 2017 году Джеффом Гирлингом, автором Ansible для DevOps.

О проекте

Supervisor (process state manager) for Linux.

Установить
ansible-galaxy install entanet-devops/ansible-role-supervisor
Лицензия
mit
Загрузки
252
Владелец