Documentation
¶
Overview ¶
Package artifact defines the private distribution manifest shared by packaging and runtime verification.
Index ¶
Constants ¶
const GuestABI = "debuglet-go-wasi-imports-v1"
const ManifestPath = "share/debuglet/manifest.json"
const Toolchain = "go1.26.9"
Variables ¶
This section is empty.
Functions ¶
func CheckUniqueJSON ¶
CheckUniqueJSON rejects duplicate object keys and extra JSON values.
func PayloadModes ¶
PayloadModes returns a fresh map, so callers cannot mutate the contract.
func PayloadModesFor ¶ added in v0.3.0
PayloadModesFor returns the exact file set for a full bundle (empty component) or one role. An unknown component has no payload.
func ValidSourceSHA ¶
func ValidVersion ¶
Types ¶
type Manifest ¶
type Manifest struct {
SchemaVersion int `json:"schema_version"`
Component string `json:"component,omitempty"`
Version string `json:"version"`
SourceSHA string `json:"source_sha"`
Dirty bool `json:"dirty"`
GoVersion string `json:"go_version"`
GOOS string `json:"goos"`
GOARCH string `json:"goarch"`
GuestABI string `json:"guest_abi"`
Files map[string]File `json:"files"`
BuildPipelineURL string `json:"build_pipeline_url"`
}
Manifest identifies one complete installation. It never hashes itself.
func DecodeManifest ¶
DecodeManifest is bounded, rejects duplicate and unknown keys, and validates metadata before any payload is opened. Hashes provide identity, not signatures.
func DecodeManifestMetadata ¶
DecodeManifestMetadata validates metadata with an explicit file object. Build records use an empty object until the final payload manifest is assembled.