geerlingguy.supervisor

Rola Ansible: Supervisor

CI

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

Wymagania

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

Zmienne roli

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

supervisor_version: ''

Zainstaluj konkretną wersję Superwizora, ustawiając ją tutaj. Zobacz dostępne wersje Superwizora na Pypi. Jeśli żadna wersja nie jest ustawiona, zainstaluje najnowszą stabilną wersję Superwizora podczas uruchamiania tej roli.

supervisor_started: true
supervisor_enabled: true

Wybierz, czy używać skryptu inicjalizacyjnego czy konfiguracji jednostki systemd, aby uruchomić Superwizora po zainstalowaniu i/lub po uruchomieniu systemu.

supervisor_config_path: /etc/supervisor

Ścieżka, w której powinny być przechowywane konfiguracje Superwizora.

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 określić listę programów, które mają być zarządzane przez Superwizora. Jeśli ustawisz state na present, to plik konfiguracyjny dla programu (nazwany [nazwa-programu-here].conf) zostanie dodany do ścieżki conf.d zawartej w globalnej konfiguracji Superwizora. Możesz również zarządzać konfiguracją na poziomie programów samodzielnie, poza tą rolą, jeśli potrzebujesz większej elastyczności.

supervisor_nodaemon: false

Ustaw na true, jeśli musisz uruchomić Superwizora w trybie foreground.

supervisor_log_dir: /var/log/supervisor

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

supervisor_user: root
supervisor_password: 'moje_tajne_hasło'

Użytkownik, pod którym będzie uruchamiany supervisord, oraz hasło do używania przy łączeniu się z serwerem HTTP Superwizora (zarówno do dostępu supervisorctl, jak i podczas przeglądania 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. Spowoduje to również wyłączenie ochrony 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 gniazdkach UNIX oraz ścieżkę do pliku gniazdka, jeśli jest włączony.

Uwaga: Domyślnie, ta rola włącza serwer HTTP przez gniazdo UNIX, do którego można uzyskać dostęp lokalnie używając _user i _password zdefiniowanych wcześniej. Upewnij się, że masz ustawione bezpieczne supervisor_password, aby zapobiec nieautoryzowanemu dostępowi! (Lub, jeśli nie potrzebujesz serwera HTTP ani korzystać z 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 skryptu

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

Jeśli potrzebujesz korzystać z supervisorctl, możesz użyć wbudowanego modułu supervisorctl w Ansible do zarządzania, lub uruchomić go w ten sposób (uwzględniając zmienną ścieżki 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 książki Ansible for DevOps.

Zainstaluj
ansible-galaxy install geerlingguy.supervisor
Licencja
mit
Pobrania
553.6k
Właściciel
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns