ansibleguy.sw_ansible_webui

Logo AnsibleGuy-WebUI

Rôle Ansible - Ansible-WebUI

Rôle pour provisionner une interface Web de base pour utiliser Ansible sur un serveur Linux.

Achetez-moi un café

AVERTISSEMENT : Cette WebUI est un projet communautaire non officiel ! Ne la confondez pas avec le produit Ansible standard !

Statut du test Molecule Statut du test YamlLint Statut du test PyLint Statut du test Ansible-Lint Ansible Galaxy

Logs de Molecule : Court, Complet

Testé :

  • Debian 12

Installation

# dernière version
ansible-galaxy role install git+https://github.com/ansibleguy/sw_ansible_webui

# depuis galaxy
ansible-galaxy install ansibleguy.sw_ansible_webui

# ou vers un chemin de rôle personnalisé
ansible-galaxy install ansibleguy.sw_ansible_webui --roles-path ./roles

# installer les dépendances
ansible-galaxy install -r requirements.yml

Utilisation

Configuration

Définissez la configuration selon vos besoins :

Configuration minimale :

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

Options :

ansible_webui:
  manage:
    webserver: true  # installer et configurer un nginx local avec un certificat min-ca
    backup: true  # installer un service pour une sauvegarde locale quotidienne de la base de données (si la base de données est gérée)
    user: true  # créer un utilisateur de service 'ansible-webui'
    ansible_cfg: true  # provisionner /home/ansible-webui/ansible.cfg

  requirements:  # exigences dont votre environnement d'exécution a besoin
    pip: ['httpx']  # modules python3
    collections: ['community.general']  # collections ansible (si persistent_requirements=true)
    roles: []  # rôles ansible (si persistent_requirements=true)

  config:  # pour les options, voir : https://webui.ansibleguy.net/en/latest/usage/4_config.html#settings
    AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
    # AW_SECRET: '...'  # minimum 30 caractères ; un aléatoire sera utilisé si aucun n'est fourni

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

  nginx:
    ...   # configurer les paramètres du serveur web => voir : https://github.com/ansibleguy/infra_nginx

Vous pouvez utiliser 'ansible-vault' pour chiffrer vos mots de passe :

ansible-vault encrypt_string

Exécution

Exécutez le playbook :

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

Il existe également quelques tags utiles disponibles :

  • config
  • webserver

Pour déboguer des erreurs, vous pouvez définir la variable 'debug' au moment de l'exécution :

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

Fonctionnalités

  • Installation de paquets

    • Python3, Python3-PIP, Python3-Virtualenv, Git, Git-LFS
    • AnsibleGuy-WebUI avec ses dépendances en modules Python3
  • Configuration

    • Environnement virtuel utilisé (/home/ansible-webui/venv)

    • Configuration par défaut :

      • Nettoyage des logs de plus de 180 jours
      • Rétention des sauvegardes de 30 jours
    • Options par défaut :

      • Installation de modules Python3 courants ('jmespath', 'netaddr', 'passlib', 'pywinrm', 'requests', 'cryptography')
      • Sauvegardes locales quotidiennes
      • Auto-Mise à jour de l'application et des exigences au démarrage du service
      • Proxy Nginx
      • Création d'un utilisateur de service

Informations

  • Remarque : ce rôle ne prend actuellement en charge que les systèmes basés sur Debian

  • Remarque : La plupart des fonctionnalités du rôle peuvent être activées ou désactivées.

    Pour toutes les options disponibles, consultez le fichier de configuration par défaut situé dans le fichier principal de configuration !

  • Avertissement : Chaque paramètre/variable que vous fournissez ne sera pas vérifié pour sa validité. Une mauvaise configuration pourrait casser le rôle !

À propos du projet

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

Installer
ansible-galaxy install ansibleguy.sw_ansible_webui
Licence
other
Téléchargements
1.1k
Propriétaire
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg