Zum Inhalt springen

Hinweise zu Paketformaten

Referenz zu Paketformaten und Repository-Typen in Craftifact: Maven, Python, npm, OCI, Go und Generic mit ihren Funktionen und Einschränkungen.

Unterstützung im Überblick

Craftifact unterstützt aktuell diese Repository-Familien:

  • Maven
  • Python
  • npm
  • OCI
  • Go
  • Generic

Maven, Python, npm und OCI unterstützen Hosted-, Proxy- und Group-Repositorys. Go unterstützt derzeit nur Proxy-Repositorys. Generic unterstützt aktuell nur Hosted.

Allgemeine Regeln:

  • Hosted-Repositorys sind das normale schreibbare Ziel
  • Proxy-Repositorys sind effektiv schreibgeschützt
  • Group-Repositorys sind effektiv schreibgeschützt und hängen von ihren Member-Repositorys ab

Generic

Generic speichert opake Bytes unter vollständigen Objektpfaden über PUT, GET und HEAD. Es ist kein Maven-Ersatz, Archivformat, Website-Repository oder WebDAV-Endpunkt. Dateiendungen lösen keine Paketsemantik, kein Entpacken und keine automatische Supply-Chain-Analyse aus. Siehe die Generic-Referenz.

Maven

version_policy ist der wichtigste Maven-spezifische Verhaltensschalter.

Unterstützte Werte sind:

  • Release
  • Snapshot
  • Mixed

Aktuelles Verhalten:

  • Standard-Normalisierung ist Mixed
  • ein Wechsel eines bestehenden Maven-Repositorys auf eine strengere Ziel-Policy wird blockiert, wenn vorhandene Artefakte diese Ziel-Policy verletzen würden
  • Metadaten-Dateien sowie Checksum- und Signatur-Sidecars gelten nicht als Policy-Verletzungen

OCI

Bei OCI gibt es zwei Grace-bezogene Verhaltensweisen, die man kennen sollte.

Untag-Grace

Wenn du den letzten Tag entfernst, der auf ein Manifest zeigt, wird die Manifest-Closure nicht sofort gelöscht. Sie geht zuerst in ein Untag-Grace-Fenster von 5 Minuten.

Namespace-Delete-Grace

Das Löschen eines Namespace im UI nutzt eine Grace-Periode von 1 Stunde. Damit hast du vor der finalen Bereinigung ein Restore-Fenster.

Garbage Collection

OCI-Garbage-Collection läuft nach Zeitplan. Standardmäßig nutzt die Konfigurationsschicht ein 10-Minuten-Intervall für OCI-GC-Scheduling. Nicht referenzierte hochgeladene OCI-Inhalte, die älter als die Grace-Periode sind, können gelöscht werden.

Go

Go unterstützt derzeit nur Proxy-Repositorys.

Python und npm

Python und npm verhalten sich heute auf Repository-Typ-Ebene wie die übrigen Familien:

  • Hosted-, Proxy- und Group-Repositorys werden unterstützt
  • einen besonderen Policy-Schalter wie Maven version_policy gibt es aktuell nicht

Import-bezogene Hinweise

Die aktuelle Nexus-Import-Abdeckung umfasst:

  • Maven
  • Python
  • OCI
  • npm

Proxy-Repository-Definitionen können importiert werden, Proxy-Cache-Inhalte aber nicht.

Verwandte Seiten