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, приветствуются запросы на внесение изменений.
- Jon Fautley
- Email: jon@dead.li
- GitHub:
- Twitter: @filace
ansible-galaxy install jfautley.yumreposd