Documentation ¶
Index ¶
- Constants
- Variables
- func CheckAuth(ctx context.Context, sys *types.SystemContext, ...) error
- func GetDigest(ctx context.Context, sys *types.SystemContext, ref types.ImageReference) (digest.Digest, error)
- func GetRepositoryTags(ctx context.Context, sys *types.SystemContext, ref types.ImageReference) ([]string, error)
- func NewReference(ref reference.Named) (types.ImageReference, error)
- func NewReferenceUnknownDigest(ref reference.Named) (types.ImageReference, error)
- func ParseReference(refString string) (types.ImageReference, error)
- func SignatureStorageBaseURL(sys *types.SystemContext, ref types.ImageReference, write bool) (*url.URL, error)
- type ErrUnauthorizedForCredentials
- type Image
- type SearchResult
Constants ¶
const UnknownDigestSuffix = "@@unknown-digest@@"
UnknownDigestSuffix can be appended to a reference when the caller wants to push an image without a tag or digest. NewReferenceUnknownDigest() is called when this const is detected.
Variables ¶
var ( // ErrV1NotSupported is returned when we're trying to talk to a // docker V1 registry. // Deprecated: The V1 container registry detection is no longer performed, so this error is never returned. ErrV1NotSupported = errors.New("can't talk to a V1 container registry") // ErrTooManyRequests is returned when the status code returned is 429 ErrTooManyRequests = errors.New("too many requests to registry") )
var Transport = dockerTransport{}
Transport is an ImageTransport for container registry-hosted images.
Functions ¶
func CheckAuth ¶
func CheckAuth(ctx context.Context, sys *types.SystemContext, username, password, registry string) error
CheckAuth validates the credentials by attempting to log into the registry returns an error if an error occurred while making the http request or the status code received was 401
func GetDigest ¶ added in v5.8.0
func GetDigest(ctx context.Context, sys *types.SystemContext, ref types.ImageReference) (digest.Digest, error)
GetDigest returns the image's digest Use this to optimize and avoid use of an ImageSource based on the returned digest; if you are going to use an ImageSource anyway, it’s more efficient to create it first and compute the digest from the value returned by GetManifest. NOTE: Implemented to avoid Docker Hub API limits, and mirror configuration may be ignored (but may be implemented in the future)
func GetRepositoryTags ¶
func GetRepositoryTags(ctx context.Context, sys *types.SystemContext, ref types.ImageReference) ([]string, error)
GetRepositoryTags list all tags available in the repository. The tag provided inside the ImageReference will be ignored.
func NewReference ¶
func NewReference(ref reference.Named) (types.ImageReference, error)
NewReference returns a Docker reference for a named reference. The reference must satisfy !reference.IsNameOnly().
func NewReferenceUnknownDigest ¶ added in v5.29.1
func NewReferenceUnknownDigest(ref reference.Named) (types.ImageReference, error)
NewReferenceUnknownDigest returns a Docker reference for a named reference, which can be used to write images without setting a tag on the registry. The reference must satisfy reference.IsNameOnly()
func ParseReference ¶
func ParseReference(refString string) (types.ImageReference, error)
ParseReference converts a string, which should not start with the ImageTransport.Name prefix, into an Docker ImageReference.
func SignatureStorageBaseURL ¶ added in v5.7.0
func SignatureStorageBaseURL(sys *types.SystemContext, ref types.ImageReference, write bool) (*url.URL, error)
SignatureStorageBaseURL reads configuration to find an appropriate lookaside storage URL for ref, for write access if “write”. the usage of the BaseURL is defined under docker/distribution registries—separate storage of docs/signature-protocols.md Warning: This function only exposes configuration in registries.d; just because this function returns an URL does not mean that the URL will be used by c/image/docker (e.g. if the registry natively supports X-R-S-S).
Types ¶
type ErrUnauthorizedForCredentials ¶
type ErrUnauthorizedForCredentials struct {
}ErrUnauthorizedForCredentials is returned when the status code returned is 401
func (ErrUnauthorizedForCredentials) Error ¶
func (e ErrUnauthorizedForCredentials) Error() string
type Image ¶
type Image struct { types.ImageCloser // contains filtered or unexported fields }
Image is a Docker-specific implementation of types.ImageCloser with a few extra methods which are specific to Docker.
func (*Image) GetRepositoryTags ¶
GetRepositoryTags list all tags available in the repository. The tag provided inside the ImageReference will be ignored. (This is a backward-compatible shim method which calls the module-level GetRepositoryTags)
func (*Image) SourceRefFullName ¶
SourceRefFullName returns a fully expanded name for the repository this image is in.
type SearchResult ¶
type SearchResult struct { Name string `json:"name"` Description string `json:"description"` // StarCount states the number of stars the image has StarCount int `json:"star_count"` IsTrusted bool `json:"is_trusted"` // IsAutomated states whether the image is an automated build IsAutomated bool `json:"is_automated"` // IsOfficial states whether the image is an official build IsOfficial bool `json:"is_official"` }
SearchResult holds the information of each matching image It matches the output returned by the v1 endpoint
func SearchRegistry ¶
func SearchRegistry(ctx context.Context, sys *types.SystemContext, registry, image string, limit int) ([]SearchResult, error)
SearchRegistry queries a registry for images that contain "image" in their name The limit is the max number of results desired Note: The limit value doesn't work with all registries for example registry.access.redhat.com returns all the results without limiting it to the limit value
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
internal
|
|
Package reference provides a general type to represent any way of referencing images within the registry.
|
Package reference provides a general type to represent any way of referencing images within the registry. |
Package tarfile is an internal implementation detail of some transports.
|
Package tarfile is an internal implementation detail of some transports. |