ocireg

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

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) HasArtifact

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

func (*NamespaceContainer) SetImplementation

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

type RepositoryImpl

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

func GetRepositoryImplementation

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

func (*RepositoryImpl) Close

func (r *RepositoryImpl) Close() error

func (*RepositoryImpl) ExistsArtifact

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

func (*RepositoryImpl) GetBaseURL

func (r *RepositoryImpl) GetBaseURL() string

func (*RepositoryImpl) GetConsumerId

func (*RepositoryImpl) GetIdentityMatcher

func (r *RepositoryImpl) GetIdentityMatcher() string

func (*RepositoryImpl) GetRef

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

func (*RepositoryImpl) GetSpecification

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

func (*RepositoryImpl) IsReadOnly

func (r *RepositoryImpl) IsReadOnly() bool

func (*RepositoryImpl) LookupArtifact

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

func (*RepositoryImpl) LookupNamespace

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

func (*RepositoryImpl) NamespaceLister

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

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

func (*RepositorySpec) GetIdentityMatcher

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

func (*RepositorySpec) Validate

func (a *RepositorySpec) Validate(ctx cpi.Context, creds credentials.Credentials, context ...credentials.UsageContext) error

Jump to

Keyboard shortcuts

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