GuillaumeSmaha.gluu-customization
Ansible Gluu : Rôle de personnalisation
gluu-customization est un rôle Ansible pour personnaliser facilement des fichiers sur un serveur Gluu en copiant des pages XHTML, des images, des ressources de style, ou en modifiant un fichier WAR pour mettre à jour les traductions par exemple.
- Exigences
- Installation
- Mise à jour
- Variables de rôle
- Déploiement
- Exemple de Playbook
- Projets d'exemple
Historique
Le serveur de gestion d'authentification et d'accès API open source de Gluu permet aux organisations d'offrir un accès unique, une authentification forte, et de centraliser leurs services.
Exigences
Pour déployer, vous aurez besoin de :
- Ansible sur votre machine de déploiement.
Installation
gluu-customization est un rôle Ansible distribué globalement via Ansible Galaxy. Pour installer le rôle gluu-customization, vous pouvez utiliser la commande suivante.
$ ansible-galaxy install GuillaumeSmaha.gluu-customization
Mise à jour
Si vous souhaitez mettre à jour le rôle, vous devez passer le paramètre --force lors de l'installation. Veuillez vérifier la commande suivante :
$ ansible-galaxy install --force GuillaumeSmaha.gluu-customization
Variables de rôle
vars:
# Définir une version personnalisée du package à installer.
# Pour obtenir une liste des versions de package disponibles, visitez : https://gluu.org/docs/ce/
gluu_version: 3.1.4
# Liste des fichiers à copier dans /etc/gluu/conf à l'intérieur du conteneur Gluu
# Peut utiliser le modèle Jinja
# Exemple :
# gluu_copy_configuration_files:
# - 'template/configuration/auth_multi_ldap.json'
gluu_copy_configuration_files:
# Liste des pages XHTML à copier dans le répertoire /etc/gluu/jetty/{{ module }}/custom/pages
# Un paramètre 'dest' optionnel est disponible
# Peut utiliser le modèle Jinja ; il est donc possible d'utiliser un chemin relatif depuis le répertoire 'templates'
# Exemple :
# 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:
# Liste des ressources pour la page à copier dans le répertoire /etc/gluu/jetty/{{ module }}/custom/static
# Ne peut PAS utiliser le modèle Jinja. Vous devez donc spécifier un chemin absolu.
# Exemple :
# 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:
# Liste des fichiers à copier dans le fichier WAR.
# Le fichier WAR sera décompressé, les fichiers seront copiés et l'archive sera recréée.
# Peut utiliser le modèle Jinja ; il est donc possible d'utiliser un chemin relatif depuis le répertoire 'templates'
# Exemple pour personnaliser les langues disponibles et les traductions :
# 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:
Déploiement
Pour déployer, vous devez suivre certaines étapes :
- Créez un nouveau fichier
hosts
. Consultez la documentation de l'inventaire Ansible si vous avez besoin d'aide. - Créez un nouveau playbook pour déployer votre application, par exemple,
deploy.yml
. - Configurez les variables de rôle (voir Variables de rôle).
- Incluez le rôle
GuillaumeSmaha.gluu-customization
dans un play. - Exécutez le playbook de déploiement.
ansible-playbook -i hosts deploy.yml
Si tout est configuré correctement, cette commande installera le Gluu Cluster Manager sur l’hôte.
Exemple de Playbook
Dans le dossier exemple, vous pouvez vérifier un projet d'exemple 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 GuillaumeSmaha.gluu-customization
$ ansible-playbook -i env/ubuntu deploy.yml
$ ansible-playbook -i env/centos deploy.yml
Accédez à Gluu en allant à :
https://gluu-customization-ubuntu/
ou
https://gluu-customization-centos/
Projets d'exemple
Vous pouvez trouver un exemple complet de playbook ici :
ansible-galaxy install GuillaumeSmaha.gluu-customization