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/ansible-role-geoip