entanet_devops.ansible_role_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ż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
_useri_password. Upewnij się, że ustawisz bezpiecznesupervisor_password, aby zapobiec nieautoryzowanemu dostępowi! (Lub, jeśli nie potrzebujesz serwera HTTP ani użyciasupervisorctl, 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 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.
Supervisor (process state manager) for Linux.
ansible-galaxy install entanet_devops.ansible_role_supervisor