geerlingguy.supervisor

Rol de Ansible: Supervisor

CI

Un rol de Ansible que instala Supervisor en Linux.

Requisitos

Python pip debe estar instalado. 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 los valores predeterminados (ver defaults/main.yml):

supervisor_version: ''

Instalar una versión específica de Supervisor configurando aquí. Consulta las versiones de Supervisor disponibles en Pypi. Si no se establece ninguna versión, se instalará la última versión estable de Supervisor cuando se ejecute el rol.

supervisor_started: true
supervisor_enabled: true

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

supervisor_config_path: /etc/supervisor

La ruta donde se debe 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 configuras state como present, se añadirá un archivo de configuración para el programa (nombrado [program-name-here].conf) a la ruta conf.d incluida en 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

Configura 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 el 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 de Unix e HTTP de Inet configurando estas variables a false. Esto deshabilitaría también la protección por contraseña para supervisorctl.

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

Si habilitar el servidor HTTP basado en socket UNIX y el archivo de socket a usar 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 evitar acceso no autorizado! (O, si no necesitas el servidor HTTP ni usar supervisorctl, deberías deshabilitar el servidor HTTP UNIX configurando esta variable a false).

supervisor_inet_http_server_enable: false
supervisor_inet_http_server_port: '*:9001'

Si habilitar el servidor HTTP basado en TCP, y la interfaz y el puerto en los que el servidor debe escuchar si está habilitado.

Dependencias

Ninguna.

Ejemplo de Playbook

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

Si necesitas usar supervisorctl, puedes usar el módulo supervisorctl incorporado de Ansible para la gestión, o ejecutarlo así (teniendo en cuenta la ruta de la variable a la carpeta 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 geerlingguy.supervisor
Licencia
mit
Descargas
553.6k
Propietario
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns