
VEX-Repository-Spezifikation
Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind wie in RFC 2119 beschrieben zu interpretieren.
Beim Vergleichen von Versionen:
Beispielvergleiche:
Die Manifestdatei stellt Metadaten über ein VEX-Datenrepository bereit. Diese Datei MUSS die Informationen enthalten, die zum Abrufen und Aktualisieren von VEX-Daten erforderlich sind.
https://<domain>/.well-known/vex-repository.json befinden.vex-repository.json MUSS im Stammverzeichnis des Hauptzweigs abgelegt werden.Das JSON-Schema für die Manifestdatei ist hier definiert.
{
"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"
}
]
}
| Feld | Erforderlich | Beschreibung und Verwendungshinweise |
|---|---|---|
| name | ✓ | Der Name des Repository. |
| description | ✓ | Eine kurze Beschreibung des Repository. |
| versions | ✓ | Ein Array mit Details zu den verfügbaren Versionen. Jedes Objekt im Array repräsentiert eine Version, die eine Version der VEX-Repository-Spezifikation implementiert. Versionen MÜSSEN in aufsteigender Reihenfolge sortiert sein, von der ältesten zur neuesten Version. Siehe separate Tabelle für Unterfelder. |
| Feld | Erforderlich | Beschreibung und Verwendungshinweise |
|---|---|---|
| spec_version | ✓ | Die Version der implementierten VEX-Repository-Spezifikation (z. B. "0.1"). Das Format MUSS "X.Y" sein, wie in Abschnitt 1 definiert. |
| locations | ✓ | Ein Array von Objekten, die VEX-Datenspeicherorte beschreiben. MUSS mindestens ein Standortobjekt enthalten. Siehe separate Tabelle für Unterfelder. |
| update_interval | ✓ | Das empfohlene Intervall für die Aktualisierungsprüfung der VEX-Daten dieser Version. Verwendet das Go-Dauernformat (z. B. "1h", "30m", "24h"). |
| repository_specific | - | Zusätzliche repository-spezifische Informationen. |
| Feld | Erforderlich | Beschreibung und Verwendungshinweise |
|---|---|---|
| url | ✓ | Eine URL für den VEX-Datenspeicherort, die mit "https://" beginnt. Der Inhalt entspricht den Spezifikationen zur Repository-Struktur in Abschnitt 3 und 4. Die URL kann eine Unterverzeichnisangabe enthalten, indem '//' gefolgt vom Unterverzeichnispfad angehängt wird. |