Skip to main content

Module manifest

Module manifest 

Source
Expand description

Manifest schema, trust model, and fallback chain.

This module implements:

  • Manifest — the top-level manifest structure with components and metadata
  • ManifestOverlay — a remote overlay that merges onto the baseline
  • Trust verification — signature, schema version anti-rollback, expiry
  • Three-tier fallback chain — fresh remote → cached remote → bundled baseline

§Trust Model

Every remote manifest must pass three trust checks before use:

  1. Signature verification — HMAC-SHA256 against a known key
  2. Schema version — must be ≥ MIN_SCHEMA_VERSION (anti-rollback)
  3. Expiry — if expires_at is set, must not be in the past

§Fallback Chain

fresh remote (if trust checks pass)
  ↓ fetch failure
cached remote (if valid cache exists)
  ↓ no cache
bundled baseline (always available, compiled into binary)

Structs§

Manifest
The top-level manifest structure.
ManifestComponent
A single component entry within a manifest.
ManifestOverlay
A remote overlay that merges onto a baseline manifest.
ResolvedManifest
Result of manifest fallback resolution.

Enums§

ManifestSource
Source of the manifest after fallback resolution.
ManifestTrustError
Errors that can occur during manifest trust verification.

Constants§

CURRENT_SCHEMA_VERSION
Current schema version produced/consumed by this binary.
MIN_SCHEMA_VERSION
Minimum supported schema version. Manifests with a lower version are rejected.

Traits§

ManifestFetcher
Trait for fetching and caching manifests. Implementations provide the actual remote fetch and cache read/write logic.

Functions§

create_signed_manifest
Create a test manifest with a valid signature.
resolve_manifest
Resolve a manifest using the three-tier fallback chain.