Documentation
¶
Overview ¶
Package support provides a standard implementation for the object type set required to implement the OCM repository interface.
This implementation is based on three interfaces that have to implemented:
- BlobContainer is used to provide access to blob data
- ComponentVersionContainer is used to provide access to component version for component.
The function NewComponentVersionAccess can be used to create an object implementing the complete ComponentVersionAccess contract.
Index ¶
- type AccessCheckError
- type BaseAccess
- type BlobContainer
- type ComponentVersionAccess
- func (c ComponentVersionAccess) AccessMethod(a cpi.AccessSpec) (cpi.AccessMethod, error)
- func (a ComponentVersionAccess) AddBlob(blob cpi.BlobAccess, artType, refName string, global cpi.AccessSpec) (cpi.AccessSpec, error)
- func (c ComponentVersionAccess) AdjustResourceAccess(meta *cpi.ResourceMeta, acc compdesc.AccessSpec) error
- func (s *ComponentVersionAccess) Close() error
- func (a ComponentVersionAccess) DiscardChanges()
- func (s *ComponentVersionAccess) Dup() (cpi.ComponentVersionAccess, error)
- func (s *ComponentVersionAccess) EnablePersistence()
- func (a ComponentVersionAccess) GetContext() cpi.Context
- func (a ComponentVersionAccess) GetDescriptor() *compdesc.ComponentDescriptor
- func (a ComponentVersionAccess) GetName() string
- func (a ComponentVersionAccess) GetReference(id metav1.Identity) (cpi.ComponentReference, error)
- func (a ComponentVersionAccess) GetReferenceByIndex(i int) (cpi.ComponentReference, error)
- func (a ComponentVersionAccess) GetResource(id metav1.Identity) (cpi.ResourceAccess, error)
- func (a ComponentVersionAccess) GetResourceByIndex(i int) (cpi.ResourceAccess, error)
- func (a ComponentVersionAccess) GetResources() []cpi.ResourceAccess
- func (a ComponentVersionAccess) GetSource(id metav1.Identity) (cpi.SourceAccess, error)
- func (a ComponentVersionAccess) GetSourceByIndex(i int) (cpi.SourceAccess, error)
- func (a ComponentVersionAccess) GetSources() []cpi.SourceAccess
- func (a ComponentVersionAccess) GetVersion() string
- func (s *ComponentVersionAccess) IsClosed() bool
- func (a ComponentVersionAccess) IsReadOnly() bool
- func (c ComponentVersionAccess) Repository() cpi.Repository
- func (c ComponentVersionAccess) SetReference(ref *cpi.ComponentReference) error
- func (c ComponentVersionAccess) SetResource(meta *cpi.ResourceMeta, acc compdesc.AccessSpec) error
- func (c ComponentVersionAccess) SetResourceBlob(meta *cpi.ResourceMeta, blob cpi.BlobAccess, refName string, ...) error
- func (c ComponentVersionAccess) SetSource(meta *cpi.SourceMeta, acc compdesc.AccessSpec) error
- func (c ComponentVersionAccess) SetSourceBlob(meta *cpi.SourceMeta, blob cpi.BlobAccess, refName string, ...) error
- func (a ComponentVersionAccess) Update(final bool) error
- func (a ComponentVersionAccess) View(main ...bool) (*ComponentVersionAccess, error)
- type ComponentVersionContainer
- type ResourceAccess
- type SourceAccess
- type UpdateComponentVersionContainerError
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessCheckError ¶
func (AccessCheckError) Error ¶
func (e AccessCheckError) Error() string
func (AccessCheckError) Unwrap ¶
func (e AccessCheckError) Unwrap() error
type BaseAccess ¶
type BaseAccess struct {
// contains filtered or unexported fields
}
func (*BaseAccess) Access ¶
func (r *BaseAccess) Access() (cpi.AccessSpec, error)
func (*BaseAccess) AccessMethod ¶
func (r *BaseAccess) AccessMethod() (cpi.AccessMethod, error)
type BlobContainer ¶
type BlobContainer interface {
GetBlobData(name string) (cpi.DataAccess, error)
// GetStorageContext creates a storage context for blobs
// that is used to feed blob handlers for specific blob starage methods.
// If no handler accepts the blob, the AddBlobFor method will
// be ued toi store the blob
GetStorageContext(cv cpi.ComponentVersionAccess) cpi.StorageContext
// AddBlobFor stores a local blob together with the component and
// potentially provides a global reference according to the OCI distribution spec
// if the blob described an oci artifact.
// The resulting access information (global and local) is provided as
// an access method specification usable in a component descriptor.
// This is the direct technical storage, without caring about any handler.
AddBlobFor(storagectx cpi.StorageContext, blob cpi.BlobAccess, refName string, global cpi.AccessSpec) (cpi.AccessSpec, error)
}
BlobContainer is the interface for an element capable to store blobs.
type ComponentVersionAccess ¶
type ComponentVersionAccess struct {
// contains filtered or unexported fields
}
func NewComponentVersionAccess ¶
func NewComponentVersionAccess(container ComponentVersionContainer, lazy bool, persistent bool) (*ComponentVersionAccess, error)
func (ComponentVersionAccess) AccessMethod ¶
func (c ComponentVersionAccess) AccessMethod(a cpi.AccessSpec) (cpi.AccessMethod, error)
func (ComponentVersionAccess) AddBlob ¶
func (a ComponentVersionAccess) AddBlob(blob cpi.BlobAccess, artType, refName string, global cpi.AccessSpec) (cpi.AccessSpec, error)
func (ComponentVersionAccess) AdjustResourceAccess ¶
func (c ComponentVersionAccess) AdjustResourceAccess(meta *cpi.ResourceMeta, acc compdesc.AccessSpec) error
func (*ComponentVersionAccess) Close ¶
func (s *ComponentVersionAccess) Close() error
func (ComponentVersionAccess) DiscardChanges ¶
func (a ComponentVersionAccess) DiscardChanges()
func (*ComponentVersionAccess) Dup ¶
func (s *ComponentVersionAccess) Dup() (cpi.ComponentVersionAccess, error)
func (*ComponentVersionAccess) EnablePersistence ¶
func (s *ComponentVersionAccess) EnablePersistence()
func (ComponentVersionAccess) GetContext ¶
func (ComponentVersionAccess) GetDescriptor ¶
func (a ComponentVersionAccess) GetDescriptor() *compdesc.ComponentDescriptor
func (ComponentVersionAccess) GetReference ¶
func (a ComponentVersionAccess) GetReference(id metav1.Identity) (cpi.ComponentReference, error)
func (ComponentVersionAccess) GetReferenceByIndex ¶
func (a ComponentVersionAccess) GetReferenceByIndex(i int) (cpi.ComponentReference, error)
func (ComponentVersionAccess) GetResource ¶
func (a ComponentVersionAccess) GetResource(id metav1.Identity) (cpi.ResourceAccess, error)
func (ComponentVersionAccess) GetResourceByIndex ¶
func (a ComponentVersionAccess) GetResourceByIndex(i int) (cpi.ResourceAccess, error)
func (ComponentVersionAccess) GetResources ¶
func (a ComponentVersionAccess) GetResources() []cpi.ResourceAccess
func (ComponentVersionAccess) GetSource ¶
func (a ComponentVersionAccess) GetSource(id metav1.Identity) (cpi.SourceAccess, error)
func (ComponentVersionAccess) GetSourceByIndex ¶
func (a ComponentVersionAccess) GetSourceByIndex(i int) (cpi.SourceAccess, error)
func (ComponentVersionAccess) GetSources ¶
func (a ComponentVersionAccess) GetSources() []cpi.SourceAccess
func (ComponentVersionAccess) GetVersion ¶
func (a ComponentVersionAccess) GetVersion() string
func (*ComponentVersionAccess) IsClosed ¶
func (s *ComponentVersionAccess) IsClosed() bool
func (ComponentVersionAccess) IsReadOnly ¶
func (a ComponentVersionAccess) IsReadOnly() bool
func (ComponentVersionAccess) Repository ¶
func (c ComponentVersionAccess) Repository() cpi.Repository
func (ComponentVersionAccess) SetReference ¶
func (c ComponentVersionAccess) SetReference(ref *cpi.ComponentReference) error
func (ComponentVersionAccess) SetResource ¶
func (c ComponentVersionAccess) SetResource(meta *cpi.ResourceMeta, acc compdesc.AccessSpec) error
func (ComponentVersionAccess) SetResourceBlob ¶
func (c ComponentVersionAccess) SetResourceBlob(meta *cpi.ResourceMeta, blob cpi.BlobAccess, refName string, global cpi.AccessSpec) error
AddResource adds a blob resource to the current archive.
func (ComponentVersionAccess) SetSource ¶
func (c ComponentVersionAccess) SetSource(meta *cpi.SourceMeta, acc compdesc.AccessSpec) error
func (ComponentVersionAccess) SetSourceBlob ¶
func (c ComponentVersionAccess) SetSourceBlob(meta *cpi.SourceMeta, blob cpi.BlobAccess, refName string, global cpi.AccessSpec) error
func (ComponentVersionAccess) View ¶
func (a ComponentVersionAccess) View(main ...bool) (*ComponentVersionAccess, error)
type ComponentVersionContainer ¶
type ComponentVersionContainer interface {
GetContext() cpi.Context
Repository() cpi.Repository
IsReadOnly() bool
IsClosed() bool
Update() error
GetDescriptor() *compdesc.ComponentDescriptor
BlobContainer
io.Closer
AccessMethod(a cpi.AccessSpec) (cpi.AccessMethod, error)
}
ComponentVersionContainer is the interface of an element hosting a component version.
type ResourceAccess ¶
type ResourceAccess struct {
*BaseAccess
// contains filtered or unexported fields
}
func (ResourceAccess) Meta ¶
func (r ResourceAccess) Meta() *cpi.ResourceMeta
type SourceAccess ¶
type SourceAccess struct {
*BaseAccess
// contains filtered or unexported fields
}
func (SourceAccess) Meta ¶
func (r SourceAccess) Meta() *cpi.SourceMeta
type UpdateComponentVersionContainerError ¶
type UpdateComponentVersionContainerError struct {
Name string
Version string
Type string
Original error
}
func (UpdateComponentVersionContainerError) Error ¶
func (e UpdateComponentVersionContainerError) Error() string
func (UpdateComponentVersionContainerError) Unwrap ¶
func (e UpdateComponentVersionContainerError) Unwrap() error
Click to show internal directories.
Click to hide internal directories.