ocireg

package
v0.3.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: Apr 21, 2023 License: Apache-2.0 Imports: 30 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 GetConsumerId

func GetConsumerId(locator, repo string) credentials.ConsumerIdentity

func GetCredentials

func GetCredentials(ctx credentials.ContextProvider, locator, repo string) (credentials.Credentials, error)

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)

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 Namespace

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

func NewNamespace

func NewNamespace(repo *Repository, name string) (*Namespace, error)

func (*Namespace) AddArtifact

func (n *Namespace) AddArtifact(artifact cpi.Artifact, tags ...string) (accessio.BlobAccess, error)

func (*Namespace) AddBlob

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

func (*Namespace) AddTags

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

func (*Namespace) Close

func (n *Namespace) Close() error

func (*Namespace) GetArtifact

func (n *Namespace) GetArtifact(vers string) (cpi.ArtifactAccess, error)

func (*Namespace) GetBlobData

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

func (*Namespace) GetNamespace

func (n *Namespace) GetNamespace() string

func (*Namespace) GetRepository

func (n *Namespace) GetRepository() cpi.Repository

func (*Namespace) ListTags

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

func (*Namespace) NewArtifact

func (n *Namespace) NewArtifact(art ...*artdesc.Artifact) (cpi.ArtifactAccess, error)

type NamespaceContainer

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

func (*NamespaceContainer) AddArtifact

func (n *NamespaceContainer) AddArtifact(artifact cpi.Artifact, tags ...string) (access accessio.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 (n *NamespaceContainer) GetArtifact(vers string) (cpi.ArtifactAccess, error)

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

func (n *NamespaceContainer) GetNamepace() string

func (*NamespaceContainer) IsClosed

func (n *NamespaceContainer) IsClosed() bool

func (*NamespaceContainer) IsReadOnly

func (n *NamespaceContainer) IsReadOnly() bool

func (*NamespaceContainer) ListTags

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

func (*NamespaceContainer) NewArtifactProvider

func (n *NamespaceContainer) NewArtifactProvider(state accessobj.State) (cpi.ArtifactProvider, error)

type Repository

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

func NewRepository

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

func (*Repository) Close

func (r *Repository) Close() error

func (*Repository) ExistsArtifact

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

func (*Repository) GetBaseURL

func (r *Repository) GetBaseURL() string

func (*Repository) GetConsumerId

func (*Repository) GetIdentityMatcher

func (r *Repository) GetIdentityMatcher() string

func (*Repository) GetSpecification

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

func (*Repository) IsClosed

func (r *Repository) IsClosed() bool

func (*Repository) IsReadOnly

func (r *Repository) IsReadOnly() bool

func (*Repository) LookupArtifact

func (r *Repository) LookupArtifact(name string, version string) (cpi.ArtifactAccess, error)

func (*Repository) LookupNamespace

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

func (*Repository) NamespaceLister

func (r *Repository) 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) 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