ansibleguy.sw_ansible_webui

Logo AnsibleGuy-WebUI

Rola Ansible - Ansible-WebUI

Rola do tworzenia podstawowego interfejsu WebUI do używania Ansible na serwerze Linux.

Postaw mi kawę

ZASTRZEŻENIE: Ten interfejs WebUI to nieoficjalny projekt społecznościowy! Nie myl tego z podstawowym produktem Ansible!

Molecule Test Status YamlLint Test Status PyLint Test Status Ansible-Lint Test Status Ansible Galaxy

Logi Molecule: Krótkie, Pełne

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!

O projekcie

Ansible role to provision a basic WebUI for using Ansible on a linux server

Zainstaluj
ansible-galaxy install ansibleguy.sw_ansible_webui
Licencja
other
Pobrania
1.1k
Właściciel
guy@ansibleguy.net | GPG: https://badges.ansibleguy.net/public.gpg