GuillaumeSmaha.gluu-configuration
Ansible Gluu: Rol de Configuración
gluu-configuration es un rol de Ansible para configurar fácilmente Gluu creando o actualizando las entradas en el servidor LDAP.
Con este rol, puedes crear o actualizar:
- Configuraciones globales (aplicaciones)
- Configuración JSON de oxAuth
- Configuración JSON de oxTrust
- Atributos
- Alcances de OpenId Connect
- Clientes de OpenId Connect
- Grupos
- Usuarios
- Scripts personalizados
En modo clúster, este rol también actualiza el modo de autenticación predeterminado para usar todos los servidores con el módulo 'LDAP'. Para hacer esto automáticamente, el rol utilizará la variable gluu_internal_hostname
de cada servidor con el módulo 'LDAP'.
Este rol solo se puede usar en un nodo del clúster.
Para usar las funcionalidades del modo clúster en este rol, todos los servidores Gluu deben estar en el grupo gluu-servers
, y el Gluu Cluster Manager debe estar en el grupo gluu-cluster-manager
.
- Requisitos
- Instalación
- Actualización
- Variables del Rol
- Despliegue
- Ejemplo de Playbook
- Proyectos de ejemplo
Historia
El servidor de autenticación y gestión de acceso a API de código abierto de Gluu permite a las organizaciones ofrecer inicio de sesión único, autenticación fuerte y centralización.
Requisitos
Para desplegar, necesitarás:
- Ansible 2.5.15 en tu máquina de despliegue. (Versiones más recientes causarán un problema con python-ldap)(https://github.com/GuillaumeSmaha/ansible-role-gluu-configuration/issues/2))
- También necesitas instalar estas dependencias de Python:
- dpath
- pyDes
- python3-ldap
- ldap3
- dnspython
$ pip install -r requirements.txt
Instalación
gluu-configuration es un rol de Ansible distribuido globalmente usando Ansible Galaxy. Para instalar el rol gluu-configuration, puedes usar el siguiente comando.
$ ansible-galaxy install GuillaumeSmaha.gluu-configuration
Actualización
Si deseas actualizar el rol, necesitas pasar el parámetro --force al instalar. Por favor, consulta el siguiente comando:
$ ansible-galaxy install --force GuillaumeSmaha.gluu-configuration
Consulta CHANGELOG.md
Variables del Rol
vars:
# Define una versión personalizada del paquete a instalar.
gluu_version: 3.1.7
# Parámetros globales:
gluu_appliances:
# Este parámetro permite aplicar operaciones JSON en la configuración de oxTrust para un atributo definido.
gluu_oxtrust_json_operations:
# Este parámetro permite aplicar operaciones JSON en la configuración de oxAuth para un atributo definido.
gluu_oxauth_json_operations:
# Permite agregar o actualizar atributos.
gluu_attributes:
# Permite agregar o actualizar alcances de OpenId Connect.
gluu_openid_connect_scopes:
# Permite agregar o actualizar clientes de OpenId Connect.
gluu_openid_connect_clients:
# Permite agregar o actualizar Grupos.
gluu_groups:
# Permite agregar o actualizar Usuarios.
gluu_users:
# Permite agregar o actualizar Scripts.
gluu_scripts:
# ===================================
# Gluu en múltiples nodos (clúster)
# ===================================
# Define si el servidor está en un clúster.
gluu_cluster: False
# Cuando gluu_cluster = True, puedes establecer los nombres de los servidores LDAP externos de Gluu.
gluu_ldap_hostname:
# Solo cuando gluu_cluster = True.
gluu_internal_hostname: '{{ gluu_hostname }}'
Despliegue
Para desplegar, necesitas realizar algunos pasos:
- Crea un nuevo archivo
hosts
. Consulta documentación de inventario de ansible si necesitas ayuda. - Crea un nuevo playbook para desplegar tu aplicación, por ejemplo,
deploy.yml
- Establece las variables del rol (consulta Variables del Rol)
- Incluye el rol
GuillaumeSmaha.gluu-configuration
como parte de un play - Ejecuta 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 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-configuration
$ ansible-playbook -i env/ubuntu deploy.yml
$ ansible-playbook -i env/centos deploy.yml
Accede a Gluu yendo a:
https://gluu-configuration-ubuntu/
o
https://gluu-configuration-centos/
Puedes conectar en GLuu con estas credenciales de usuario:
- Usuario: myUser
- Contraseña: test
Proyectos de ejemplo
Puedes encontrar un ejemplo completo de un playbook aquí:
ansible-galaxy install GuillaumeSmaha.gluu-configuration