GuillaumeSmaha.gluu-customization
Ansible Gluu: Rol de personalización
gluu-customization es un rol de Ansible para personalizar fácilmente archivos en un servidor Gluu, copiando páginas XHTML, imágenes, recursos de estilo o editando archivos WAR para actualizar traducciones, por ejemplo.
- Requisitos
- Instalación
- Actualizar
- Variables del rol
- Despliegue
- Ejemplo de Playbook
- Proyectos de muestra
Historia
El servidor de gestión de acceso y autenticación de código abierto de Gluu permite a las organizaciones ofrecer inicio de sesión único, autenticación fuerte y centralización.
Requisitos
Para realizar el despliegue, necesitarás:
- Ansible en tu máquina de despliegue
Instalación
gluu-customization es un rol de Ansible distribuido globalmente a través de Ansible Galaxy. Para instalar el rol gluu-customization, puedes usar el siguiente comando.
$ ansible-galaxy install GuillaumeSmaha.gluu-customization
Actualizar
Si deseas actualizar el rol, necesitas pasar el parámetro --force al instalar. Por favor, revisa el siguiente comando:
$ ansible-galaxy install --force GuillaumeSmaha.gluu-customization
Variables del rol
vars:
# Define una versión personalizada del paquete a instalar.
# Para obtener una lista de versiones de paquetes disponibles visita: https://gluu.org/docs/ce/
gluu_version: 3.1.4
# Lista de archivos para copiar en /etc/gluu/conf dentro del contenedor Gluu
# Se puede usar plantilla Jinja
# Ejemplo:
# gluu_copy_configuration_files:
# - 'template/configuration/auth_multi_ldap.json'
gluu_copy_configuration_files:
# Lista de páginas XHTML para copiar en el directorio /etc/gluu/jetty/{{ module }}/custom/pages
# Hay un parámetro opcional 'dest' disponible
# Se puede usar plantilla Jinja; por lo que es posible usar rutas relativas desde el directorio 'templates'
# Ejemplo:
# gluu_copy_pages:
# oxauth:
# - path: 'template/pages/login.xhtml'
# - path: 'template/pages/login_template.xhtml'
# dest: 'WEB-INF/incl/layout/login-template.xhtml'
gluu_copy_pages:
# Lista de recursos para páginas a copiar en el directorio /etc/gluu/jetty/{{ module }}/custom/static
# No se puede usar plantilla Jinja. Por lo tanto, debes especificar una ruta absoluta.
# Ejemplo:
# gluu_copy_resources:
# oxauth:
# - path: '{{ playbook_dir }}/templates/custom/oxauth/static/logo.svg'
# dest: 'img/logo.svg'
# - path: '{{ playbook_dir }}/templates/custom/oxauth/static/error.png'
# dest: 'img/error.png'
gluu_copy_resources:
# Lista de archivos a copiar en el archivo WAR.
# El archivo WAR se descomprimirá, los archivos se copiarán y el archivo se volverá a crear.
# Se puede usar plantilla Jinja; por lo que es posible usar rutas relativas desde el directorio 'templates'
# Ejemplo para personalizar idiomas disponibles y traducción:
# gluu_customize_wars:
# oxauth:
# - path: 'wars/oxauth/messages_fr.properties'
# dest: 'WEB-INF/classes/messages_fr.properties'
# - path: 'wars/oxauth/messages_en.properties'
# dest: 'WEB-INF/classes/messages_en.properties'
# - path: 'wars/oxauth/faces-config.xml'
# dest: 'WEB-INF/faces-config.xml'
gluu_customize_wars:
Despliegue
Para desplegar, necesitas realizar algunos pasos:
- Crear un nuevo archivo
hosts
. Consulta la documentación de inventario de ansible si necesitas ayuda. - Crear un nuevo playbook para desplegar tu aplicación, por ejemplo,
deploy.yml
. - Configurar las variables del rol (ver Variables del rol).
- Incluir el rol
GuillaumeSmaha.gluu-customization
como parte de un play. - Ejecutar el playbook de despliegue.
ansible-playbook -i hosts deploy.yml
Si todo se ha configurado correctamente, este comando instalará Gluu Cluster Manager en el host.
Ejemplo de Playbook
En la carpeta de ejemplo, puedes ver un proyecto de ejemplo que muestra cómo desplegar.
Para ejecutarlo, necesitarás tener Vagrant y el rol instalado. Consulta https://www.vagrantup.com para obtener más información sobre Vagrant y nuestra sección de Instalación.
$ cd example
$ vagrant plugin install vagrant-lxc
$ vagrant plugin install vagrant-hostmanager
$ vagrant up --provider=lxc
$ ansible-galaxy install GuillaumeSmaha.gluu-setup GuillaumeSmaha.gluu-customization
$ ansible-playbook -i env/ubuntu deploy.yml
$ ansible-playbook -i env/centos deploy.yml
Accede a Gluu yendo a:
https://gluu-customization-ubuntu/
o
https://gluu-customization-centos/
Proyectos de muestra
Puedes encontrar un ejemplo completo de un playbook aquí:
ansible-galaxy install GuillaumeSmaha.gluu-customization