source

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const ConfigDirLabel = "operators.operatorframework.io.index.configs.v1"
View Source
const UnpackCacheDir = "unpack"

Variables

This section is empty.

Functions

This section is empty.

Types

type ContainersImageRegistry added in v0.28.0

type ContainersImageRegistry struct {
	BaseCachePath     string
	SourceContextFunc func(logger logr.Logger) (*types.SystemContext, error)
}

func (*ContainersImageRegistry) Cleanup added in v0.28.0

func (*ContainersImageRegistry) Unpack added in v0.28.0

type Result

type Result struct {
	// Bundle contains the full filesystem of a catalog's root directory.
	FS fs.FS

	// ResolvedSource is a reproducible view of a Bundle's Source.
	// When possible, source implementations should return a ResolvedSource
	// that pins the Source such that future fetches of the catalog content can
	// be guaranteed to fetch the exact same catalog content as the original
	// unpack.
	//
	// For example, resolved image sources should reference a container image
	// digest rather than an image tag, and git sources should reference a
	// commit hash rather than a branch or tag.
	ResolvedSource *catalogdv1.ResolvedCatalogSource

	LastSuccessfulPollAttempt metav1.Time

	// State is the current state of unpacking the catalog content.
	State State

	// Message is contextual information about the progress of unpacking the
	// catalog content.
	Message string

	// UnpackTime is the timestamp when the transition to the current State happened
	UnpackTime time.Time
}

Result conveys progress information about unpacking catalog content.

type State

type State string
const StateUnpacked State = "Unpacked"

StateUnpacked conveys that the catalog has been successfully unpacked.

type Unpacker

type Unpacker interface {
	Unpack(context.Context, *catalogdv1.ClusterCatalog) (*Result, error)
	Cleanup(context.Context, *catalogdv1.ClusterCatalog) error
}

Unpacker unpacks catalog content, either synchronously or asynchronously and returns a Result, which conveys information about the progress of unpacking the catalog content.

If a Source unpacks content asynchronously, it should register one or more watches with a controller to ensure that Bundles referencing this source can be reconciled as progress updates are available.

For asynchronous Sources, multiple calls to Unpack should be made until the returned result includes state StateUnpacked.

NOTE: A source is meant to be agnostic to specific catalog formats and specifications. A source should treat a catalog root directory as an opaque file tree and delegate catalog format concerns to catalog parsers.

Jump to

Keyboard shortcuts

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