entanet_devops.ansible_role_supervisor

Rola Ansible: Supervisor

Status budowy

Rola Ansible, która instaluje Supervisor na systemie Linux.

Wymagania

Python pip powinien być zainstalowany. Jeśli nie jest zainstalowany, możesz użyć roli Ansible geerlingguy.pip, aby najpierw zainstalować Pip przed uruchomieniem tej roli.

Zmienne roli

Dostępne zmienne są wymienione poniżej, razem z wartościami domyślnymi (zobacz defaults/main.yml):

supervisor_version: latest

Zainstaluj konkretną wersję Supervisor, ustawiając to tutaj. Zobacz dostępne wersje Supervisor na Pypi. latest instaluje najnowszą stabilną wersję.

supervisor_started: true
supervisor_enabled: true

Wybierz, czy chcesz używać skryptu inicjalizacyjnego czy konfiguracji jednostki systemd do uruchamiania Supervisor po zainstalowaniu i/lub po uruchomieniu systemu.

supervisor_config_path: /etc/supervisor

Ścieżka, w której powinny być przechowywane pliki konfiguracyjne 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 jest domyślnie pustą listą; możesz zdefiniować listę programów, które będą zarządzane przez Supervisor. Jeśli ustawisz state na present, plik konfiguracyjny dla programu (nazywany [nazwa-programu-here].conf) zostanie dodany do ścieżki conf.d, włączonej przez globalną konfigurację Supervisor. Możesz także zarządzać konfiguracją na poziomie programu samodzielnie, poza tą rolą, jeśli potrzebujesz większej elastyczności.

supervisor_nodaemon: false

Ustaw na true, jeśli potrzebujesz uruchomić Supervisor w trybie foreground.

supervisor_log_dir: /var/log/supervisor

Miejsce, w którym będą przechowywane logi Supervisor.

supervisor_user: root
supervisor_password: 'moje_tajne_hasło'

Użytkownik, pod którym będzie działał supervisord, oraz hasło do użycia przy łączeniu się z serwerem HTTP Supervisor (zarówno do dostępu supervisorctl, jak i przy przeglądaniu interfejsu administracyjnego).

supervisor_unix_http_server_password_protect: true
supervisor_inet_http_server_password_protect: true

Ochronę hasłem można wyłączyć dla Unix HTTP i Inet HTTP, ustawiając te zmienne na false. To wyłączy również ochronę hasłem dla supervisorctl.

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

Czy włączyć serwer HTTP oparty na gniazdku UNIX oraz plik gniazdka do użycia, jeśli jest włączony.

Uwaga: Domyślnie ta rola włącza serwer HTTP przez gniazdo UNIX, który można lokalnie wykorzystywać, używając wcześniej zdefiniowanych _user i _password. Upewnij się, że ustawisz bezpieczne supervisor_password, aby zapobiec nieautoryzowanemu dostępowi! (Lub, jeśli nie potrzebujesz serwera HTTP ani użycia supervisorctl, powinieneś wyłączyć serwer HTTP UNIX, ustawiając tę zmienną na false).

supervisor_inet_http_server_enable: false
supervisor_inet_http_server_port: '*:9001'

Czy włączyć serwer HTTP oparty na TCP oraz interfejs i port, na którym serwer powinien nasłuchiwać, jeśli jest włączony.

Zależności

Brak.

Przykład playbooka

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

Jeśli potrzebujesz używać supervisorctl, możesz skorzystać z wbudowanego modułu supervisorctl Ansible do zarządzania lub uruchomić go w ten sposób (biorąc pod uwagę zmienną ścieżkę do katalogu konfiguracyjnego):

supervisorctl -c /etc/supervisor/supervisord.conf -u root -p [hasło] status all

Licencja

MIT / BSD

Informacje o autorze

Ta rola została stworzona w 2017 roku przez Jeffa Geerlinga, autora Ansible for DevOps.

Zainstaluj
ansible-galaxy install entanet_devops.ansible_role_supervisor
Licencja
mit
Pobrania
261
Właściciel