Package Usage: go: cuelabs.dev/go/oci/ociregistry
Package ociregistry provides an abstraction that represents the
capabilities provided by an OCI registry.
See the OCI distribution specification for more information on OCI registries.
Packages within this module provide the capability to translate to and
from the HTTP protocol documented in that specification:
- cuelabs.dev/go/oci/ociregistry/ociclient provides an Interface value
that acts as an HTTP client.
- cuelabs.dev/go/oci/ociregistry/ociserver provides an HTTP server
that serves the distribution protocol by making calls to an arbitrary
Interface value.
When used together in a stack, the above two packages can be used
to provide a simple proxy server.
The cuelabs.dev/go/oci/ociregistry/ocimem package provides a trivial
in-memory implementation of the interface.
Other packages provide some utilities that manipulate Interface values:
- cuelabs.dev/go/oci/ociregistry/ocifilter provides functionality for exposing
modified or restricted views onto a registry.
- cuelabs.dev/go/oci/ociregistry/ociunify can combine two registries into one
unified view across both.
In general, the caller cannot assume that the implementation of a given Interface value
is present on the network. For example, cuelabs.dev/go/oci/ociregistry/ocimem
doesn't know about the network at all. But there are times when an implementation
might want to provide information about the location of blobs or manifests so
that a client can go direct if it wishes. That is, a proxy might not wish
to ship all the traffic for all blobs through itself, but instead redirect clients
to talk to some other location on the internet.
When an Interface implementation wishes to provide that information, it
can do so by setting the `URLs` field on the descriptor that it returns for
a given blob or manifest. Although it is not mandatory for a caller to use
this, some callers (specifically the ociserver package) can use this information
to redirect clients appropriately.
26 versions
Latest release: plus d'un an ago
56 dependent packages
View more package details: https://packages.ecosystem.code.gouv.fr/registries/proxy.golang.org/packages/cuelabs.dev/go/oci/ociregistry