artifacts

package
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2024 License: MPL-2.0 Imports: 31 Imported by: 0

Documentation

Overview

Package artifacts handles acquiring and caching source Talos artifacts.

Index

Constants

View Source
const (
	InstallerImage         = "siderolabs/installer"
	ImagerImage            = "siderolabs/imager"
	ExtensionManifestImage = "siderolabs/extensions"
	OverlayManifestImage   = "siderolabs/overlays"
)

Various images.

View Source
const FetchTimeout = 20 * time.Minute

FetchTimeout controls overall timeout for fetching artifacts for a release.

Variables

This section is empty.

Functions

This section is empty.

Types

type Arch

type Arch string

Arch is the artifacts architecture.

const (
	ArchAmd64 Arch = "amd64"
	ArchArm64 Arch = "arm64"
)

Supported architectures.

type ErrNotFoundTag added in v0.2.1

type ErrNotFoundTag = struct{}

ErrNotFoundTag tags the errors when the artifact is not found.

type ExtensionRef

type ExtensionRef struct {
	TaggedReference name.Tag
	Digest          string
	Description     string
	Author          string
	// contains filtered or unexported fields
}

ExtensionRef is a ref to the extension for some Talos version.

type Kind

type Kind string

Kind is the artifact kind.

const (
	KindKernel      Kind = "vmlinuz"
	KindInitramfs   Kind = "initramfs.xz"
	KindSystemdBoot Kind = "systemd-boot.efi"
	KindSystemdStub Kind = "systemd-stub.efi"
	KindDTB         Kind = "dtb"
	KindUBoot       Kind = "u-boot"
	KindRPiFirmware Kind = "raspberrypi-firmware"
)

Supported artifact kinds.

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager supports loading, caching and serving Talos release artifacts.

func NewManager

func NewManager(logger *zap.Logger, options Options) (*Manager, error)

NewManager creates a new artifacts manager.

func (*Manager) Close

func (m *Manager) Close() error

Close the manager.

func (*Manager) Get

func (m *Manager) Get(ctx context.Context, versionString string, arch Arch, kind Kind) (string, error)

Get returns the artifact path for the given version, arch and kind.

func (*Manager) GetExtensionImage

func (m *Manager) GetExtensionImage(ctx context.Context, arch Arch, ref ExtensionRef) (string, error)

GetExtensionImage pulls and stores in OCI layout an extension image.

func (*Manager) GetInstallerImage

func (m *Manager) GetInstallerImage(ctx context.Context, arch Arch, versionString string) (string, error)

GetInstallerImage pulls and stoers in OCI layout installer image.

func (*Manager) GetOfficialExtensions

func (m *Manager) GetOfficialExtensions(ctx context.Context, versionString string) ([]ExtensionRef, error)

GetOfficialExtensions returns a list of Talos extensions per Talos version available.

func (*Manager) GetOfficialOverlays added in v0.3.0

func (m *Manager) GetOfficialOverlays(ctx context.Context, versionString string) ([]OverlayRef, error)

GetOfficialOverlays returns a list of overlays per Talos version available.

func (*Manager) GetOverlayImage added in v0.3.0

func (m *Manager) GetOverlayImage(ctx context.Context, arch Arch, ref OverlayRef) (string, error)

GetOverlayImage pulls and stores in OCI layout an overlay image.

func (*Manager) GetSchematicExtension

func (m *Manager) GetSchematicExtension(ctx context.Context, versiontag string, schematic *schematic.Schematic) (string, error)

GetSchematicExtension returns a path to the tarball with "virtual" extension matching a specified schematic.

func (*Manager) GetTalosVersions

func (m *Manager) GetTalosVersions(ctx context.Context) ([]semver.Version, error)

GetTalosVersions returns a list of Talos versions available.

type Options

type Options struct {
	// ImageRegistry is the registry which stores imager, extensions, etc..
	//
	// For official images, this is "ghcr.io".
	ImageRegistry string
	// Option to allow using an image registry without TLS.
	InsecureImageRegistry bool
	// MinVersion is the minimum version of Talos to use.
	MinVersion semver.Version
	// ImageVerifyOptions are the options for verifying the image signature.
	ImageVerifyOptions cosign.CheckOpts
	// TalosVersionRecheckInterval is the interval for rechecking Talos versions.
	TalosVersionRecheckInterval time.Duration
	// RemoteOptions is the list of remote options for the puller.
	RemoteOptions []remote.Option
}

Options are the options for the artifacts manager.

type OverlayRef added in v0.3.0

type OverlayRef struct {
	Name            string
	TaggedReference name.Tag
	Digest          string
}

OverlayRef is a ref to the overlay for some Talos version.

Jump to

Keyboard shortcuts

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