geerlingguy.supervisor
Rola Ansible: Supervisor
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
_useri_passwordzdefiniowanych wcześniej. Upewnij się, że masz ustawione bezpiecznesupervisor_password, aby zapobiec nieautoryzowanemu dostępowi! (Lub, jeśli nie potrzebujesz serwera HTTP ani korzystać zsupervisorctl, powinieneś wyłączyć serwer HTTP UNIX, ustawiając tę zmienną nafalse).
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.
Supervisor (process state manager) for Linux.
ansible-galaxy install geerlingguy.supervisor