package-source

cans.package-source

Статус сборки Ansible Galaxy Лицензия

Простая роль для добавления и/или удаления источников дистрибутивных пакетов и их соответствующих GPG-ключей.

Каждый источник пакета, который необходимо добавить или удалить, должен быть описан следующим образом:

- repo: "название репозитория"       # обязательно
  codename: "<кодовое имя дистрибутива>" # необязательно, по умолчанию: не задано
  key_id: "<ID GPG-ключа>"              # необязательно, по умолчанию: не задано
  key_server: "<url сервера ключей>"    # необязательно, по умолчанию: не задано
  key_url: "<url файла открытого ключа>"# необязательно, по умолчанию: не задано
  keyring: "<путь к хранилищу ключей>"  # необязательно, по умолчанию: не задано
  update_cache: <да|нет>                # необязательно, по умолчанию: нет

Эта роль сначала добавит, а затем удалит источники. Поскольку репозитории указаны в списках, порядок, в котором они добавляются или удаляются, определен и указан в вашем плейбуке.

Все значения с неопределенным по умолчанию просто будут пропущены, если не указаны.

repo — это единственное обязательное значение и должно быть правильной строкой описания APT-репозитория.

Если вы хотите установить ключ вместе с данным источником, вам необходимо указать key_id, чтобы избежать вставки нежелательного ключа в хранилище ключей APT. Затем одно из значений key_url или key_server становится обязательным, чтобы ключ можно было как-то получить.

Изменение значения по умолчанию для update_cache обычно не является хорошей идеей, так как это значительно замедляет выполнение вашего плейбука. И в любом случае, если вы добавляете источники пакетов, скорее всего, вы будете использовать их вскоре после этого. Рекомендуется обновлять кеш в этом случае, а не тогда, когда вы добавляете источник. Обратите внимание, что это имеет недостаток в том, что у вас не будет валидации ваших новых репозиториев. Если вы все же хотите, чтобы эта валидация происходила во время выполнения этой роли, используйте update_cache, как показано в примерном плейбуке ниже.

Требования

Этот пакет требует модулей управления источниками дистрибуции Ansible:

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

Все переменные из этого модуля имеют префикс pkgsources.

  • pkgsource_present: список источников, которые вы хотите убедиться, что они доступны (по умолчанию: []);
  • pkgsource_absent: список источников, которые вы хотите убедиться, что они не доступны (по умолчанию: []);

Устаревшие переменные

  • pkgsource_user: эта переменная устарела, так как вы можете определить это при импорте роли или на уровне плейбука. Эта переменная на самом деле не использовалась (по умолчанию: ansible_user_id).

Зависимости

Эта роль не имеет внешних зависимостей.

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

В этом плейбуке мы добавим два новых источника в APT и удалим один. С вторым добавленным источником мы также установим GPG-ключ репозитория. Наконец, поскольку эта роль сначала добавляет, а затем удаляет репозитории, для последнего (и единственного) удаленного репозитория мы принудительно обновим кеш, чтобы убедиться, что конфигурация действительно действительна и APT может проверить все подписи репозиториев и пакетов.

- hosts: servers
  roles:
     - role: "cans.package-source"
       pkgsource_present:
         # Просто убедитесь, что репозиторий обратных пакетов для текущей версии Debian доступен
         - repo: "deb http://ftp.fr.debian.org/debian/ stable-backports main"

         # Репозиторий инструментов Heroku (cli tool)
         - repo: "deb https://toolbelt.heroku.com/ubuntu/ ./"
           # Эти две строки гарантируют, что GPG-ключ Heroku будет установлен *перед*
           # добавлением репозитория в список источников.
           key_id: C927EBE00F1B0520
           key_url: "https://toolbelt.herokuapp.com/apt/release.key"

       # Устаревшие источники, которые вы хотите удалить.
       pkgsource_absent:
         - "deb http://ftp.fr.debian.org/debian/ wheezy main"
           # Принудительное обновление кеша для последнего добавленного или удаленного репозитория, чтобы новая
           # конфигурация была проверена
           update_cache: yes

Лицензия

Роль Ansible package-source является бесплатным программным обеспечением: вы можете распространять его и/или модифицировать на условиях версии 2 Общей публичной лицензии GNU, как опубликовано Фондом свободного программного обеспечения.

package-sources распространяется в надежде, что он будет полезен, но БЕЗ ЛЮБЫХ ГАРАНТИЙ; без даже подразумеваемых гарантий торговой пригодности или соответствия определенной цели. Смотрите Общую публичную лицензию GNU для получения дополнительных сведений.

Вы должны были получить копию Общей публичной лицензии GNU вместе с package-sources. Если нет, смотрите http://www.gnu.org/licenses/.

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

Авторские права © 2017-2018, Nicolas CANIART.

О проекте

Role to manage Distribution Package Sources and their Encryption Keys

Установить
ansible-galaxy install cans/package-source
Лицензия
gpl-2.0
Загрузки
118
Владелец