entanet_devops.ansible_role_supervisor

Rol de Ansible: Supervisor

Estado de Construcción

Un Rol de Ansible que instala Supervisor en Linux.

Requisitos

Se debe tener instalado pip de Python. Si no está instalado, puedes usar el rol de Ansible geerlingguy.pip para instalar Pip antes de ejecutar este rol.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados (ver defaults/main.yml):

supervisor_version: latest

Instala una versión específica de Supervisor configurándola aquí. Consulta versiones disponibles de Supervisor en Pypi. latest instala la última versión estable.

supervisor_started: true
supervisor_enabled: true

Elige si deseas usar un script de inicio o la configuración de la unidad systemd para iniciar Supervisor cuando se instale y/o después de un arranque del sistema.

supervisor_config_path: /etc/supervisor

La ruta donde se almacenará la configuración de 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 es una lista vacía por defecto; puedes definir una lista de programas que serán gestionados por Supervisor. Si estableces state como present, se añadirá un archivo de configuración para el programa (nombrado [program-name-here].conf) en la ruta conf.d incluida por la configuración global de Supervisor. También puedes gestionar la configuración a nivel de programa por tu cuenta, fuera de este rol, si necesitas más flexibilidad.

supervisor_nodaemon: false

Establece en true si necesitas ejecutar Supervisor en primer plano.

supervisor_log_dir: /var/log/supervisor

La ubicación donde se almacenarán los registros de Supervisor.

supervisor_user: root
supervisor_password: 'mi_contraseña_secreta'

El usuario bajo el cual se ejecutará supervisord, y la contraseña que se utilizará al conectarse al servidor HTTP de Supervisor (ya sea para acceso a supervisorctl, o al ver la interfaz administrativa).

supervisor_unix_http_server_password_protect: true
supervisor_inet_http_server_password_protect: true

La protección por contraseña se puede desactivar para HTTP por Unix e Inet HTTP estableciendo estas variables a false. Esto desactivaría la protección por contraseña para supervisorctl también.

supervisor_unix_http_server_enable: true
supervisor_unix_http_server_socket_path: /var/run/supervisor.sock

Si se debe habilitar el servidor HTTP basado en socket UNIX, y el archivo de socket a utilizar si está habilitado.

Nota: Por defecto, este rol habilita un servidor HTTP sobre un socket UNIX que se puede acceder localmente usando el _user y _password definidos anteriormente. ¡Asegúrate de establecer una supervisor_password segura para prevenir accesos no autorizados! (O, si no necesitas el servidor HTTP ni usar supervisorctl, deberías desactivar el servidor HTTP de Unix estableciendo esta variable a false).

supervisor_inet_http_server_enable: false
supervisor_inet_http_server_port: '*:9001'

Si se debe habilitar el servidor HTTP basado en TCP, y la interfaz y puerto en los que el servidor debe escuchar si se habilita.

Dependencias

Ninguna.

Ejemplo de Playbook

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

Si necesitas usar supervisorctl, puedes usar ya sea el módulo supervisorctl integrado de Ansible para la gestión, o ejecutarlo así (teniendo en cuenta la ruta variable al directorio de configuración):

supervisorctl -c /etc/supervisor/supervisord.conf -u root -p [contraseña] status all

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2017 por Jeff Geerling, autor de Ansible for DevOps.

Acerca del proyecto

Supervisor (process state manager) for Linux.

Instalar
ansible-galaxy install entanet_devops.ansible_role_supervisor
Licencia
mit
Descargas
261
Propietario