ansibleguy.sw_ansible_webui
Rol de Ansible - Ansible-WebUI
Rol para provisionar una WebUI básica para usar Ansible en un servidor Linux.
DESCARGO DE RESPONSABILIDAD: Esta WebUI es un proyecto comunitario no oficial. ¡No la confundas con el producto original de Ansible!
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.
Ansible role to provision a basic WebUI for using Ansible on a linux server
ansible-galaxy install ansibleguy.sw_ansible_webui