honzamach.geoip
Роль geoip
Страница Ansible Galaxy <https://galaxy.ansible.com/honzamach/geoip>__Репозиторий на GitHub <https://github.com/honzamach/ansible-role-geoip>__Страница Travis CI <https://travis-ci.org/honzamach/ansible-role-geoip>__
Ansible роль для удобной установки бесплатных баз данных геолокации IP
GeoLite2 <https://dev.maxmind.com/geoip/geoip2/geolite2/#Download_Access>__
от MaxMind <https://www.maxmind.com/en/home>__.
Содержание:
- :ref:
section-role-geoip-installation - :ref:
section-role-geoip-dependencies - :ref:
section-role-geoip-usage - :ref:
section-role-geoip-variables - :ref:
section-role-geoip-files - :ref:
section-role-geoip-author
Эта роль является частью пакета MSMS <https://github.com/honzamach/msms>__.
Некоторые общие функции описаны в его :ref:руководстве <section-manual>.
Установка
Чтобы установить роль honzamach.geoip <https://galaxy.ansible.com/honzamach/geoip>__
из Ansible Galaxy <https://galaxy.ansible.com/>__, используйте следующую команду::
ansible-galaxy install honzamach.geoip
Чтобы установить роль прямо из GitHub <https://github.com>, клонируя
репозиторий ansible-role-geoip <https://github.com/honzamach/ansible-role-geoip>,
используйте следующую команду::
git clone https://github.com/honzamach/ansible-role-geoip.git honzamach.geoip
В настоящий момент преимущество использования клонирования Git заключается в возможности легко обновлять роль при выходе новой версии.
Зависимости
Эта роль не зависит от других ролей.
Следующие роли зависят от этой роли:
- :ref:
mentat <section-role-mentat> - :ref:
mentat_dev <section-role-mentat-dev>
Использование
Пример содержимого файла инвентаризации inventory::
[servers_geoip]
ваш-сервер
Пример содержимого файла плэйбука роли role_playbook.yml::
- hosts: servers_geoip
remote_user: root
roles:
- role: honzamach.geoip
tags:
- role-geoip
Пример использования::
# Запустить все задачи:
ansible-playbook --ask-vault-pass --inventory inventory role_playbook.yml
Рекомендуется следовать этим принципам конфигурации:
Создайте/отредактируйте файл
inventory/group_vars/all/vars.ymlи в нем задайте некоторые разумные значения по умолчанию для всех управляемых серверов. Пример::hm_geoip__account_id: "{{ vault_hm_geoip__account_id }}" hm_geoip__license_key: "{{ vault_hm_geoip__license_key }}"Создайте/отредактируйте зашифрованный файл :ref:
vault <section-overview-vault>inventory/group_vars/all/vault.ymlи в нем сохраните пароль для шифрования резервной копии::vault_hm_geoip__account_id: 123456 vault_hm_geoip__license_key: что-то-очень-секретноеИспользуйте файлы
inventory/host_vars/[ваш-сервер]/vars.ymlдля настройки параметров для конкретных серверов. Пожалуйста, смотрите раздел :ref:section-role-geoip-variablesдля всех доступных опций.
Переменные конфигурации
Внутренние переменные роли
.. envvar:: hm_geoip__package_url
URL пакета, из которого устанавливается утилита geoipupdate.
* *Тип данных:* ``string``
* *По умолчанию:* ``https://github.com/maxmind/geoipupdate/releases/download/v4.1.5/geoipupdate_4.1.5_linux_amd64.deb``
.. envvar:: hm_geoip__account_id
Уникальный идентификатор вашей учетной записи MaxMind (числовой).
* *Тип данных:* ``integer``
* *По умолчанию:* ``null``
.. envvar:: hm_geoip__license_key
Лицензионный ключ вашей учетной записи MaxMind. Убедитесь, что вы включили опцию *Update* при создании ключа.
* *Тип данных:* ``string``
* *По умолчанию:* ``null``
.. envvar:: hm_geoip__edition_ids
Список запрашиваемых баз данных геолокации IP для установки на целевом хосте.
* *Тип данных:* ``list of strings``
* *По умолчанию:* ``["GeoLite2-ASN", "GeoLite2-City", "GeoLite2-Country"]``
.. envvar:: hm_geoip__database_directory
Каталог для хранения файлов базы данных.
* *Тип данных:* ``string``
* *По умолчанию:* ``/usr/share/GeoIP``
Встроенные переменные Ansible
.. envvar:: ansible_lsb['codename']
Кодовое название дистрибутива Debian используется для функции :ref:`настройки шаблонов <section-overview-role-customize-templates>`.
Управляемые файлы
.. note::
Эта роль поддерживает функцию :ref:`настройки шаблонов <section-overview-role-customize-templates>`.
Эта роль управляет содержимым следующих файлов на целевой системе:
/etc/cron.d/geoipupdate[ШАБЛОН]/etc/GeoIP.conf[ШАБЛОН]
Автор и лицензия
| Авторское право: (C) с 2019 года Honza Mach honza.mach.ml@gmail.com | Автор: Honza Mach honza.mach.ml@gmail.com | Использование этой роли регулируется лицензией MIT, см. файл LICENSE. |
Ansible role for convenient installation of the free IP geolocation databases GeoLite2 provided by MaxMind.
ansible-galaxy install honzamach.geoip