ocireg

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: 37 Imported by: 1

README

Repository OCIRegistry and ociRegistry - OCI Registry

Synopsis
type: OCIRegistry/v1
Description

Artifact namespaces/repositories of the API layer will be mapped to an OCI registry according to the OCI distribution specification.

Supported specification version is v1.

Specification Versions
Version v1

The type specific specification fields are:

  • baseUrl string

    OCI repository reference

  • legacyTypes (optional) bool

    OCI repository requires Docker legacy mime types for OCI image manifests. (automatically enabled for docker.io) (OCM component versions can be stored in OCI registries which are conforming to the OCI distribution specification. Additionally, a registry must support a deep repository structure.)

Go Bindings

The Go binding can be found here

Documentation

Index

Constants

View Source
const (
	LegacyType = "ociRegistry"
	Type       = "OCIRegistry"
	TypeV1     = Type + runtime.VersionSeparator + "v1"

	ShortType   = "oci"
	ShortTypeV1 = ShortType + runtime.VersionSeparator + "v1"
)

Variables

View Source
var REALM = ocmlog.DefineSubRealm("OCI repository handling", "oci", "ocireg")

Functions

func Is

func Is(spec cpi.RepositorySpec) bool

Is checks the kind.

func IsKind

func IsKind(k string) bool

func NewDataAccess

func NewDataAccess(fetcher remotes.Fetcher, digest digest.Digest, mimeType string, delayed bool) (*dataAccess, error)

func NewNamespace

func NewNamespace(repo *RepositoryImpl, name string) (cpi.NamespaceAccess, error)

func NewRepository

func NewRepository(ctx cpi.Context, spec *RepositorySpec, info *RepositoryInfo) (cpi.Repository, error)

Types

type BlobContainer

type BlobContainer interface {
	GetBlobData(digest digest.Digest) (int64, cpi.DataAccess, error)
	AddBlob(blob cpi.BlobAccess) (int64, digest.Digest, error)
	Unref() error
}

func NewBlobContainer

func NewBlobContainer(cache accessio.BlobCache, mime string, fetcher resolve.Fetcher, pusher resolve.Pusher) (BlobContainer, error)

type BlobContainers

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

func NewBlobContainers

func NewBlobContainers(ctx cpi.Context, fetcher remotes.Fetcher, pusher resolve.Pusher) *BlobContainers

func (*BlobContainers) Get

func (c *BlobContainers) Get(mime string) (BlobContainer, error)

func (*BlobContainers) Release

func (c *BlobContainers) Release() error

type NamespaceContainer

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

func (*NamespaceContainer) AddArtifact

func (n *NamespaceContainer) AddArtifact(artifact cpi.Artifact, tags ...string) (access blobaccess.BlobAccess, err error)

func (*NamespaceContainer) AddBlob

func (n *NamespaceContainer) AddBlob(blob cpi.BlobAccess) error

func (*NamespaceContainer) AddTags

func (n *NamespaceContainer) AddTags(digest digest.Digest, tags ...string) error

func (*NamespaceContainer) Close

func (n *NamespaceContainer) Close() error

func (*NamespaceContainer) GetArtifact

func (*NamespaceContainer) GetBlobData

func (n *NamespaceContainer) GetBlobData(digest digest.Digest) (int64, cpi.DataAccess, error)

func (*NamespaceContainer) GetBlobDescriptor

func (n *NamespaceContainer) GetBlobDescriptor(digest digest.Digest) *cpi.Descriptor

func (*NamespaceContainer) HasArtifact added in v0.3.0

func (n *NamespaceContainer) HasArtifact(vers string) (bool, error)

func (*NamespaceContainer) IsReadOnly

func (n *NamespaceContainer) IsReadOnly() bool

func (*NamespaceContainer) ListTags

func (n *NamespaceContainer) ListTags() ([]string, error)

func (*NamespaceContainer) NewArtifact added in v0.3.0

func (*NamespaceContainer) SetImplementation added in v0.3.0

func (n *NamespaceContainer) SetImplementation(impl support.NamespaceAccessImpl)

type RepositoryImpl added in v0.3.0

type RepositoryImpl struct {
	cpi.RepositoryImplBase
	// contains filtered or unexported fields
}

func GetRepositoryImplementation added in v0.3.0

func GetRepositoryImplementation(r cpi.Repository) (*RepositoryImpl, error)

func (*RepositoryImpl) Close added in v0.3.0

func (r *RepositoryImpl) Close() error

func (*RepositoryImpl) ExistsArtifact added in v0.3.0

func (r *RepositoryImpl) ExistsArtifact(name string, version string) (bool, error)

func (*RepositoryImpl) GetBaseURL added in v0.3.0

func (r *RepositoryImpl) GetBaseURL() string

func (*RepositoryImpl) GetConsumerId added in v0.3.0

func (*RepositoryImpl) GetIdentityMatcher added in v0.3.0

func (r *RepositoryImpl) GetIdentityMatcher() string

func (*RepositoryImpl) GetRef added in v0.3.0

func (r *RepositoryImpl) GetRef(comp, vers string) string

func (*RepositoryImpl) GetSpecification added in v0.3.0

func (r *RepositoryImpl) GetSpecification() cpi.RepositorySpec

func (*RepositoryImpl) IsReadOnly added in v0.3.0

func (r *RepositoryImpl) IsReadOnly() bool

func (*RepositoryImpl) LookupArtifact added in v0.3.0

func (r *RepositoryImpl) LookupArtifact(name string, version string) (acc cpi.ArtifactAccess, err error)

func (*RepositoryImpl) LookupNamespace added in v0.3.0

func (r *RepositoryImpl) LookupNamespace(name string) (cpi.NamespaceAccess, error)

func (*RepositoryImpl) NamespaceLister added in v0.3.0

func (r *RepositoryImpl) NamespaceLister() cpi.NamespaceLister

type RepositoryInfo

type RepositoryInfo struct {
	Scheme  string
	Locator string
	Creds   credentials.Credentials
	Legacy  bool
}

func (*RepositoryInfo) HostInfo

func (r *RepositoryInfo) HostInfo() (string, string, string)

func (*RepositoryInfo) HostPort added in v0.3.0

func (r *RepositoryInfo) HostPort() string

type RepositorySpec

type RepositorySpec struct {
	runtime.ObjectVersionedType `json:",inline"`
	// BaseURL is the base url of the repository to resolve artifacts.
	BaseURL     string `json:"baseUrl"`
	LegacyTypes *bool  `json:"legacyTypes,omitempty"`
}

RepositorySpec describes an OCI registry interface backed by an oci registry.

func NewLegacyRepositorySpec

func NewLegacyRepositorySpec(baseURL string) *RepositorySpec

func NewRepositorySpec

func NewRepositorySpec(baseURL string) *RepositorySpec

NewRepositorySpec creates a new RepositorySpec.

func (*RepositorySpec) GetConsumerId added in v0.6.0

func (*RepositorySpec) GetIdentityMatcher added in v0.6.0

func (a *RepositorySpec) GetIdentityMatcher() string

func (*RepositorySpec) GetType

func (a *RepositorySpec) GetType() string

func (*RepositorySpec) Name

func (a *RepositorySpec) Name() string

func (*RepositorySpec) Repository

func (a *RepositorySpec) Repository(ctx cpi.Context, creds credentials.Credentials) (cpi.Repository, error)

func (*RepositorySpec) UniformRepositorySpec

func (a *RepositorySpec) UniformRepositorySpec() *cpi.UniformRepositorySpec

Jump to

Keyboard shortcuts

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