GuillaumeSmaha.gluu-setup
Ansible Gluu : Configuration du rôle
gluu-setup est un rôle Ansible pour installer facilement un serveur Gluu, ses modules et le certificat.
En mode cluster, le rôle installera la clé SSH pour permettre l'accès par le gestionnaire de cluster, distribuera les certificats publics entre tous les serveurs, mettra à jour le serveur LDAP pour accepter les connexions externes et mettra à jour la configuration pour utiliser tous les serveurs LDAP.
Pour utiliser les fonctionnalités du mode cluster dans ce rôle, tous les serveurs Gluu doivent être dans le groupe gluu-servers
et le Gestionnaire de Cluster Gluu doit être dans le groupe gluu-cluster-manager
.
- Exigences
- Installation
- Mise à jour
- Variables de rôle
- Déploiement
- Exemple de Playbook
- Projets d'exemple
Historique
Le serveur open source d'authentification et de gestion des accès API de Gluu permet aux organisations d'offrir un système d'authentification unique, une authentification forte et de centraliser.
Exigences
Pour déployer, vous aurez besoin de :
- Ansible sur votre machine de déploiement
- Vous devez également installer cette dépendance Python :
- dnspython
$ pip install -r requirements.txt
Installation
gluu-setup est un rôle Ansible distribué globalement via Ansible Galaxy. Pour installer le rôle gluu-setup, vous pouvez utiliser la commande suivante.
$ ansible-galaxy install GuillaumeSmaha.gluu-setup
Mise à jour
Si vous souhaitez mettre à jour le rôle, vous devez ajouter le paramètre --force lors de l'installation. Vérifiez la commande suivante :
$ ansible-galaxy install --force GuillaumeSmaha.gluu-setup
Variables de rôle
vars:
# ===================================
# Gluu sur un nœud unique
# ===================================
# Définir une version personnalisée du package à installer.
gluu_version: 3.1.7
# Définir le nom d'hôte utilisé par Gluu.
gluu_hostname: '{{ ansible_ssh_host }}'
# Adresse IP de l'hôte.
gluu_ip: '{{ lookup("dig", "{{ gluu_internal_hostname }}.") | regex_replace("^NXDOMAIN$", "") | default(gluu_internal_hostname, true) }}'
# Liste des modules à installer
gluu_modules:
- oxauth
- oxtrust
- ldap
- httpd
# Dictionnaire de certificats pour Gluu.
gluu_certificates:
# Type de serveur LDAP
gluu_ldap_server: openldap
# Certificat personnalisé pour le serveur et le client LDAP
gluu_ldap_certificate:
cert_ca_file:
cert_file:
cert_key_file:
# Fichier pour personnaliser le schéma LDAP
gluu_ldap_custom_schema_file: custom_schema.json.default
# Vous pouvez définir le mot de passe LDAP.
gluu_ldap_password:
# Base inum de Gluu
gluu_inum_base:
# inum d'organisation
gluu_inum_org:
# inum d'appareil
gluu_inum_appliance:
# Propriétés pour les certificats auto-générés (auto-signés)
gluu_certificate_properties:
org_name: Organisation
country_code: CA
city: Montréal
state: QC
# ===================================
# Gluu sur plusieurs nœuds (cluster)
# ===================================
# Définir si le serveur est dans un cluster.
gluu_cluster: False
# Propriétés spécifiques au cluster
gluu_internal_hostname: '{{ gluu_hostname }}'
gluu_cluster_ldap_replication: False
gluu_cluster_ldap_replication_without_cluster_manager: False
gluu_install_from: main
gluu_ldap_hostname:
Déploiement
Pour déployer, vous devez réaliser quelques étapes :
- Créer un nouveau fichier
hosts
. Consultez la documentation d'inventaire Ansible si vous avez besoin d'aide. - Créer un nouveau playbook pour déployer votre application, par exemple,
deploy.yml
. - Configurer les variables de rôle (voir Variables de rôle).
- Inclure le rôle
GuillaumeSmaha.gluu-setup
comme partie d'un play. - Exécuter le playbook de déploiement.
ansible-playbook -i hosts deploy.yml
Si tout a été correctement configuré, cette commande installera le Gestionnaire de Cluster Gluu sur l'hôte.
Exemple de Playbook
Dans le dossier exemple, vous pouvez consulter un projet qui montre comment déployer.
Pour l'exécuter, vous devez avoir Vagrant et le rôle installé. Veuillez consulter https://www.vagrantup.com pour plus d'informations sur Vagrant et notre section d'installation.
$ 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
Accédez à Gluu en allant à :
ou
Projets d'exemple
Vous pouvez trouver un exemple complet d'un playbook ici :
ansible-galaxy install GuillaumeSmaha.gluu-setup