sw_ansible_webui
Роль Ansible - Ansible-WebUI
Роль для создания базового WebUI для использования Ansible на сервере Linux.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот WebUI является неофициальным проектом сообщества! Не путайте его с обычным Ansible продуктом!
Логи Molecule: Короткие, Полные
Проверено на:
- Debian 12
Установка
# последняя версия
ansible-galaxy role install git+https://github.com/ansibleguy/sw_ansible_webui
# из galaxy
ansible-galaxy install ansibleguy.sw_ansible_webui
# или в пользовательский путь ролей
ansible-galaxy install ansibleguy.sw_ansible_webui --roles-path ./roles
# установка зависимостей
ansible-galaxy install -r requirements.yml
Использование
Конфигурация
Определите конфигурацию по мере необходимости:
Минимальная конфигурация:
ansible_webui:
config:
AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
Опции:
ansible_webui:
manage:
webserver: true # установка и настройка локального nginx с минимальным сертификатом
backup: true # установка службы для ежедневного локального резервного копирования базы данных (если база данных управляется)
user: true # создание сервисного пользователя 'ansible-webui'
ansible_cfg: true # создание файла /home/ansible-webui/ansible.cfg
requirements: # требования к вашей исполняемой среде
pip: ['httpx'] # любые модули python3
collections: ['community.general'] # любые коллекции ansible (если persistent_requirements=true)
roles: [] # любые роли ansible (если persistent_requirements=true)
config: # для опций см.: https://webui.ansibleguy.net/en/latest/usage/4_config.html#settings
AW_HOSTNAMES: 'ansible.template.ansibleguy.net'
# AW_SECRET: '...' # минимум 30 символов; случайный будет использован, если не предоставлен
ansible_config: # /home/ansible-webui/ansible.cfg => если manage.ansible_cfg=true; см.: https://docs.ansible.com/ansible/latest/reference_appendices/config.html
defaults: # секция
remote_port: 48322
vault_id_match: 'webui'
diff:
context: 2
nginx:
... # настройка параметров веб-сервера => см.: https://github.com/ansibleguy/infra_nginx
Вы можете использовать 'ansible-vault', чтобы зашифровать свои пароли:
ansible-vault encrypt_string
Выполнение
Запустите плейбук:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml
Также доступны некоторые полезные тэги:
- config
- webserver
Чтобы отладить ошибки, вы можете установить переменную 'debug' во время выполнения:
ansible-playbook -K -D -i inventory/hosts.yml playbook.yml -e debug=yes
Функциональность
Установка пакетов
- Python3, Python3-PIP, Python3-Virtualenv, Git, Git-LFS
- AnsibleGuy-WebUI и его зависимости Python3
Конфигурация
Используемая виртуальная среда (
/home/ansible-webui/venv
)Стандартная конфигурация:
- Очистка логов старше 180 дней
- Сохранение резервных копий 30 дней
Стандартные параметры:
- Установка общих модулей Python3 ('jmespath', 'netaddr', 'passlib', 'pywinrm', 'requests', 'cryptography')
- Ежедневные локальные резервные копии
- Автообновление приложения и требований при запуске службы
- Прокси Nginx
- Создание сервисного пользователя
Информация
Примечание: эта роль в настоящее время поддерживает только системы на базе debian
Примечание: большую часть функциональности роли можно включать или отключать.
Для всех доступных опций - смотрите стандартную конфигурацию в главном файле по умолчанию!
Предупреждение: Не каждая настройка/переменная, которую вы предоставляете, будет проверена на корректность. Неправильная конфигурация может привести к сбоям в работе роли!
Ansible role to provision a basic WebUI for using Ansible on a linux server
ansible-galaxy install ansibleguy/sw_ansible_webui