ansibleguy.sw_ansible_webui

Logo de AnsibleGuy-WebUI

Rol de Ansible - Ansible-WebUI

Rol para provisionar una WebUI básica para usar Ansible en un servidor Linux.

Cómprame un café

DESCARGO DE RESPONSABILIDAD: Esta WebUI es un proyecto comunitario no oficial. ¡No la confundas con el producto original de Ansible!

Estado de Prueba de Molecule Estado de Prueba de YamlLint Estado de Prueba de PyLint Estado de Prueba de Ansible-Lint Ansible Galaxy

Registros de Molecule: Corto, Completo

Probado en:

  • Debian 12

Instalación

# última versión
ansible-galaxy role install git+https://github.com/ansibleguy/sw_ansible_webui

# desde galaxy
ansible-galaxy install ansibleguy.sw_ansible_webui

# o a una ruta de rol personalizada
ansible-galaxy install ansibleguy.sw_ansible_webui --roles-path ./roles

# instalar dependencias
ansible-galaxy install -r requirements.yml

Uso

Configuración

Define la configuración según sea necesario:

Configuración mínima:

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

Opciones:

ansible_webui:
  manage:
    webserver: true  # instalar y configurar un nginx local con un certificado mínimo
    backup: true  # instalar un servicio para respaldo diario de la base de datos local (si la base de datos es gestionada)
    user: true  # crear el usuario del servicio 'ansible-webui'
    ansible_cfg: true  # provisionar /home/ansible-webui/ansible.cfg

  requirements:  # requisitos que tu entorno de ejecución necesita
    pip: ['httpx']  # módulos de python3
    collections: ['community.general']  # colecciones de ansible (si persistent_requirements=true)
    roles: []  # roles de ansible (si persistent_requirements=true)

  config:  # para más opciones ver: https://webui.ansibleguy.net/en/latest/usage/4_config.html#settings
    AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
    # AW_SECRET: '...'  # mínimo 30 caracteres; se usará uno aleatorio si no se proporciona

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

  nginx:
    ...   # configurar los ajustes del servidor web => ver: https://github.com/ansibleguy/infra_nginx

Es posible que quieras usar 'ansible-vault' para cifrar tus contraseñas:

ansible-vault encrypt_string

Ejecución

Ejecuta el playbook:

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

También hay algunas tags útiles disponibles:

  • config
  • webserver

Para depurar errores, puedes establecer la variable 'debug' en tiempo de ejecución:

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

Funcionalidad

  • Instalación de Paquetes

    • Python3, Python3-PIP, Python3-Virtualenv, Git, Git-LFS
    • AnsibleGuy-WebUI con sus dependencias de módulos de Python3
  • Configuración

    • Entorno virtual utilizado (/home/ansible-webui/venv)

    • Configuración por defecto:

      • Eliminar logs de más de 180 días
      • Retención de copias de seguridad de 30 días
    • Opt-in por defecto:

      • Instalación de módulos comunes de Python3 ('jmespath', 'netaddr', 'passlib', 'pywinrm', 'requests', 'cryptography')
      • Copias de seguridad locales diarias
      • Actualización automática de la App y Requisitos al iniciar el servicio
      • Proxy Nginx
      • Crear usuario del servicio

Información

  • Nota: este rol actualmente solo soporta sistemas basados en Debian

  • Nota: La mayoría de la funcionalidad del rol se puede activar o desactivar.

    Para todas las opciones disponibles, consulta la configuración predeterminada ubicada en el archivo de configuraciones principales!

  • Advertencia: No todas las configuraciones/variables que proporciones serán verificadas por su validez. Una mala configuración podría romper el rol.

Acerca del proyecto

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

Instalar
ansible-galaxy install ansibleguy.sw_ansible_webui
Licencia
other
Descargas
1.1k
Propietario
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg