dependency

package
v1.1.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2026 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package dependency is a generated GoMock package.

Package dependency is a generated GoMock package.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApplyOCICollectOpts

func ApplyOCICollectOpts(opts ...OCICollectOpt) ociCollectOpts

ApplyOCICollectOpts applies the given options and returns the configured options struct.

func NewPrefetchManager

func NewPrefetchManager(
	log *log.PrefixLogger,
	podmanFactory client.PodmanFactory,
	skopeoFactory client.SkopeoFactory,
	cliClients client.CLIClients,
	readWriter fileio.ReadWriter,
	pullTimeout util.Duration,
	resourceManager resource.Manager,
	pollConfig poll.Config,
) *prefetchManager

NewPrefetchManager creates a new prefetch manager instance TODO: Consider extending cliClients to include podman and skopeo in the future

Types

type ClientOptsFn

type ClientOptsFn func() []client.ClientOption

ClientOptsFn is a function that lazily resolves client options. This allows deferring config resolution until a pull is actually needed, avoiding disk I/O in steady state when all images are already present.

type MockOCICollector

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

MockOCICollector is a mock of OCICollector interface.

func NewMockOCICollector

func NewMockOCICollector(ctrl *gomock.Controller) *MockOCICollector

NewMockOCICollector creates a new mock instance.

func (*MockOCICollector) CollectOCITargets

func (m *MockOCICollector) CollectOCITargets(ctx context.Context, current, desired *v1beta1.DeviceSpec, opts ...OCICollectOpt) (*OCICollection, error)

CollectOCITargets mocks base method.

func (*MockOCICollector) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

type MockOCICollectorMockRecorder

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

MockOCICollectorMockRecorder is the mock recorder for MockOCICollector.

func (*MockOCICollectorMockRecorder) CollectOCITargets

func (mr *MockOCICollectorMockRecorder) CollectOCITargets(ctx, current, desired any, opts ...any) *gomock.Call

CollectOCITargets indicates an expected call of CollectOCITargets.

type MockPrefetchManager

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

MockPrefetchManager is a mock of PrefetchManager interface.

func NewMockPrefetchManager

func NewMockPrefetchManager(ctrl *gomock.Controller) *MockPrefetchManager

NewMockPrefetchManager creates a new mock instance.

func (*MockPrefetchManager) BeforeUpdate

func (m *MockPrefetchManager) BeforeUpdate(ctx context.Context, current, desired *v1beta1.DeviceSpec, opts ...OCICollectOpt) error

BeforeUpdate mocks base method.

func (*MockPrefetchManager) Cleanup

func (m *MockPrefetchManager) Cleanup()

Cleanup mocks base method.

func (*MockPrefetchManager) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockPrefetchManager) RegisterOCICollector

func (m *MockPrefetchManager) RegisterOCICollector(collector OCICollector)

RegisterOCICollector mocks base method.

func (*MockPrefetchManager) StatusMessage

func (m *MockPrefetchManager) StatusMessage(ctx context.Context) string

StatusMessage mocks base method.

type MockPrefetchManagerMockRecorder

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

MockPrefetchManagerMockRecorder is the mock recorder for MockPrefetchManager.

func (*MockPrefetchManagerMockRecorder) BeforeUpdate

func (mr *MockPrefetchManagerMockRecorder) BeforeUpdate(ctx, current, desired any, opts ...any) *gomock.Call

BeforeUpdate indicates an expected call of BeforeUpdate.

func (*MockPrefetchManagerMockRecorder) Cleanup

Cleanup indicates an expected call of Cleanup.

func (*MockPrefetchManagerMockRecorder) RegisterOCICollector

func (mr *MockPrefetchManagerMockRecorder) RegisterOCICollector(collector any) *gomock.Call

RegisterOCICollector indicates an expected call of RegisterOCICollector.

func (*MockPrefetchManagerMockRecorder) StatusMessage

func (mr *MockPrefetchManagerMockRecorder) StatusMessage(ctx any) *gomock.Call

StatusMessage indicates an expected call of StatusMessage.

type MockPullConfigResolver

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

MockPullConfigResolver is a mock of PullConfigResolver interface.

func NewMockPullConfigResolver

func NewMockPullConfigResolver(ctrl *gomock.Controller) *MockPullConfigResolver

NewMockPullConfigResolver creates a new mock instance.

func (*MockPullConfigResolver) BeforeUpdate

func (m *MockPullConfigResolver) BeforeUpdate(desired *v1beta1.DeviceSpec)

BeforeUpdate mocks base method.

func (*MockPullConfigResolver) Cleanup

func (m *MockPullConfigResolver) Cleanup()

Cleanup mocks base method.

func (*MockPullConfigResolver) EXPECT

EXPECT returns an object that allows the caller to indicate expected use.

func (*MockPullConfigResolver) Options

