Documentation
¶
Overview ¶
Package artifact defines the private distribution manifest shared by packaging and runtime verification.
Index ¶
Constants ¶
View Source
const GuestABI = "debuglet-go-wasi-imports-v1"
View Source
const ManifestPath = "share/debuglet/manifest.json"
View Source
const Toolchain = "go1.25.11"
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 ValidSourceSHA ¶
func ValidVersion ¶
Types ¶
type Manifest ¶
type Manifest struct {
SchemaVersion int `json:"schema_version"`
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.
Click to show internal directories.
Click to hide internal directories.