yapkg

YAPKG

Это ролевая установка пакетов для Ansible.

Почему мы не используем одну из существующих ролей?

  • Причина в том, что нам нужно что-то надежное. Читайте раздел "Обещание" ниже.
  • Эта роль будет использоваться в maestro и должна следовать логике, использованной там. (Конечно, роль можно использовать и без maestro.)

Примечание о единственной обязательной переменной: Вам нужно указать, какие пакеты вы хотите установить. Переменная называется 'yapkg__names' и принимает список имен пакетов.

Состояние

Стабильно.

Обещание

Эта роль может измениться в будущем, но мы будем только добавлять функции, чтобы не нарушить обратную совместимость.

Если потребуется радикальные изменения, будет создана новая роль, вероятно, с добавлением суффикса версии...

Идея

В инвентаре вы можете группировать хосты по определенным приложениям и дистрибутивам. Игровой набор должен сопоставить хосты в группах с фактическими именами пакетов для установки и передать их этой роли. Затем роль установит пакет(ы).

Установка

ansible-galaxy install inofix.yapkg

Требования

  • Ansible >=2.0

Переменные роли

  • yapkg__list - необязательная, массив строк с именами пакетов для сопоставления с os__pkg_name
  • yapkg__names - необязательная, строка или массив строк с именами пакетов для установки, по умолчанию нет
  • yapkg__update_cache - необязательная, булевый, по умолчанию = yes
  • yapkg__cache_valid_time - необязательная, количество секунд, по умолчанию = 3600
  • yapkg__task_group_name - необязательная, строка для группы устанавливаемых пакетов, по умолчанию = 'packages'
  • os__pkg_name - необязательная (нужна вместе с yapkg__list), содержащая имена пакетов для каждого os/distro, например (с некоторыми предупреждениями) os__pkg_name: jinja2: debian_stretch: "python3-jinja2" myfavoriteeditor: debian: "vim"

Зависимости

  • В данный момент поддерживается только "Debian"
  • Проверяет ОС/дистрибутив, а именно
  • 'ansible_distribution'
  • 'ansible_distribution_release'
  • 'ansible_pkg_mgr'

Пример игрового набора

- hosts: servers
  roles:
     - { role: inofix.yapkg, yapkg__names: [ foo, bar ] }

Лицензия

GPLv3

Информация об авторе

  • Михаил Лустенбергер на inofix.ch
Установить
ansible-galaxy install inofix/ansible-yapkg
Лицензия
gpl-3.0
Загрузки
317
Владелец
INOFIX is a Luzern based software company focused on the development of free software and system solutions.