func (m *MockPullConfigResolver) Options(specs ...PullConfigSpec) ClientOptsFn

Options mocks base method.

type MockPullConfigResolverMockRecorder

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

MockPullConfigResolverMockRecorder is the mock recorder for MockPullConfigResolver.

func (*MockPullConfigResolverMockRecorder) BeforeUpdate

func (mr *MockPullConfigResolverMockRecorder) BeforeUpdate(desired any) *gomock.Call

BeforeUpdate indicates an expected call of BeforeUpdate.

func (*MockPullConfigResolverMockRecorder) Cleanup

Cleanup indicates an expected call of Cleanup.

func (*MockPullConfigResolverMockRecorder) Options

func (mr *MockPullConfigResolverMockRecorder) Options(specs ...any) *gomock.Call

Options indicates an expected call of Options.

type OCICollectOpt

type OCICollectOpt func(*ociCollectOpts)

OCICollectOpt configures OCI target collection behavior.

func WithOSUpdatePending

func WithOSUpdatePending(pending bool) OCICollectOpt

WithOSUpdatePending indicates an OS update is pending (not yet booted).

type OCICollection added in v1.0.0

type OCICollection struct {
	Targets OCIPullTargetsByUser
	Requeue bool // true if collection is incomplete and should be retried
}

OCICollection represents the result of collecting OCI targets

type OCICollector

type OCICollector interface {
	// CollectOCITargets collects OCI targets and indicates if requeue is needed
	CollectOCITargets(ctx context.Context, current, desired *v1beta1.DeviceSpec, opts ...OCICollectOpt) (*OCICollection, error)
}

OCICollector interface for components that can collect OCI targets

type OCIPullTarget

type OCIPullTarget struct {
	Type         OCIType
	Reference    string
	Digest       string
	PullPolicy   v1beta1.ImagePullPolicy
	ClientOptsFn ClientOptsFn // Called only when pulling is actually needed
}

OCIPullTarget represents an OCI target to be prefetched

type OCIPullTargetsByUser

type OCIPullTargetsByUser map[v1beta1.Username][]OCIPullTarget

A set of OCIPullTargets grouped by the user that will use the targets (blank Username is root).

func (OCIPullTargetsByUser) Add

func (OCIPullTargetsByUser) Iter

func (OCIPullTargetsByUser) MergeWith

MergeWith o2 in-place.

type OCIType

type OCIType string

OCIType represents the type of OCI target for prefetching

const (
	OCITypePodmanImage    OCIType = "PodmanImage"
	OCITypeCRIImage       OCIType = "CRIImage"
	OCITypePodmanArtifact OCIType = "PodmanArtifact"
	OCITypeAuto           OCIType = "Auto"
	OCITypeHelmChart      OCIType = "HelmChart"
)

type PrefetchManager

type PrefetchManager interface {
	// RegisterOCICollector registers a function that can collect OCI targets from a device spec
	RegisterOCICollector(collector OCICollector)
	// BeforeUpdate collects and prefetches OCI targets from all registered collectors
	BeforeUpdate(ctx context.Context, current, desired *v1beta1.DeviceSpec, opts ...OCICollectOpt) error
	// StatusMessage returns a human readable prefetch progress status message
	StatusMessage(ctx context.Context) string
	// Cleanup fires all cleanupFn cancels active pulls and drains the queue
	Cleanup()
}

PrefetchManager orchestrates OCI target collection and prefetching

type PrefetchStatus

type PrefetchStatus struct {
	TotalImages    int
	PendingImages  []string
	RetryingImages []string
}

PrefetchStatus provides the current status of prefetch operations

type PullConfigResolver

type PullConfigResolver interface {
	// BeforeUpdate initializes the resolver with the desired device spec.
	// Must be called before any Options calls.
	BeforeUpdate(desired *v1beta1.DeviceSpec)

	// Options returns a lazy function that resolves configs when called.
	// For each PullConfigSpec, tries paths in order until one is found.
	// Results are cached; subsequent calls with same paths return cached values.
	Options(specs ...PullConfigSpec) ClientOptsFn

	// Cleanup cleans up all resolved configurations (temp files).
	Cleanup()
}

PullConfigResolver manages the lifecycle of pull configurations with centralized cleanup after update completion.

func NewPullConfigResolver

func NewPullConfigResolver(log *log.PrefixLogger, rwFactory fileio.ReadWriterFactory) PullConfigResolver

NewPullConfigResolver creates a new PullConfigResolver.

type PullConfigSpec

type PullConfigSpec struct {
	// Paths in fallback order - first found/resolved wins.
	Paths []string
	// OptionFn creates a client option from the resolved path.
	OptionFn func(string) client.ClientOption
}

PullConfigSpec defines a config requirement with fallback paths.

Jump to

Keyboard shortcuts

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