Documentation
¶
Index ¶
- Constants
- Variables
- func GetOCIRepository(r cpi.Repository) ocicpi.Repository
- func HandleRef(u *cpi.UniformRepositorySpec) error
- func Logger(ctx logging.ContextProvider, messageContext ...logging.MessageContext) logging.Logger
- func New(prio int) cpi.RepositoryPriorityDecoder
- func NewRepository(ctx cpi.Context, meta *ComponentRepositoryMeta, ocirepo oci.Repository) (cpi.Repository, error)
- func NewState(mode accessobj.AccessMode, name, version string, access oci.ManifestAccess, ...) (accessobj.State, error)
- func NewStateAccess(access oci.ManifestAccess, compat ...bool) accessobj.StateAccess
- func NewStateHandler(name, version string) accessobj.StateHandler
- type ComponentDescriptorConfig
- type ComponentNameMapping
- type ComponentRepositoryMeta
- type ComponentVersionContainer
- func (c *ComponentVersionContainer) AccessMethod(a cpi.AccessSpec) (cpi.AccessMethod, error)
- func (c *ComponentVersionContainer) AddBlobFor(storagectx cpi.StorageContext, blob cpi.BlobAccess, refName string, ...) (cpi.AccessSpec, error)
- func (c *ComponentVersionContainer) AssureGlobalRef(d digest.Digest, url, name string) (cpi.AccessSpec, error)
- func (c *ComponentVersionContainer) Check() error
- func (c *ComponentVersionContainer) Close() error
- func (c *ComponentVersionContainer) GetBlobData(name string) (cpi.DataAccess, error)
- func (c *ComponentVersionContainer) GetContext() cpi.Context
- func (c *ComponentVersionContainer) GetDescriptor() *compdesc.ComponentDescriptor
- func (c *ComponentVersionContainer) GetInexpensiveContentVersionIdentity(a cpi.AccessSpec) string
- func (c *ComponentVersionContainer) GetParentViewManager() cpi.ComponentAccessViewManager
- func (c *ComponentVersionContainer) GetStorageContext(cv cpi.ComponentVersionAccess) cpi.StorageContext
- func (c *ComponentVersionContainer) IsClosed() bool
- func (c *ComponentVersionContainer) IsReadOnly() bool
- func (c *ComponentVersionContainer) Repository() cpi.Repository
- func (c *ComponentVersionContainer) SetImplementation(impl support.ComponentVersionAccessImpl)
- func (c *ComponentVersionContainer) Update() error
- type ComponentVersionInfo
- type OCIBasedRepository
- type RepositoryImpl
- func (r *RepositoryImpl) Close() error
- func (r *RepositoryImpl) ComponentLister() cpi.ComponentLister
- func (r *RepositoryImpl) ExistsComponentVersion(name string, version string) (bool, error)
- func (r *RepositoryImpl) GetComponents(prefix string, closure bool) ([]string, error)
- func (r *RepositoryImpl) GetConsumerId(uctx ...credentials.UsageContext) credentials.ConsumerIdentity
- func (r *RepositoryImpl) GetIdentityMatcher() string
- func (r *RepositoryImpl) GetOCIRepository() oci.Repository
- func (r *RepositoryImpl) GetSpecification() cpi.RepositorySpec
- func (r *RepositoryImpl) LookupComponent(name string) (cpi.ComponentAccess, error)
- func (r *RepositoryImpl) LookupComponentVersion(name string, version string) (cpi.ComponentVersionAccess, error)
- func (r *RepositoryImpl) MapComponentNameToNamespace(name string) (string, error)
- func (r *RepositoryImpl) NumComponents(prefix string) (int, error)
- func (r *RepositoryImpl) OCIRepository() ocicpi.Repository
- type RepositorySpec
- func (a *RepositorySpec) AsUniformSpec(cpi.Context) *cpi.UniformRepositorySpec
- func (a *RepositorySpec) IsIntermediate() bool
- func (u RepositorySpec) MarshalJSON() ([]byte, error)
- func (a *RepositorySpec) PathPrefix() string
- func (s *RepositorySpec) Repository(ctx cpi.Context, creds credentials.Credentials) (cpi.Repository, error)
- func (u *RepositorySpec) UnmarshalJSON(data []byte) error
- type StateAccess
- type StateHandler
Constants ¶
const META_SEPARATOR = ".build-"
Variables ¶
var REALM = ocmlog.DefineSubRealm("OCM to OCI Registry Mapping", "oci", "mapping")
Functions ¶
func GetOCIRepository ¶ added in v0.3.0
func GetOCIRepository(r cpi.Repository) ocicpi.Repository
func HandleRef ¶ added in v0.3.0
func HandleRef(u *cpi.UniformRepositorySpec) error
func Logger ¶ added in v0.3.0
func Logger(ctx logging.ContextProvider, messageContext ...logging.MessageContext) logging.Logger
func New ¶ added in v0.3.0
func New(prio int) cpi.RepositoryPriorityDecoder
func NewRepository ¶
func NewRepository(ctx cpi.Context, meta *ComponentRepositoryMeta, ocirepo oci.Repository) (cpi.Repository, error)
func NewState ¶
func NewState(mode accessobj.AccessMode, name, version string, access oci.ManifestAccess, compat ...bool) (accessobj.State, error)
func NewStateAccess ¶
func NewStateAccess(access oci.ManifestAccess, compat ...bool) accessobj.StateAccess
func NewStateHandler ¶
func NewStateHandler(name, version string) accessobj.StateHandler
Types ¶
type ComponentDescriptorConfig ¶
type ComponentDescriptorConfig struct {
ComponentDescriptorLayer *ociv1.Descriptor `json:"componentDescriptorLayer,omitempty"`
}
ComponentDescriptorConfig is a Component-Descriptor OCI configuration that is used to store the reference to the (pseudo-)layer used to store the Component-Descriptor in.
type ComponentNameMapping ¶
type ComponentNameMapping string
ComponentNameMapping describes the method that is used to map the "Component Name", "Component Version"-tuples to OCI Image References.
const ( Type = ocireg.Type OCIRegistryURLPathMapping ComponentNameMapping = "urlPath" OCIRegistryDigestMapping ComponentNameMapping = "sha256-digest" )
type ComponentRepositoryMeta ¶
type ComponentRepositoryMeta struct { // ComponentNameMapping describes the method that is used to map the "Component Name", "Component Version"-tuples // to OCI Image References. ComponentNameMapping ComponentNameMapping `json:"componentNameMapping,omitempty"` SubPath string `json:"subPath,omitempty"` }
ComponentRepositoryMeta describes config special for a mapping of a component repository to an oci registry. It is parsed in addition to an OCI based specification.
func DefaultComponentRepositoryMeta ¶
func DefaultComponentRepositoryMeta(meta *ComponentRepositoryMeta) *ComponentRepositoryMeta
func NewComponentRepositoryMeta ¶
func NewComponentRepositoryMeta(subPath string, mapping ComponentNameMapping) *ComponentRepositoryMeta
type ComponentVersionContainer ¶
type ComponentVersionContainer struct {
// contains filtered or unexported fields
}
func (*ComponentVersionContainer) AccessMethod ¶
func (c *ComponentVersionContainer) AccessMethod(a cpi.AccessSpec) (cpi.AccessMethod, error)
func (*ComponentVersionContainer) AddBlobFor ¶
func (c *ComponentVersionContainer) AddBlobFor(storagectx cpi.StorageContext, blob cpi.BlobAccess, refName string, global cpi.AccessSpec) (cpi.AccessSpec, error)
func (*ComponentVersionContainer) AssureGlobalRef ¶
func (c *ComponentVersionContainer) AssureGlobalRef(d digest.Digest, url, name string) (cpi.AccessSpec, error)
AssureGlobalRef provides a global manifest for a local OCI Artifact.
func (*ComponentVersionContainer) Check ¶
func (c *ComponentVersionContainer) Check() error
func (*ComponentVersionContainer) Close ¶
func (c *ComponentVersionContainer) Close() error
func (*ComponentVersionContainer) GetBlobData ¶
func (c *ComponentVersionContainer) GetBlobData(name string) (cpi.DataAccess, error)
func (*ComponentVersionContainer) GetContext ¶
func (c *ComponentVersionContainer) GetContext() cpi.Context
func (*ComponentVersionContainer) GetDescriptor ¶
func (c *ComponentVersionContainer) GetDescriptor() *compdesc.ComponentDescriptor
func (*ComponentVersionContainer) GetInexpensiveContentVersionIdentity ¶ added in v0.3.0
func (c *ComponentVersionContainer) GetInexpensiveContentVersionIdentity(a cpi.AccessSpec) string
func (*ComponentVersionContainer) GetParentViewManager ¶ added in v0.3.0
func (c *ComponentVersionContainer) GetParentViewManager() cpi.ComponentAccessViewManager
func (*ComponentVersionContainer) GetStorageContext ¶
func (c *ComponentVersionContainer) GetStorageContext(cv cpi.ComponentVersionAccess) cpi.StorageContext
func (*ComponentVersionContainer) IsClosed ¶
func (c *ComponentVersionContainer) IsClosed() bool
func (*ComponentVersionContainer) IsReadOnly ¶
func (c *ComponentVersionContainer) IsReadOnly() bool
func (*ComponentVersionContainer) Repository ¶
func (c *ComponentVersionContainer) Repository() cpi.Repository
func (*ComponentVersionContainer) SetImplementation ¶ added in v0.3.0
func (c *ComponentVersionContainer) SetImplementation(impl support.ComponentVersionAccessImpl)
func (*ComponentVersionContainer) Update ¶
func (c *ComponentVersionContainer) Update() error
type ComponentVersionInfo ¶
type ComponentVersionInfo struct { Error string `json:"error,omitempty"` Description string `json:"description"` Unparsed string `json:"unparsed,omitempty"` Descriptor json.RawMessage `json:"descriptor,omitempty"` }
type OCIBasedRepository ¶
type OCIBasedRepository interface {
OCIRepository() ocicpi.Repository
}
type RepositoryImpl ¶
type RepositoryImpl struct {
// contains filtered or unexported fields
}
func (*RepositoryImpl) Close ¶
func (r *RepositoryImpl) Close() error
func (*RepositoryImpl) ComponentLister ¶
func (r *RepositoryImpl) ComponentLister() cpi.ComponentLister
func (*RepositoryImpl) ExistsComponentVersion ¶
func (r *RepositoryImpl) ExistsComponentVersion(name string, version string) (bool, error)
func (*RepositoryImpl) GetComponents ¶
func (r *RepositoryImpl) GetComponents(prefix string, closure bool) ([]string, error)
func (*RepositoryImpl) GetConsumerId ¶ added in v0.3.0
func (r *RepositoryImpl) GetConsumerId(uctx ...credentials.UsageContext) credentials.ConsumerIdentity
func (*RepositoryImpl) GetIdentityMatcher ¶ added in v0.3.0
func (r *RepositoryImpl) GetIdentityMatcher() string
func (*RepositoryImpl) GetOCIRepository ¶
func (r *RepositoryImpl) GetOCIRepository() oci.Repository
func (*RepositoryImpl) GetSpecification ¶
func (r *RepositoryImpl) GetSpecification() cpi.RepositorySpec
func (*RepositoryImpl) LookupComponent ¶
func (r *RepositoryImpl) LookupComponent(name string) (cpi.ComponentAccess, error)
func (*RepositoryImpl) LookupComponentVersion ¶
func (r *RepositoryImpl) LookupComponentVersion(name string, version string) (cpi.ComponentVersionAccess, error)
func (*RepositoryImpl) MapComponentNameToNamespace ¶
func (r *RepositoryImpl) MapComponentNameToNamespace(name string) (string, error)
func (*RepositoryImpl) NumComponents ¶
func (r *RepositoryImpl) NumComponents(prefix string) (int, error)
func (*RepositoryImpl) OCIRepository ¶
func (r *RepositoryImpl) OCIRepository() ocicpi.Repository
type RepositorySpec ¶
type RepositorySpec struct { oci.RepositorySpec ComponentRepositoryMeta }
func NewRepositorySpec ¶
func NewRepositorySpec(spec oci.RepositorySpec, meta *ComponentRepositoryMeta) *RepositorySpec
func (*RepositorySpec) AsUniformSpec ¶
func (a *RepositorySpec) AsUniformSpec(cpi.Context) *cpi.UniformRepositorySpec
func (*RepositorySpec) IsIntermediate ¶
func (a *RepositorySpec) IsIntermediate() bool
func (RepositorySpec) MarshalJSON ¶
func (u RepositorySpec) MarshalJSON() ([]byte, error)
MarshalJSON implements a custom json unmarshal method for an unstructured type. The oci.RepositorySpec object might already implement json.Marshaler, which would be inherited and omit marshaling the addend attributes of a cpi.RepositorySpec.
func (*RepositorySpec) PathPrefix ¶
func (a *RepositorySpec) PathPrefix() string
func (*RepositorySpec) Repository ¶
func (s *RepositorySpec) Repository(ctx cpi.Context, creds credentials.Credentials) (cpi.Repository, error)
func (*RepositorySpec) UnmarshalJSON ¶
func (u *RepositorySpec) UnmarshalJSON(data []byte) error
type StateAccess ¶
type StateAccess struct {
// contains filtered or unexported fields
}
StateAccess handles the component descriptor persistence in an OCI Manifest.
func (StateAccess) Digest ¶
func (s StateAccess) Digest() digest.Digest
func (*StateAccess) Get ¶
func (s *StateAccess) Get() (accessio.BlobAccess, error)
func (*StateAccess) Put ¶
func (s *StateAccess) Put(data []byte) error
type StateHandler ¶
type StateHandler struct {
// contains filtered or unexported fields
}
StateHandler handles the encoding of a component descriptor.
func (StateHandler) Decode ¶
func (i StateHandler) Decode(data []byte) (interface{}, error)
Decode always accepts a yaml representation, and therefore json, also.
func (StateHandler) Encode ¶
func (i StateHandler) Encode(d interface{}) ([]byte, error)
Encode always provides a yaml representation.
func (StateHandler) Equivalent ¶
func (i StateHandler) Equivalent(a, b interface{}) bool
func (StateHandler) Initial ¶
func (i StateHandler) Initial() interface{}