ansibleguy.sw_ansible_webui

<a href="https://github.com/ansibleguy/webui">
  <img src="https://raw.githubusercontent.com/ansibleguy/webui/latest/src/ansibleguy-webui/aw/static/img/logo.svg" alt="AnsibleGuy-WebUI Logo" width="300"/>
</a>

# Ansible Rolle - Ansible-WebUI

Rolle zur Bereitstellung [einer einfachen WebUI zur Nutzung von Ansible](https://github.com/ansibleguy/webui) auf einem Linux-Server.

<a href='https://ko-fi.com/ansible0guy' target='_blank'><img height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Kauf mir einen Kaffee' />

**HAFTUNGSAUSSCHLUSS**: Diese WebUI ist ein **inoffizielles Community-Projekt**! Verwechseln Sie es nicht mit dem normalen [Ansible](https://ansible.com/) Produkt!

[![Molecule Test Status](https://badges.ansibleguy.net/sw_ansible_webui.molecule.svg)](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/molecule.sh.j2)
[![YamlLint Test Status](https://badges.ansibleguy.net/sw_ansible_webui.yamllint.svg)](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/yamllint.sh.j2)
[![PyLint Test Status](https://badges.ansibleguy.net/sw_ansible_webui.pylint.svg)](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/pylint.sh.j2)
[![Ansible-Lint Test Status](https://badges.ansibleguy.net/sw_ansible_webui.ansiblelint.svg)](https://github.com/ansibleguy/_meta_cicd/blob/latest/templates/usr/local/bin/cicd/ansiblelint.sh.j2)
[![Ansible Galaxy](https://badges.ansibleguy.net/galaxy.badge.svg)](https://galaxy.ansible.com/ui/standalone/roles/ansibleguy/sw_ansible_webui)

Molecule Logs: [Kurz](https://badges.ansibleguy.net/log/molecule_sw_ansible_webui_test_short.log), [Voll](https://badges.ansibleguy.net/log/molecule_sw_ansible_webui_test.log)

**Getestet:**
* Debian 12

## Installation

```bash
# aktuellste Version
ansible-galaxy role install git+https://github.com/ansibleguy/sw_ansible_webui

# aus der Galaxy
ansible-galaxy install ansibleguy.sw_ansible_webui

# oder zu einem benutzerdefinierten Rollen-Pfad
ansible-galaxy install ansibleguy.sw_ansible_webui --roles-path ./roles

# Abhängigkeiten installieren
ansible-galaxy install -r requirements.yml

Nutzung

Konfiguration

Definieren Sie die Konfiguration nach Bedarf:

Minimale Konfiguration:

ansible_webui:
  config:
    AW_HOSTNAMES: 'ansible.template.ansibleguy.net'

Optionen:

ansible_webui:
  manage:
    webserver: true  # lokalen nginx mit minimalem CA-Zertifikat installieren und konfigurieren
    backup: true  # Dienst für tägliche lokale Datenbanksicherung installieren (wenn die Datenbank verwaltet wird)
    user: true  # Dienstbenutzer 'ansible-webui' erstellen
    ansible_cfg: true  # /home/ansible-webui/ansible.cfg bereitstellen

  requirements:  # Anforderungen, die Ihre Ausführungsumgebung benötigt
    pip: ['httpx']  # beliebige Python3-Module
    collections: ['community.general']  # beliebige Ansible-Sammlungen (wenn persistent_requirements=true)
    roles: []  # beliebige Ansible-Rollen (wenn persistent_requirements=true)

  config:  # für Optionen siehe: https://webui.ansibleguy.net/en/latest/usage/4_config.html#settings
    AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
    # AW_SECRET: '...'  # mindestens 30 Zeichen; eins wird zufällig verwendet, wenn kein anderes bereitgestellt wird

  ansible_config:  # /home/ansible-webui/ansible.cfg => wenn manage.ansible_cfg=true; siehe: https://docs.ansible.com/ansible/latest/reference_appendices/config.html
    defaults:  # Abschnitt
      remote_port: 48322
      vault_id_match: 'webui'
    diff:
      context: 2

  nginx:
    ...   # konfigurieren Sie die Webserver-Einstellungen => siehe: https://github.com/ansibleguy/infra_nginx

Sie könnten 'ansible-vault' verwenden, um Ihre Passwörter zu verschlüsseln:

ansible-vault encrypt_string

Ausführung

Führen Sie das Playbook aus:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml

Es sind auch einige nützliche Tags verfügbar:

  • config
  • webserver

Um Fehler zu debuggen - können Sie die 'debug'-Variable zur Laufzeit festlegen:

ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes

Funktionalität

  • Paketinstallation

    • Python3, Python3-PIP, Python3-Virtualenv, Git, Git-LFS
    • AnsibleGuy-WebUI mit seinen Python3-Modulabhängigkeiten
  • Konfiguration

    • Virtuelle Umgebung genutzt (/home/ansible-webui/venv)

    • Standardkonfiguration:

      • Protokolle älter als 180 Tage löschen
      • Backup-Aufbewahrung 30 Tage
    • Standardoptionen:

      • Installation gängiger Python3-Module ('jmespath', 'netaddr', 'passlib', 'pywinrm', 'requests', 'cryptography')
      • Tägliche lokale Backups
      • Automatische Aktualisierung von App und Anforderungen beim Start des Dienstes
      • Nginx-Proxy
      • Dienstbenutzer erstellen

Informationen

  • Hinweis: Diese Rolle unterstützt derzeit nur Debian-basierte Systeme

  • Hinweis: Die meisten Funktionen der Rolle können aktiviert oder deaktiviert werden.

    Für alle verfügbaren Optionen - siehe die Standardkonfiguration in der Hauptstandarddatei!

  • Warnung: Nicht jede Einstellung/Variable, die Sie bereitstellen, wird auf Gültigkeit überprüft. Eine schlechte Konfiguration könnte die Rolle brechen!

```

Über das Projekt

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

Installieren
ansible-galaxy install ansibleguy.sw_ansible_webui
GitHub Repository
Lizenz
other
Downloads
1.1k
Besitzer
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg