ansibleguy.sw_ansible_webui
Rola Ansible - Ansible-WebUI
Rola do tworzenia podstawowego interfejsu WebUI do używania Ansible na serwerze Linux.
ZASTRZEŻENIE: Ten interfejs WebUI to nieoficjalny projekt społecznościowy! Nie myl tego z podstawowym produktem Ansible!
Testowane na:
- Debian 12
Instalacja
# najnowsza wersja
ansible-galaxy role install git+https://github.com/ansibleguy/sw_ansible_webui
# z galaxy
ansible-galaxy install ansibleguy.sw_ansible_webui
# lub do niestandardowej ścieżki ról
ansible-galaxy install ansibleguy.sw_ansible_webui --roles-path ./roles
# instalacja zależności
ansible-galaxy install -r requirements.yml
Użycie
Konfiguracja
Zdefiniuj konfigurację według potrzeb:
Minimalna konfiguracja:
ansible_webui:
config:
AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
Opcje:
ansible_webui:
manage:
webserver: true # instalacja i konfiguracja lokalnego nginx z certyfikatem min-ca
backup: true # instalacja usługi do codziennego lokalnego backupu bazy danych (jeśli baza jest zarządzana)
user: true # utworzenie użytkownika usługi 'ansible-webui'
ansible_cfg: true # dostarczenie pliku /home/ansible-webui/ansible.cfg
requirements: # wymagania twojego środowiska wykonawczego
pip: ['httpx'] # wszelkie moduły python3
collections: ['community.general'] # wszelkie kolekcje ansible (jeśli persistent_requirements=true)
roles: [] # wszelkie role ansible (jeśli persistent_requirements=true)
config: # dla opcji zobacz: https://webui.ansibleguy.net/en/latest/usage/4_config.html#settings
AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
# AW_SECRET: '...' # minimum 30 znaków; jeśli nie podano, użyty zostanie losowy
ansible_config: # /home/ansible-webui/ansible.cfg => jeśli manage.ansible_cfg=true; zobacz: https://docs.ansible.com/ansible/latest/reference_appendices/config.html
defaults: # sekcja
remote_port: 48322
vault_id_match: 'webui'
diff:
context: 2
nginx:
... # skonfiguruj ustawienia serwera www => zobacz: https://github.com/ansibleguy/infra_nginx
Możesz użyć 'ansible-vault', aby zaszyfrować swoje hasła:
ansible-vault encrypt_string
Wykonanie
Uruchom playbook:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml
Dostępne są również użyteczne tagi:
- config
- webserver
Aby debugować błędy - możesz ustawić zmienną 'debug' w czasie wykonywania:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes
Funkcjonalność
Instalacja pakietów
- Python3, Python3-PIP, Python3-Virtualenv, Git, Git-LFS
- AnsibleGuy-WebUI z jego zależnościami modułów Python3
Konfiguracja
Używane środowisko wirtualne (
/home/ansible-webui/venv
)Domyślna konfiguracja:
- Usuwanie logów starszych niż 180 dni
- Retencja kopii zapasowych przez 30 dni
Domyślne opcje:
- Instalacja popularnych modułów Python3 ('jmespath', 'netaddr', 'passlib', 'pywinrm', 'requests', 'cryptography')
- Codzienne lokalne kopie zapasowe
- Automatyczna aktualizacja aplikacji i wymagań przy uruchomieniu usługi
- Proxy Nginx
- Utworzenie użytkownika usługi
Informacje
Uwaga: ta rola obecnie wspiera tylko systemy oparte na Debianie
Uwaga: Większość funkcji roli można włączyć lub wyłączyć.
Wszelkie dostępne opcje - zobacz w domyślnej konfiguracji znajdującej się w głównym pliku domyślnym!
Ostrzeżenie: Nie wszystkie ustawienia/zmienne, które podasz, będą sprawdzane pod kątem poprawności. Zła konfiguracja może spowodować uszkodzenie roli!
Ansible role to provision a basic WebUI for using Ansible on a linux server
ansible-galaxy install ansibleguy.sw_ansible_webui