Добавление версии конфигурации

Версия конфигурации описывается в файле формата JSON.

Пример описания версии конфигурации для формулы по установке Яндекс Браузера:

{
  "displayName": "23.9.1.1023",
  "formulaName": "yandex-browser",
  "releaseDate": "2023-11-14",
  "softwareRequirements": "example",
  "pillarProperty": {
    "lookup": {
      "pkg": {
        "version": "23.9.1.1023-1"
      }
    }
  }
}

Где:

  • displayName — имя, которое отображается в пользовательском интерфейсе (обязательное поле);

  • formulaName — имя формулы, используемой для установки данной версии (обязательное поле);

  • releaseDate — дата выпуска версии (обязательное поле);

  • softwareRequirements — требования к установке данной версии (обязательное поле);

  • pillarProperty — параметры для переопределения; если поле останется незаполненным, формула версии будет устанавливаться с параметрами по умолчанию.

    В зависимости от назначения формулы можно переопределить некоторые параметры. Параметры, доступные для переопределения, описаны в файле формулы формата YAML pillar.example.

    Пример файла pillar.example для формулы по установке Яндекс Браузера:

    yandex-browser:
      # Переопределите значение map.jinja
      lookup:
        # Укажите параметры пакета
        pkg:
          # Укажите имя пакета для конкретной ОС
          name: yandex-browser-stable
          # Set the specific version of a package. If value is an empty string then used latest version
          version: '23.5.4.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 http://repo.yandex.ru/yandex-browser/deb stable'
          # Выполните настройку репозитория, чтобы он стал недоступным для поиска и установки пакетов.
          # Значения: True или False
          disabled: False
          # Укажите тип пакетов (компонентов), которые будут установлены из репозитория (например, main, nonfree, ...).
          # Значения параметра comps должны быть заданы в виде списка через запятую
          comps: 'main,contrib,non-free'
          # Укажите имена файлов .list и .gpg. Не могут быть пустой строкой
          conf_name: 'yandex-browser'
          # Укажите key-файл (.gpg) для загрузки на агент. Этот файл может храниться как на сервере управления,
          # так и на серверах HTTP(S) или FTP.
          # Этот файл используется в опции репозитория signed-by. Значение может быть пустой строкой.
          key_file: 'https://repo.yandex.ru/yandex-browser/YANDEX-BROWSER-KEY.GPG'
          # Установите значение True, чтобы декодировать данные key-файла из формата base64 в бинарный
          key_file_dearmor: True
          # Установите полный путь к каталогу ключей на агенте
          key_keyrings_dir: '/etc/apt/keyrings/'
          # Укажите имена для установки пакетов, необходимых для импорта репозитория. Значения должны быть представлены в виде списка через запятую
          required_packages: [ 'gpg' ]

После того как вы подготовите JSON-файл с версией конфигурации, импортируйте его, используя метод /v1/configurations/{configurationId}/versions/.