releasecatalog

package
v0.0.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

Package releasecatalog selects and completely verifies immutable aggregate GitHub Releases.

Index

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 (c Candidate) AuraRevision() artifact.Revision

func (Candidate) Channel

func (c Candidate) Channel() artifact.ReleaseChannel

func (Candidate) InstallerMax

func (c Candidate) InstallerMax() artifact.Version

func (Candidate) InstallerMin

func (c Candidate) InstallerMin() artifact.Version

func (Candidate) ManifestDigest

func (c Candidate) ManifestDigest() artifact.Digest

func (Candidate) PastureRevision

func (c Candidate) PastureRevision() artifact.Revision

func (Candidate) Version

func (c Candidate) Version() artifact.Version

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

type DiscoveryLimits struct {
	MaxCandidates int
	MaxBytes      int64
}

Catalog owns compatible candidate discovery and exact immutable verification.

type Error

type Error struct {
	Stage, Location, Reason, Impact, Fix string
	Cause                                error
}

Error provides stable actionable release-catalog failure fields.

func (*Error) Error

func (e *Error) Error() string

func (*Error) Unwrap

func (e *Error) Unwrap() error

type GitHubLimits

type GitHubLimits struct {
	MaxPages      int
	MaxCandidates int
	MaxBytes      int64
}

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 NewGitHubSource(client *http.Client, releasesURL string, maxCatalogBytes int64) (*GitHubSource, error)

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
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL