Documentation
¶
Overview ¶
Package releasecatalog selects and completely verifies immutable aggregate GitHub Releases.
Index ¶
- type Candidate
- func (c Candidate) AuraRevision() artifact.Revision
- func (c Candidate) Channel() artifact.ReleaseChannel
- func (c Candidate) InstallerMax() artifact.Version
- func (c Candidate) InstallerMin() artifact.Version
- func (c Candidate) ManifestDigest() artifact.Digest
- func (c Candidate) PastureRevision() artifact.Revision
- func (c Candidate) Version() artifact.Version
- type Catalog
- type DiscoveryLimits
- type Error
- type GitHubLimits
- type GitHubSource
- type PrereleasePolicy
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Candidate ¶
type Candidate struct {
// contains filtered or unexported fields
}
Candidate is one compatible checksum-verified manifest choice bound to its catalog.
func (Candidate) AuraRevision ¶
func (Candidate) Channel ¶
func (c Candidate) Channel() artifact.ReleaseChannel
func (Candidate) InstallerMax ¶
func (Candidate) InstallerMin ¶
func (Candidate) ManifestDigest ¶
func (Candidate) PastureRevision ¶
type Catalog ¶
type Catalog struct {
// contains filtered or unexported fields
}
func New ¶
func New(source *GitHubSource) (*Catalog, error)
func NewWithDiscoveryLimits ¶
func NewWithDiscoveryLimits(source *GitHubSource, limits DiscoveryLimits) (*Catalog, error)
NewWithDiscoveryLimits configures bounded manifest discovery for listing and exact selection.
func (*Catalog) ListCompatible ¶
func (c *Catalog) ListCompatible(ctx context.Context, installer artifact.Version, policy PrereleasePolicy) ([]Candidate, error)
ListCompatible returns typed checksum-verified choices in descending SemVer order.
func (*Catalog) ResolveCandidate ¶
func (c *Catalog) ResolveCandidate(ctx context.Context, candidate Candidate, maxAssetBytes int64) (artifact.VerifiedAggregate, error)
ResolveCandidate verifies exactly the selected candidate and never falls back.
type DiscoveryLimits ¶
Catalog owns compatible candidate discovery and exact immutable verification.
type GitHubLimits ¶
GitHubLimits bound complete catalog discovery across every page.
type GitHubSource ¶
type GitHubSource struct {
// contains filtered or unexported fields
}
GitHubSource is the production GitHub Releases API and asset boundary.
func NewGitHubSource ¶
func NewGitHubSourceWithLimits ¶
func NewGitHubSourceWithLimits(client *http.Client, releasesURL string, limits GitHubLimits) (*GitHubSource, error)
NewGitHubSourceWithLimits configures bounded discovery through the production trust boundary.
type PrereleasePolicy ¶
type PrereleasePolicy uint8
PrereleasePolicy controls whether release candidates may be selected.
const ( FinalsOnly PrereleasePolicy = iota + 1 IncludePrereleases )