Skip to main content

Module release

Module release 

Source
Expand description

The seam between the engine and any release bundle.

A release bundle is the payload of one release-kit release: every root src/payload_roots.rs declares, at that release’s bytes. The engine reads a bundle through ReleaseSource and through nothing else, so the same planner describes the release compiled into this binary, a release fetched from the crates venue, and a directory a test wrote. The trait is two methods on purpose: the manifest, and a blob by digest. Every method on the seam is a promise every source must keep.

payload_schema is the protocol version between an engine and a bundle. An engine reads any bundle whose schema is at or below its own, and refuses a newer one by naming the engine version to install: that is the whole compatibility rule, and the only case where a newer binary must be obtained.

Re-exports§

pub use crate_source::CrateReleaseSource;
pub use dir::DirReleaseSource;
pub use embedded::EmbeddedReleaseSource;

Modules§

crate_source
The crates venue behind the seam: another release’s bundle, fetched once, verified against the registry’s own checksum, and cached by that checksum.
declared
What a bundle declares beyond its bytes: the compatibility file and the guidance files, read through the seam and parsed once.
dir
A release bundle laid out as a directory, behind the seam.
embedded
The bundle compiled into this binary, behind the seam.

Structs§

Artifact
One artifact of a bundle and the digest of its bytes.
ReleaseManifest
What identifies one release bundle: the rk.payload/1 document, as rk payload --json has always emitted it, promoted to a type.

Constants§

PAYLOAD_SCHEMA
The version of the manifest’s shape and of the bundle protocol.

Traits§

ReleaseSource
One release bundle, read by the engine.

Functions§

aggregate
The aggregate digest: SHA-256 over one <path>\n<sha256>\n record per artifact, in list order. Any change to any artifact, any rename, and any reordering of the roots changes it.
check_schema
The protocol rule, as one function both sides of the boundary test.
read
The bytes of one artifact by path, through the manifest.