Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SmokeFingerprint ¶
SmokeFingerprint versions the promotion policy independently from the byte-producing build recipe. Tightening a runtime assertion must revalidate an existing immutable image, but it must not force a byte-identical rebuild.
Types ¶
type ApplyOptions ¶
type ApplyOptions struct {
// StageOnly builds or reuses the immutable alias and completes its smoke
// test without changing current/previous aliases.
StageOnly bool
}
type Artifacts ¶
type Artifacts struct {
Directory string `json:"directory"`
Checksums string `json:"checksums"`
Signature string `json:"signature"`
Metadata string `json:"metadata"`
Disk string `json:"disk"`
Rootfs string `json:"rootfs,omitempty"`
Runner string `json:"runner"`
CompilerCache string `json:"compiler_cache"`
// Toolchains maps each pinned toolchain name to its verified local archive.
Toolchains map[string]string `json:"toolchains"`
VerifiedBy string `json:"verified_by"`
}
func FetchArtifacts ¶
type CommandRunner ¶
type ExecRunner ¶
type ExecRunner struct{ Path string }
type Orchestrator ¶
type Orchestrator struct {
Runner CommandRunner
// contains filtered or unexported fields
}
func (*Orchestrator) ApplyWithOptions ¶
func (o *Orchestrator) ApplyWithOptions(ctx context.Context, plan imageplan.Plan, artifacts Artifacts, options ApplyOptions) (Result, error)
type Result ¶
type Result struct {
Applied bool `json:"applied"`
Built bool `json:"built"`
Promoted bool `json:"promoted"`
ManifestFingerprint string `json:"manifest_fingerprint"`
RecipeFingerprint string `json:"recipe_fingerprint"`
SmokeFingerprint string `json:"smoke_fingerprint"`
SourceFingerprint string `json:"source_fingerprint"`
ImageFingerprint string `json:"image_fingerprint"`
ImmutableAlias string `json:"immutable_alias"`
CurrentAlias string `json:"current_alias"`
PreviousFingerprint string `json:"previous_fingerprint,omitempty"`
PackageManifestSHA256 string `json:"package_manifest_sha256"`
Smoke map[string]any `json:"smoke"`
}
Click to show internal directories.
Click to hide internal directories.