sw_ansible_webui

Логотип AnsibleGuy-WebUI

Роль Ansible - Ansible-WebUI

Роль для создания базового WebUI для использования Ansible на сервере Linux.

Купите мне кофе

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Этот WebUI является неофициальным проектом сообщества! Не путайте его с обычным Ansible продуктом!

Статус теста Molecule Статус теста YamlLint Статус теста PyLint Статус теста Ansible-Lint Ansible Galaxy

Логи 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
Лицензия
other
Загрузки
826
Владелец
[email protected] | GPG: https://badges.ansibleguy.net/public.gpg