Формула deb-repo-formula

Формула для добавления пользовательского репозитория с Deb-пакетами.

Доступные состояния

Состояние deb-repo

Мета-состояние (состояние, которое включает в себя другие состояния).

Добавляет и настраивает Deb-репозиторий. Имеет зависимость от deb-repo.install через список include.

Состояние deb-repo.install

Импортирует репозиторий, если значение name указано в хранилище Pillars (или не пустое по умолчанию).

Состояние deb-repo.key.install

Загружает deb-repo.key_file на агент (minion) и декодирует данные файла из формата base64 в бинарный.

Состояние deb-repo.clean

Удаляет файл конфигурации репозитория. Имеет зависимость от deb-repo.key.clean через список include.

Состояние deb-repo.key.clean

Удаляет Key-файл репозитория.

Пример файла pillar.example

deb-repo:
  # Переопределите значение map.jinja
  lookup:
    # Укажите имя репозитория, которое будет импортировано в систему. Значение должно быть указано в формате
    # one-line-style (https://manpages.debian.org/unstable/apt/sources.list.5.en.html#THE_DEB_AND_DEB-SRC_TYPES:_GENERAL_FORMAT)
    #  с опциями в квадратных скобках ([]). Опции используются для установки дополнительных параметров репозитория,
    # например, `signed-by`, `trusted`, `allow-insecure`.
    #  Опция настройки архитектуры ('arch') будет добавлена автоматически из параметра grain на агенте
    name: 'deb [signed-by=/etc/apt/keyrings/repo-key.gpg trusted=yes] https://dl.astralinux.ru/astra/stable/1.7_x86-64/repository-main/ 1.7_x86-64'
    # Выполните настройку репозитория, чтобы он стал недоступным для поиска и установки пакетов.
    # Значения: True или False
    disabled: False
    # Укажите тип пакетов (компонентов), которые будут установлены из репозитория (например, main, nonfree, ...).
    # Значения параметра comps должны быть заданы в виде списка через запятую
    comps: 'main,contrib,non-free'
    # Укажите имена файлов .list и .gpg. Не могут быть пустой строкой
    conf_name: 'repository-main'
    # Укажите key-файл (.gpg) для загрузки на агент. Этот файл может храниться как на сервере управления,
    # так и на серверах HTTP(S) или FTP.
    # Этот файл используется в опции репозитория signed-by. Значение может быть пустой строкой.
    # Отсутствие значения означает, что key-файл не будет импортирован и не будет использоваться.
    # Если используется key-файл, необходимо добавить опцию в формате 'signed-by={{ key_keyrings_dir }}{{ conf_name }}.gpg', example 'signed-by=/etc/apt/keyrings/repository-main.gpg'
    key_file: ''
    # Установите значение True, чтобы декодировать данные key-файла из формата base64 в бинарный
    key_file_dearmor: False
    # Установите полный путь к каталогу ключей на агенте
    key_keyrings_dir: '/etc/apt/keyrings/'
    # Укажите имена для установки пакетов, необходимых для импорта репозитория. Значения должны быть представлены в виде списка через запятую
    required_packages: [ 'gpg' ]