
مواصفات مستودع VEX
يجب تفسير الكلمات المفتاحية "MUST" و"MUST NOT" و"REQUIRED" و"SHALL" و"SHALL NOT" و"SHOULD" و"SHOULD NOT" و"RECOMMENDED" و"MAY" و"OPTIONAL" الواردة في هذا المستند كما هو موصوف في RFC 2119.
عند مقارنة الإصدارات:
أمثلة على المقارنات:
يوفر ملف البيان (manifest) بيانات وصفية حول مستودع بيانات 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"
}
]
}
| Field | Required | Description and Usage Notes |
|---|---|---|
| name | ✓ | اسم المستودع. |
| description | ✓ | وصف موجز للمستودع. |
| versions | ✓ | مصفوفة تحتوي على تفاصيل الإصدارات المتاحة. يمثل كل كائن في المصفوفة إصدارًا ينفذ نسخة من مواصفات مستودع VEX. يجب ترتيب الإصدارات تصاعديًا، من الأقدم إلى الأحدث. راجع الجدول المنفصل للحقول الفرعية. |
| Field | Required | Description and Usage Notes |
|---|---|---|
| spec_version | ✓ | إصدار مواصفات مستودع VEX المنفذ (مثل "0.1"). يجب أن يكون التنسيق "X.Y" كما هو معرّف في القسم 1. |
| locations | ✓ | مصفوفة من الكائنات تصف مواقع بيانات VEX. يجب أن تحتوي على كائن موقع واحد على الأقل. راجع الجدول المنفصل للحقول الفرعية. |
| update_interval | ✓ | الفاصل الزمني الموصى به للتحقق من التحديثات لبيانات VEX الخاصة بهذا الإصدار. يستخدم تنسيق مدة Go (مثل "1h" أو "30m" أو "24h"). |
| repository_specific | - | معلومات إضافية خاصة بالمستودع. |
| Field | Required | Description and Usage Notes |
|---|---|---|
| url | ✓ | عنوان URL لموقع بيانات VEX، يبدأ بـ "https://". يلتزم المحتوى بمواصفات بنية المستودع في القسم 3 والقسم 4. قد يتضمن عنوان URL تحديد دليل فرعي بإلحاق '//' يتبعه مسار الدليل الفرعي. |
يجب أن يكون للمستودع البنية التالية:
vex-repository.<archive_extension>
[optional_subdirectory/]
├── index.json
└── pkg/
├── <type>/
│ ├── <namespace>/
│ │ ├── <name>/
│ │ │ └── vex.json
│ │ └── ...
│ └── ...
└── ...
حيث <archive_extension> هي إحدى صيغ الأرشيف المدعومة.
يتم تضمين [optional_subdirectory/] عندما ينتهي عنوان URL في حقل locations بـ // يتبعه مسار دليل فرعي.
يسمح هذا بمرونة في بنية المستودع، خاصة عند استخدام تخطيطات مستودعات قائمة مثل تلك الموجودة في مستودعات GitHub.