gluu-customization
Ansible Gluu: Роль настройки
gluu-customization — это роль Ansible, которая позволяет легко настраивать файлы на сервере Gluu, копируя XHTML-страницы, изображения, ресурсы стиля или редактируя WAR-файл, чтобы обновить переводы, например.
История
Сервер управления аутентификацией и доступом к API от Gluu с открытым исходным кодом позволяет организациям предлагать единую авторизацию, надежную аутентификацию и централизованное управление.
Требования
Для развёртывания вам потребуется:
- Ansible на вашей машине для развёртывания
Установка
gluu-customization — это роль Ansible, доступная глобально через Ansible Galaxy. Чтобы установить роль gluu-customization, используйте следующую команду.
$ ansible-galaxy install GuillaumeSmaha.gluu-customization
Обновление
Если вы хотите обновить роль, нужно использовать параметр --force при установке. Смотрите следующую команду:
$ ansible-galaxy install --force GuillaumeSmaha.gluu-customization
Переменные роли
vars:
# Определите другую версию пакета для установки.
# Чтобы получить список доступных версий пакетов, посетите: https://gluu.org/docs/ce/
gluu_version: 3.1.4
# Список файлов для копирования в /etc/gluu/conf внутри контейнера Gluu
# Можно использовать шаблон Jinja
# Пример:
# gluu_copy_configuration_files:
# - 'template/configuration/auth_multi_ldap.json'
gluu_copy_configuration_files:
# Список XHTML-страниц для копирования в директорию /etc/gluu/jetty/{{ module }}/custom/pages
# Доступен необязательный параметр 'dest'
# Можно использовать шаблон Jinja; можно использовать относительный путь из директории 'templates'
# Пример:
# 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:
# Список ресурсов для страниц, которые нужно скопировать в директорию /etc/gluu/jetty/{{ module }}/custom/static
# Нельзя использовать шаблон Jinja. Поэтому нужно указывать абсолютный путь.
# Пример:
# 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:
# Список файлов для копирования в WAR-файл.
# WAR-файл будет распакован, файлы будут скопированы, и архив будет воссоздан.
# Можно использовать шаблон Jinja; можно использовать относительный путь из директории 'templates'
# Пример для настройки доступных языков и переводов:
# 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:
Развёртывание
Чтобы развернуть, выполните следующие шаги:
- Создайте новый файл
hosts
. Ознакомьтесь с документацией по инвентаризации Ansible, если вам нужна помощь. - Создайте новый плейбук для развёртывания вашего приложения, например,
deploy.yml
- Настройте переменные роли (см. Переменные роли)
- Включите роль
GuillaumeSmaha.gluu-customization
как часть плей - Запустите плейбук для развёртывания
ansible-playbook -i hosts deploy.yml
Если всё настроено правильно, эта команда установит Gluu Cluster Manager на хосте.
Пример плейбука
В папке example вы можете найти пример проекта, который показывает, как развернуть.
Чтобы его запустить, вам нужно установить Vagrant и роль. Пожалуйста, ознакомьтесь с https://www.vagrantup.com для получения дополнительной информации о Vagrant и разделе Установка.
$ 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
Получите доступ к Gluu, перейдя по следующим ссылкам:
https://gluu-customization-ubuntu/
или
https://gluu-customization-centos/
Примеры проектов
Вы можете найти полный пример плейбука здесь:
ansible-galaxy install GuillaumeSmaha/ansible-role-gluu-customization