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 (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) (*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) 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.