supervisor

Ansible Роль: Supervisor

CI

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
Лицензия
mit
Загрузки
488027
Владелец
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns