GuillaumeSmaha.gluu-setup
Ansible Gluu: Configuración del rol
gluu-setup es un rol de Ansible para instalar fácilmente un servidor Gluu, sus módulos y el certificado.
En modo clúster, el rol instalará la clave SSH para permitir el acceso por parte del administrador del clúster, distribuirá certificados públicos entre todos los servidores, actualizará el servidor LDAP para aceptar conexiones externas y actualizará la configuración para usar todos los servidores LDAP.
Para usar las funcionalidades del modo clúster en este rol, todos los servidores Gluu deben estar en el grupo gluu-servers
y el Administrador del Clúster de Gluu 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 gestión de autenticación y 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 poder desplegar, necesitarás:
- Ansible en tu máquina de despliegue
- También necesitas instalar esta dependencia de Python:
- dnspython
$ pip install -r requirements.txt
Instalación
gluu-setup es un rol de Ansible distribuido globalmente a través de Ansible Galaxy. Para instalar el rol gluu-setup, puedes usar el siguiente comando.
$ ansible-galaxy install GuillaumeSmaha.gluu-setup
Actualización
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-setup
Variables del rol
vars:
# ===================================
# Gluu en un solo nodo
# ===================================
# 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.7
# Define el nombre de host utilizado por Gluu.
gluu_hostname: '{{ ansible_ssh_host }}'
# Dirección IP del host.
gluu_ip: '{{ lookup("dig", "{{ gluu_internal_hostname }}.") | regex_replace("^NXDOMAIN$", "") | default(gluu_internal_hostname, true) }}'
# Lista de módulos a instalar
gluu_modules:
- oxauth
- oxtrust
- ldap
- httpd
# Diccionario de certificados para Gluu.
# Puedes agregar la clave que desees.
# Cada clave debe contener la clave `publicKey` y opcionalmente la clave `privateKey` con la ruta de los archivos de certificado.
gluu_certificates:
# Tipo de servidor LDAP
gluu_ldap_server: openldap
# Certificado personalizado para el servidor y cliente LDAP
gluu_ldap_certificate:
cert_ca_file:
cert_file:
cert_key_file:
# Archivo para personalizar el esquema LDAP
gluu_ldap_custom_schema_file: custom_schema.json.default
# Puedes establecer la contraseña LDAP.
gluu_ldap_password:
# Base inum de Gluu
gluu_inum_base:
# inum de la organización
gluu_inum_org:
# inum del aparato
gluu_inum_appliance:
# Propiedades para los certificados auto-generados (autofirmados)
gluu_certificate_properties:
org_name: Organización
country_code: CA
city: Montreal
state: QC
# ===================================
# Gluu en múltiples nodos (clúster)
# ===================================
# Define si el servidor está en un clúster.
gluu_cluster: False
# Cuando gluu_cluster = True, define si hay servidores LDAP múltiples con replicación.
gluu_cluster_ldap_replication: False
# Cuando gluu_cluster = True, este parámetro permite establecer como configuración predeterminada otra configuración de host.
gluu_install_from: main
# Cuando gluu_cluster = True, puedes establecer los nombres de host de los servidores LDAP externos de Gluu.
gluu_ldap_hostname:
Despliegue
Para desplegar, necesitas seguir algunos pasos:
- Crea un nuevo archivo
hosts
. Consulta la documentación de inventario de ansible si necesitas ayuda. - Crea un nuevo playbook para desplegar tu aplicación, por ejemplo,
deploy.yml
- Configura las variables del rol (ver Variables del rol)
- Incluye el rol
GuillaumeSmaha.gluu-setup
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á el Administrador del Clúster de Gluu en el host.
Ejemplo de Playbook
En la carpeta de ejemplo, puedes consultar 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
$ ansible-playbook -i env/ubuntu deploy.yml
$ ansible-playbook -i env/centos deploy.yml
Accede a Gluu yendo a:
o
Proyectos de ejemplo
Puedes encontrar un ejemplo completo de un playbook aquí:
ansible-galaxy install GuillaumeSmaha.gluu-setup