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
Лицензия
mit
Загрузки
131
Владелец