Documentation
¶
Overview ¶
Package pluginspec is the plugin config-blob schema (mediatype.PluginConfig) — the signed descriptor a bare binary can't self-carry (ADR-0034 decision 2). It is the producer↔hub shared type: the publisher (pvtr) writes and signs it; the hub reads it as the authoritative source on sync. (Named pluginspec, not plugin, so it does not shadow the standard library's plugin package.)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
// Plugin is the <namespace>/<plugin_id> REGISTRY COORDINATE the index is
// published under — NOT a GitHub owner/repo. A mismatch with the coordinate
// is rejected (apierror.PluginCoordinateMismatch).
Plugin string `json:"plugin"`
// Version must equal the index tag (else apierror.TagVersionMismatch).
Version string `json:"version"`
Platform Platform `json:"platform"`
Entrypoint string `json:"entrypoint"`
Protocol string `json:"protocol"`
Evaluates []Evaluate `json:"evaluates"` // non-empty; each RequirementIDs non-empty (else apierror.MalformedIndex)
}
Config is one plugin config blob, one per child image manifest. Platform is per-child; Plugin, Version, Entrypoint, Protocol, and Evaluates describe the plugin as a whole and must agree across every child.
type Evaluate ¶
type Evaluate struct {
Catalog string `json:"catalog"` // <namespace>/<catalog_id>
CatalogVersion string `json:"catalog_version"`
RequirementIDs []string `json:"requirement_ids"`
}
Evaluate is one entry in a config's evaluates list: a Layer 2 ControlCatalog coordinate at a specific version plus the assessment-requirement IDs the plugin implements.