Централизованное распространение произвольных файлов и архивов

РОСА Центр управления поддерживает централизованное распространение произвольных файлов и архивов (например, скриптов, сертификатов, дистрибутивов ПО, конфигураций) с использованием механизма пользовательского типа содержимого и интеграции с инструментами управления (Puppet, Ansible).

Добавление произвольного файла в cодержимое

Для добавления файла необходимо:

  • перейти в меню "Содержимое → Продукты" и создать новый продукт (если он ещё не существует);
  • на вкладке "Репозитории" нажать Новый репозиторий;
  • в поле "Тип" выбрать значение "file" (пользовательский тип файла);
  • указать:
    • Имя репозитория;
    • URL-адрес (если файлы размещены во внешнем источнике);

Примечание — Можно загрузить файлы на сервер РОСА Центр управления вручную (например, в каталог /var/www/html/custom-files/) и указать его как источник.

  • нажать кнопку Сохранить, далее нажать Действия и выбрать "Синхронизировать" (рисунок 128).

Рисунок 128 — Синхронизация созданных репозиториев

Примечание — Для файлов, размещённых локально на сервере, можно использовать альтернативный источник содержимого (п. Альтернативные источники содержимого).

Доставка файлов на узлы

Доставка файлов на управляемые узлы осуществляется с помощью:

  • Классов Puppet, например, через модуль file или archive, который ссылается на URL файла вида:
https://cc.rosa.int/pulp/content/<организация>/library/files/<путь_к_файлу>
  • Плейбуков Ansible, использующих модули get_url, unarchive и др.

Пример Puppet-кода для доставки файла:

file { '/opt/scripts/myscript.sh':
  ensure => file,
  source => 'puppet:///custom-files/myscript.sh',
  mode   => '0755',
}

Для архивов рекомендуется использовать класс rcc_custom_archive (если он предусмотрен в модулях) или создать собственный шаблон на основе archive.

Безопасность и контроль версий

Все файлы, размещённые через Katello, доступны только авторизованным узлам. При обновлении файла в репозитории и повторной публикации представления обеспечивается контроль версий. Для подписанных архивов или файлов можно привязать GPG-ключ (п. Импорт ключа GPG).