jfautley.yumreposd

yumreposd

Эта роль Ansible позволяет настраивать файлы репозиториев Yum, которые обычно находятся в каталоге /etc/yum.repos.d/

Каждый репозиторий, определенный в основном хэше репозиториев yum, будет создан как отдельный файл в целевом каталоге. Роль также выполнит команду yum cache expire-metadata, чтобы принудительно обновить метаданные, если были изменения в настроенных репозиториях на управляемом хосте.

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

  • yumreposd_repos - Этот хэш содержит репозитории, которые нужно настроить, см. раздел 'Формат хэша репозитория' ниже.
  • yumreposd_delete_unmanaged - Это контролирует, будут ли удалены файлы репозиториев в целевом каталоге, которые не были созданы этой ролью. По умолчанию false.
  • yumreposd_preserve - Используется вместе с предыдущей переменной; любые записи в этом списке НЕ будут удалены во время задачи delete_unmanaged. Нужно опустить расширение файла '.repo'.
  • yumreposd_destdir - Каталог, в котором вы хотите разместить конфигурационные фрагменты YUM репозиториев. Обычно это по умолчанию: /etc/yum.repos.d/
  • yumreposd_importgpgkeys - Определяет, будет ли роль также импортировать GPG ключи настроенных репозиториев (если есть) в базу данных RPM ключей. По умолчанию true.

Формат хэша репозитория

Фрагменты репозитория определяются как один хэш, yumreposd_repos, в следующем формате:

yumreposd_repos:
  repo-id:
    name: Описание имени
    baseurl: http://yourserver.com/repos/repo-id
    gpgkey: file:///etc/pki/rpm-gpg/YOURSITE-KEY
    gpgcheck: 1
    other_option: сюда
  repo-id-2:
    name: Другой репозиторий
    ... и т.д. ...

Записи хэша под каждым репозиторием перебираются во время генерации шаблона, так что любые параметры, поддерживаемые в конфигурационном файле YUM репозитория, могут быть указаны здесь. Проверка синтаксиса не производится.

Пример плейбука

- hosts: all
  vars:
    - yumreposd_repos:
        base-os:
          name: Репозиторий пакетов базовой операционной системы
          baseurl: http://repos.yourdomain/repos/base-os/{{ ansible_architecture }}
          gpgcheck: 1
          gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
        custom:
          name: Мой пользовательский репозиторий
          baseurl: http://repos.yourdomain/repos/custom/
          gpgcheck: 0
    - yumreposd_delete_unmanaged: true
    - yumreposd_preserve:
      - epel
      - epel-testing

  roles:
    - yumreposd

Как видно, размещение настроек конфигурации в вашем плейбуке может быстро привести к неразберихе, поэтому настоятельно рекомендуется разместить их в другом месте для удобочитаемости.

Лицензия

MIT

Часть этого кода основана на роли ansible-yumrepo от Jiri Tyr.

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

Пожалуйста, сообщайте о любых проблемах через GitHub Issue Tracker, приветствуются запросы на внесение изменений.

О проекте

Role to manage /etc/yum.repos.d/ on RHEL-like systems

Установить
ansible-galaxy install jfautley.yumreposd
Лицензия
mit
Загрузки
163
Владелец