Documentation
¶
Overview ¶
Package dependency is a generated GoMock package.
Package dependency is a generated GoMock package.
Index ¶
- func ApplyOCICollectOpts(opts ...OCICollectOpt) ociCollectOpts
- func NewPrefetchManager(log *log.PrefixLogger, podmanFactory client.PodmanFactory, ...) *prefetchManager
- type ClientOptsFn
- type MockOCICollector
- type MockOCICollectorMockRecorder
- type MockPrefetchManager
- func (m *MockPrefetchManager) BeforeUpdate(ctx context.Context, current, desired *v1beta1.DeviceSpec, ...) error
- func (m *MockPrefetchManager) Cleanup()
- func (m *MockPrefetchManager) EXPECT() *MockPrefetchManagerMockRecorder
- func (m *MockPrefetchManager) RegisterOCICollector(collector OCICollector)
- func (m *MockPrefetchManager) StatusMessage(ctx context.Context) string
- type MockPrefetchManagerMockRecorder
- func (mr *MockPrefetchManagerMockRecorder) BeforeUpdate(ctx, current, desired any, opts ...any) *gomock.Call
- func (mr *MockPrefetchManagerMockRecorder) Cleanup() *gomock.Call
- func (mr *MockPrefetchManagerMockRecorder) RegisterOCICollector(collector any) *gomock.Call
- func (mr *MockPrefetchManagerMockRecorder) StatusMessage(ctx any) *gomock.Call
- type MockPullConfigResolver
- type MockPullConfigResolverMockRecorder
- type OCICollectOpt
- type OCICollection
- type OCICollector
- type OCIPullTarget
- type OCIPullTargetsByUser
- type OCIType
- type PrefetchManager
- type PrefetchStatus
- type PullConfigResolver
- type PullConfigSpec
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 ¶
func (m *MockOCICollector) EXPECT() *MockOCICollectorMockRecorder
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 ¶
func (m *MockPrefetchManager) EXPECT() *MockPrefetchManagerMockRecorder
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 ¶
func (mr *MockPrefetchManagerMockRecorder) Cleanup() *gomock.Call
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 ¶
func (m *MockPullConfigResolver) EXPECT() *MockPullConfigResolverMockRecorder
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 ¶
func (mr *MockPullConfigResolverMockRecorder) Cleanup() *gomock.Call
Cleanup indicates an expected call of Cleanup.
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 (o OCIPullTargetsByUser) Add(user v1beta1.Username, targets ...OCIPullTarget) OCIPullTargetsByUser
func (OCIPullTargetsByUser) Iter ¶
func (o OCIPullTargetsByUser) Iter() iter.Seq2[v1beta1.Username, OCIPullTarget]
func (OCIPullTargetsByUser) MergeWith ¶
func (o OCIPullTargetsByUser) MergeWith(o2 OCIPullTargetsByUser) OCIPullTargetsByUser
MergeWith o2 in-place.
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 ¶
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.