types

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNoUpdatesFound = errors.New("no package updates found for image")

ErrNoUpdatesFound indicates that no package updates are available for the image.

Functions

This section is empty.

Types

type LangUpdatePackages

type LangUpdatePackages []UpdatePackage

type MultiPlatformSummary

type MultiPlatformSummary struct {
	Platform string
	Status   string
	Ref      string
	Message  string
}

type Options

type Options struct {
	// Core single image patch configuration
	Image         string
	Report        string
	PatchedTag    string
	Suffix        string
	ChiselRelease string

	// Working environment
	WorkingFolder string
	Timeout       time.Duration

	// Scanner and output
	Scanner     string
	IgnoreError bool

	// Output configuration
	Format   string
	Output   string
	Progress progressui.DisplayMode

	// Buildkit connection options
	BkAddr       string
	BkCACertPath string
	BkCertPath   string
	BkKeyPath    string

	// Platform and push
	Push             bool
	Platforms        []string
	Loader           string
	OCIDir           string
	Compression      string
	ForceCompression bool

	// Package types and library patch level
	PkgTypes          string
	LibraryPatchLevel string

	// Toolchain patch level (e.g., Go stdlib upgrade)
	ToolchainPatchLevel string
	GoVCSURL            string

	// EOL configuration
	EOLAPIBaseURL string
	ExitOnEOL     bool
}

Options contains common copacetic options.

type PatchPlatform

type PatchPlatform struct {
	ispec.Platform
	ReportFile     string `json:"reportFile"`
	ShouldPreserve bool   `json:"shouldPreserve"`
}

PatchPlatform is an extension of ispec.Platform but with a reportFile.

func (PatchPlatform) String

func (p PatchPlatform) String() string

String returns a string representation of the PatchPlatform.

type PatchResult

type PatchResult struct {
	OriginalRef  reference.Named
	PatchedDesc  *ispec.Descriptor
	PatchedRef   reference.Named
	PatchedState *llb.State                // BuildKit state for OCI export
	ConfigData   []byte                    // Image config data
	Summary      *unversioned.PatchSummary // Patch summary, nil if unavailable
	// VEX is set when this platform was patched and qualifies for a VEX statement.
	// Nil for preserved, up-to-date, and failed platforms.
	VEX *PlatformVEX
}

PatchResult represents the result of a single arch patch operation.

type PlatformVEX

type PlatformVEX struct {
	// Updates is the validated manifest after errored packages are excluded.
	Updates *unversioned.UpdateManifest
	// PkgType is the package manager type used to build subcomponent PURLs.
	PkgType string
	// NameDigestOrTag is the patched image name with digest.
	NameDigestOrTag string
}

PlatformVEX is the validated update manifest for one patched platform image. It is set when a report was provided, the patched digest is known, and the validated manifest contains at least one OS or language update.

type UpdateManifest

type UpdateManifest struct {
	OSType      string             `json:"osType"`
	OSVersion   string             `json:"osVersion"`
	Arch        string             `json:"arch"`
	Updates     UpdatePackages     `json:"updates"`
	LangUpdates LangUpdatePackages `json:"langupdates"`
}

type UpdatePackage

type UpdatePackage struct {
	Name             string `json:"name"`
	InstalledVersion string `json:"installedVersion"`
	FixedVersion     string `json:"fixedVersion"`
	VulnerabilityID  string `json:"vulnerabilityID"`
	Type             string `json:"type"`
	Class            string `json:"class"`
}

type UpdatePackages

type UpdatePackages []UpdatePackage

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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