artifacts

package
v1.0.3 Latest Latest
Warning

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

Go to latest
Published: Feb 9, 2026 License: MPL-2.0 Imports: 34 Imported by: 0

Documentation

Overview

Package artifacts handles acquiring and caching source Talos artifacts.

Index

Constants

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 ImageVerifyOptions added in v0.9.0

type ImageVerifyOptions = image.VerifyOptions

ImageVerifyOptions are the options for verifying the image signature.

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"
)

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 stores in OCI layout installer-base 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) GetOverlayArtifact added in v0.7.1

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

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

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.

func (*Manager) GetTalosctlImage added in v0.7.5

func (m *Manager) GetTalosctlImage(ctx context.Context, versionString string) (string, error)

GetTalosctlImage pulls and stores in OCI layout talosctl-all image.

func (*Manager) GetTalosctlTuples added in v0.7.5

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

GetTalosctlTuples returns a list of Talosctl tuples for the given version.

func (*Manager) InstallerImageName added in v0.9.0

func (m *Manager) InstallerImageName(versionTag string) string

InstallerImageName returns an installer image name based on Talos version.

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 ImageVerifyOptions
	// TalosVersionRecheckInterval is the interval for rechecking Talos versions.
	TalosVersionRecheckInterval time.Duration
	// RemoteOptions is the list of remote options for the puller.
	RemoteOptions []remote.Option
	// RegistryRefreshInterval is the interval for refreshing the image registry connections.
	RegistryRefreshInterval time.Duration

	// Images used by the artifacts manager.
	InstallerBaseImage     string
	InstallerImage         string
	ImagerImage            string
	ExtensionManifestImage string
	OverlayManifestImage   string
	TalosctlImage          string
}

Options are the options for the artifacts manager.

type OverlayKind added in v0.7.1

type OverlayKind string

OverlayKind if the kind of overlay artifacts.

const (
	OverlayKindProfiles OverlayKind = "profiles"
)

Supported overlay kinds.

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.

type TalosctlTuple added in v0.7.5

type TalosctlTuple struct {
	OS   string
	Arch string
	Ext  string
}

TalosctlTuple represents a OS/Arch/Ext tuple for talosctl binaries.

Directories

Path Synopsis
internal
image
Package image provides utilities for working with container image signatures.
Package image provides utilities for working with container image signatures.

Jump to

Keyboard shortcuts

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