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
_user
i_password
zdefiniowanych 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