genericocireg

package
v2.0.0-...-98cc131 Latest Latest
Warning

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

Go to latest
Published: Jul 26, 2023 License: Apache-2.0 Imports: 43 Imported by: 0

Documentation

Index

Constants

View Source
const META_SEPARATOR = ".build-"

Variables

View Source
var REALM = ocmlog.DefineSubRealm("OCM to OCI Registry Mapping", "ocimapping")

Functions

func GetOCIRepository

func GetOCIRepository(r cpi.Repository) ocicpi.Repository

func HandleRef

func HandleRef(u *cpi.UniformRepositorySpec) error

func Logger

func Logger(ctx logging.ContextProvider, messageContext ...logging.MessageContext) logging.Logger

func New

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 (*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 (*ComponentVersionContainer) GetInexpensiveContentVersionIdentity

func (c *ComponentVersionContainer) GetInexpensiveContentVersionIdentity(a cpi.AccessSpec) string

func (*ComponentVersionContainer) GetParentViewManager

func (c *ComponentVersionContainer) GetParentViewManager() cpi.ComponentAccessViewManager

func (*ComponentVersionContainer) GetStorageContext

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

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

func (*RepositoryImpl) GetIdentityMatcher

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{}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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