Documentation
¶
Overview ¶
Package lock records reproducible plugin selections independently of local overrides.
Index ¶
- Constants
- func CheckDeclarations(file *File, declarations map[string]schema.PluginPackage) error
- func CheckRelease(entry *Entry, release *pluginoci.Release) error
- func Path(project string) string
- func Save(project string, file *File) error
- type Entry
- type Export
- type File
- type Spec
- type Verification
Constants ¶
View Source
const Kind = "AtmosPluginLock"
Variables ¶
This section is empty.
Functions ¶
func CheckDeclarations ¶
func CheckDeclarations(file *File, declarations map[string]schema.PluginPackage) error
CheckDeclarations enforces exact dependency/lock agreement in frozen mode.
func CheckRelease ¶
CheckRelease prevents tag movement or layout substitution from changing a lock.
Types ¶
type Entry ¶
type Entry struct {
Plugin string `yaml:"plugin" json:"plugin"`
Source string `yaml:"source" json:"source"`
Constraint string `yaml:"constraint" json:"constraint"`
Version string `yaml:"version" json:"version"`
IndexDigest string `yaml:"index_digest" json:"index_digest"`
Platforms map[string]string `yaml:"platforms" json:"platforms"`
Runtime manifest.Runtime `yaml:"runtime" json:"runtime"`
Exports []Export `yaml:"exports" json:"exports"`
Verification Verification `yaml:"verification" json:"verification"`
}
Entry contains the source constraint and the exact release/platform digests.
type Export ¶
type Export struct {
Capability string `yaml:"capability" json:"capability"`
Name string `yaml:"name" json:"name"`
}
Export identifies one statically validated extension.
type File ¶
type File = atmosmanifest.Manifest[Spec]
File is a standard versioned Atmos manifest.
type Spec ¶
type Spec struct {
LockVersion int `yaml:"lock_version" json:"lock_version"`
GeneratedAt time.Time `yaml:"generated_at" json:"generated_at"`
AtmosVersion string `yaml:"atmos_version" json:"atmos_version"`
Packages map[string]Entry `yaml:"packages" json:"packages"`
}
Spec records immutable release choices; timestamps never affect frozen equality.
type Verification ¶
type Verification struct {
Signature string `yaml:"signature" json:"signature"`
Identity string `yaml:"identity,omitempty" json:"identity,omitempty"`
Issuer string `yaml:"issuer,omitempty" json:"issuer,omitempty"`
}
Verification distinguishes integrity from publisher identity.
Click to show internal directories.
Click to hide internal directories.