
Спецификация репозитория VEX
Ключевые слова "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" и "OPTIONAL" в данном документе должны интерпретироваться в соответствии с RFC 2119.
При сравнении версий:
Примеры сравнения:
Файл манифеста содержит метаданные о репозитории данных VEX. Этот файл ДОЛЖЕН содержать информацию, необходимую для получения и обновления данных VEX.
https://<domain>/.well-known/vex-repository.jsonvex-repository.json ДОЛЖЕН быть размещён в корневом каталоге основной ветки.JSON-схема файла манифеста определена здесь.
{
"name": "Example Org VEX Repository",
"description": "VEX repository for Example Organization",
"versions": [
{
"spec_version": "0.1",
"locations": [
{
"url": "https://example.com/vex-hub/v0/vex-data-v0.tar.gz"
}
],
"update_interval": "24h",
"repository_specific": {
"location": {
"repository_type": "db",
"db_type": "bbolt",
"url": "oci://ghcr.io/example.com/vex-db:0"
}
}
},
{
"spec_version": "1.0",
"locations": [
{
"url": "https://example.com/vex-hub/v1/vex-data-v1.tar.gz//subdirectory"
},
{
"url": "https://example.com/vex-api/v1"
}
],
"update_interval": "1h"
}
]
}
| Поле | Обязательно | Описание и примечания по использованию |
|---|---|---|
| name | ✓ | Название репозитория. |
| description | ✓ | Краткое описание репозитория. |
| versions | ✓ | Массив, содержащий сведения о доступных версиях. Каждый объект в массиве представляет версию, реализующую версию Спецификации репозитория VEX. Версии ДОЛЖНЫ быть отсортированы по возрастанию, от самой старой к самой новой. См. отдельную таблицу для подполей. |
| Поле | Обязательно | Описание и примечания по использованию |
|---|---|---|
| spec_version | ✓ | Версия Спецификации репозитория VEX, которая реализована (например, "0.1"). Формат ДОЛЖЕН быть "X.Y", как определено в разделе 1. |
| locations | ✓ | Массив объектов, описывающих расположения данных VEX. ДОЛЖЕН содержать как минимум один объект расположения. См. отдельную таблицу для подполей. |
| update_interval | ✓ | Рекомендуемый интервал проверки обновлений для данных VEX этой версии. Используется формат длительности Go (например, "1h", "30m", "24h"). |
| repository_specific | - | Дополнительная информация, специфичная для данного репозитория. |
| Поле | Обязательно | Описание и примечания по использованию |
|---|---|---|
| url | ✓ | URL расположения данных VEX, начинающийся с "https://". Содержимое соответствует требованиям к структуре репозитория, описанным в разделе 3 и 4. URL может включать указание подкаталога путём добавления '//' с последующим путём к подкаталогу. |