Формула ark-formula

Формула для установки пакета Ark (инструмент для сжатия/распаковки графических файлов).

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

Состояние ark

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

Устанавливает пакет Ark из целевого репозитория. Имеет зависимость от ark.repository, ark.package через список include.

Состояние ark.repository

Имеет зависимость от ark.repository.install через список include.

Состояние ark.repository.install

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

  • ark.repository.package.install через список include;

  • ark.repository.key.install через список include и реквизит require.

Состояние ark.repository.package.install

Устанавливает пакеты repo.required_packages(по умолчанию — gpg).

Состояние ark.repository.key.install

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

Состояние ark.package

Устанавливает пакет Ark.

Состояние ark.clean

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

Отменяет все действия, выполненные в мета-состоянии ark, в обратном порядке, т.е. удаляет пакет и удаляет целевой репозиторий (если он был импортирован). Имеет зависимость от ark.package.clean и ark.repository.clean через список include.

Состояние ark.package.clean

Удаляет пакет Ark.

Состояние ark.repository.clean

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

Состояние ark.repository.key.clean

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

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

ark:
  # Переопределите значение map.jinja
  lookup:
    # Укажите параметры пакета
    pkg:
      # Укажите имя пакета для конкретной ОС
      name: my-ark
      # Укажите конкретную версию пакета. Если значение представляет собой пустую строку, используется последняя версия
      version: '1.0.0.685-1'
      # Укажите репозиторий, из которого будет производиться установка. Когда репозиторий будет добавлен (по repo.name),
      # он будет назначен заданному релизу (suite).
      #  Значение может быть пустой строкой
      fromrepo: 'stable'
    # Укажите параметры репозитория
    repo:
      # Укажите имя репозитория, которое будет импортировано в систему. Значение должно быть указано в формате
      # one-line-style (https://manpages.debian.org/unstable/apt/sources.list.5.en.html#THE_DEB_AND_DEB-SRC_TYPES:_GENERAL_FORMAT)
      # без опций. Чтобы задать опции, используйте дополнительные параметры репозитория.
      # Если значение представляет собой пустую строку, то репозиторий не будет импортирован
      name: 'deb 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: 'ark'
      # Укажите key-файл (.gpg) для загрузки на агент. Этот файл может храниться как на сервере управления,
      # так и на серверах HTTP(S) или FTP.
      # Этот файл используется в опции репозитория signed-by. Значение может быть пустой строкой.
      key_file: 'salt://files/keys/MY-ARK-KEY.GPG'
      # Установите значение True, чтобы декодировать данные key-файла из формата base64 в бинарный
      key_file_dearmor: True
      # Установите полный путь к каталогу ключей на агенте
      key_keyrings_dir: '/etc/apt/keyrings/'
      # Укажите имена для установки пакетов, необходимых для импорта репозитория. Значения должны быть представлены в виде списка через запятую
      required_packages: [ 'gpg' ]