genericocireg

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 51 Imported by: 2

Documentation

Index

Constants

View Source
const META_SEPARATOR = ".build-"

Variables

View Source
var REALM = ocmlog.DefineSubRealm("OCM to OCI Registry Mapping", "oci", "mapping")
View Source
var TAG_CDDIFF = logging.DefineTag("cd-diff", "component descriptor modification")

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 NewRepository

func NewRepository(ctxp cpi.ContextProvider, meta *ComponentRepositoryMeta, ocirepo oci.Repository) cpi.Repository

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

func RegisterSpecificationNormalizer added in v0.9.0

func RegisterSpecificationNormalizer(typ string, f SpecificationNormalizer)

RegisterSpecificationNormalizer can be used to register OCI repository type specific handlers used to normalize an OCI type based OCM repository spec.

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 (*ComponentVersionContainer) AddBlob added in v0.5.0

func (c *ComponentVersionContainer) AddBlob(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) GetBlob added in v0.5.0

func (c *ComponentVersionContainer) GetBlob(name string) (cpi.DataAccess, error)

func (*ComponentVersionContainer) GetContext

func (c *ComponentVersionContainer) GetContext() cpi.Context

func (*ComponentVersionContainer) GetDescriptor

func (*ComponentVersionContainer) GetInexpensiveContentVersionIdentity added in v0.3.0

func (c *ComponentVersionContainer) GetInexpensiveContentVersionIdentity(a cpi.AccessSpec, cv refmgmt.ExtendedAllocatable) string

func (*ComponentVersionContainer) GetParentBridge added in v0.5.0

func (*ComponentVersionContainer) GetStorageContext

func (c *ComponentVersionContainer) GetStorageContext() 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) SetBridge added in v0.5.0

func (*ComponentVersionContainer) SetDescriptor added in v0.5.0

func (*ComponentVersionContainer) SetReadOnly added in v0.9.0

func (c *ComponentVersionContainer) SetReadOnly()

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 Normalizers added in v0.9.0

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

func (*Normalizers) Get added in v0.9.0

func (*Normalizers) Normalize added in v0.9.0

func (n *Normalizers) Normalize(s *RepositorySpec) *RepositorySpec

func (*Normalizers) Register added in v0.9.0

func (n *Normalizers) Register(typ string, f SpecificationNormalizer)

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 (*RepositoryImpl) GetContext

func (r *RepositoryImpl) GetContext() cpi.Context

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) IsReadOnly added in v0.9.0

func (r *RepositoryImpl) IsReadOnly() bool

func (*RepositoryImpl) LookupComponent

func (r *RepositoryImpl) LookupComponent(name string) (*repocpi.ComponentAccessInfo, 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

func (*RepositoryImpl) SetBridge added in v0.5.0

func (r *RepositoryImpl) SetBridge(base repocpi.RepositoryBridge)

func (*RepositoryImpl) SetReadOnly added in v0.9.0

func (r *RepositoryImpl) SetReadOnly()

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) GetConsumerId added in v0.6.0

func (*RepositorySpec) GetIdentityMatcher added in v0.6.0

func (s *RepositorySpec) GetIdentityMatcher() string

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 SpecificationNormalizer added in v0.9.0

type SpecificationNormalizer func(s *RepositorySpec)

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() (blobaccess.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{}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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