Digest-First-Versionierung

Unveränderliche Release-Identität durch Inhalts-Hash

Eine Veröffentlichung ist ein Bündel von OCI Digests wurden zum Zeitpunkt der Erstellung aufgelöst. Tags sind für Menschen lesbare Aliase; Digests sind kryptografische Wahrheit.

Warum Digest-First?

Veränderliche Tags erzeugen Mehrdeutigkeit. Das gleiche Tag kann im Laufe der Zeit auf unterschiedliche Inhalte verweisen. Digest-First-Versionierung beseitigt diese Unsicherheit.

Unveränderliche Identität

SHA-256-Digests stellen sicher, dass das hochgestufte Artefakt Byte-identisch mit dem gescannten und genehmigten Artefakt ist.

Manipulationserkennung

Jede Änderung am Artefakt ändert seinen Digest. Nichtübereinstimmung der Pull-Zeit = Bereitstellungsfehler. Manipulationen lassen sich nicht verbergen.

Audit Trail

Genau wissen, welches Artefakt wo, wann und warum bereitgestellt wurde – mit kryptografischem Beweis, der Scan, Genehmigung usw. verknüpft Bereitstellung.

Sinnvolles Rollback

Rollback kehrt zu genauen bekanntermaßen guten Zusammenfassungen zurück, nicht zu „was auch immer: aktuelle Punkte bis jetzt“. Gleiche Bytes, garantiert.

Release-Struktur

Eine Veröffentlichung in Stella bündelt mehrere Komponenten, die jeweils durch ihren OCI-Digest identifiziert werden. Die Veröffentlichung selbst verfügt über eine semantische Version für die menschliche Lesbarkeit.

Beispiel-Release-Bundle

Release: myapp-v2.3.1

Komponenten:

api: sha256:abc123...

worker: sha256:def456...

frontend: sha256:789ghi...

Erstellen und verwalten Sie Releases über die CLI

Terminal
$ stella release create --name myapp-v2.3.1 --components api:v2.3.1,worker:v2.3.1
stella release list --environment production\nstella release show myapp-v2.3.1 --components

Tag-to-Digest Lösung

Wenn Sie eine Version erstellen, löst Stella sofort alle Tags in ihre aktuellen Digests auf. Ab diesem Moment ist die Veröffentlichung unveränderlich.

  • Tags wie :v2.3.1 werden zum Zeitpunkt der Erstellung in sha256:abc123... aufgelöst
  • Wenn jemand ein neues Bild an denselben Tag verschiebt, ist Ihre Veröffentlichung nicht betroffen
  • Registrierungsabfragen verwenden immer @sha256:digest-Syntax – keine Tag-Neuauflösung

Unveränderlichkeitsgarantie

Sobald eine Veröffentlichung erstellt wurde, kann sich ihr Digest-Set nicht mehr ändern. In jeder Umgebung werden jedes Mal genau die gleichen Bytes bereitgestellt.

Generierte Artefakte

Jede Bereitstellung generiert unveränderliche Artefakte, die Reproduzierbarkeit, Prüfung und Rollback ermöglichen.

compose.stella.lock.yml

Docker Compose-Datei mit allen Bildverweisen, die an bestimmte Digests angeheftet sind. Enthält Stella-Metadatenbezeichnungen für die Rückverfolgbarkeit.

image: registry.example.com/myapp/api@sha256:abc123...

labels:

stella.release.id: "rel-uuid"

stella.digest: "sha256:abc123..."

stella.version.json

JSON-Metadatendatei, die auf Bereitstellungszielen platziert wird und die aktuelle Version, Komponenten, Bereitstellungsstrategie und vorherige Version für das Rollback angibt.

"release": { "name": "myapp-v2.3.1" }

"deployment": { "strategy": "rolling" }

"previous": { "digest": "sha256:789..." }

"signature": "base64-encoded-signature"

Beweisbindung

Jede Version bindet Sicherheitsnachweise an die genauen Digests, die bereitgestellt werden. Der Beweis wandert mit der Veröffentlichung durch die Promotion.

Beweise FieldInhalt
sbomDigestSHA-256 des für diesen Digest generierten SBOM
scanVerdictGut/Schlecht-Ergebnis der Richtlinienbewertung mit Beweisreferenzen
reachabilityProofCAS-URI des signierten Erreichbarkeitsdiagramms für diesen Digest
policyHashHash der für die Bewertung verwendeten Richtlinienversion

Deterministische Wiedergabe: Bei gleicher Version und Richtlinie Hash führt eine Neubewertung zu bitidentischen Urteilen. Prüfer können Entscheidungen Monate später überprüfen.

Bereit für eine unveränderliche Release-Identität?

Installieren Sie Stella Ops und beginnen Sie mit der Versionierung von Releases durch Inhalts-Hash mit vollständiger Beweisbindung.