Help us shape the future of Go! Take the 2026 Go Developer Survey

registry

package
v0.16.1 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2019 License: MIT Imports: 23 Imported by: 45

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// ErrBasicAuth indicates that the repository requires basic rather than token authentication.
	ErrBasicAuth = errors.New("basic auth required")
)
View Source
var (
	// ErrUnexpectedSchemaVersion a specific schema version was requested, but was not returned
	ErrUnexpectedSchemaVersion = errors.New("recieved a different schema version than expected")
)

Functions

func Log

func Log(format string, args ...interface{})

Log passes log messages to the logging package.

func Quiet

func Quiet(format string, args ...interface{})

Quiet discards logs silently.

Types

type BasicTransport

type BasicTransport struct {
	Transport http.RoundTripper
	URL       string
	Username  string
	Password  string
}

BasicTransport defines the data structure for authentication via basic auth.

func (*BasicTransport) RoundTrip

func (t *BasicTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip defines the round tripper for basic auth transport.

type CustomTransport added in v0.14.2

type CustomTransport struct {
	Transport http.RoundTripper
	Headers   map[string]string
}

CustomTransport defines the data structure for custom http.Request options.

func (*CustomTransport) RoundTrip added in v0.14.2

func (t *CustomTransport) RoundTrip(request *http.Request) (*http.Response, error)

RoundTrip defines the round tripper for the error transport.

type ErrorTransport

type ErrorTransport struct {
	Transport http.RoundTripper
}

ErrorTransport defines the data structure for returning errors from the round tripper.

func (*ErrorTransport) RoundTrip

func (t *ErrorTransport) RoundTrip(request *http.Request) (*http.Response, error)

RoundTrip defines the round tripper for the error transport.

type Image added in v0.14.0

type Image struct {
	Domain string
	Path   string
	Tag    string
	Digest digest.Digest
	// contains filtered or unexported fields
}

Image holds information about an image.

func ParseImage added in v0.14.0

func ParseImage(image string) (Image, error)

ParseImage returns an Image struct with all the values filled in for a given image.

func (Image) Reference added in v0.14.0

func (i Image) Reference() string

Reference returns either the digest if it is non-empty or the tag for the image.

func (Image) String added in v0.14.0

func (i Image) String() string

String returns the string representation of an image.

func (*Image) WithDigest added in v0.14.0

func (i *Image) WithDigest(digest digest.Digest) (err error)

WithDigest sets the digest for an image.

type LogfCallback

type LogfCallback func(format string, args ...interface{})

LogfCallback is the callback for formatting logs.

type Opt added in v0.13.1

type Opt struct {
	Domain   string
	Insecure bool
	Debug    bool
	SkipPing bool
	NonSSL   bool
	Timeout  time.Duration
	Headers  map[string]string
}

Opt holds the options for a new registry.

type Registry

type Registry struct {
	URL      string
	Domain   string
	Username string
	Password string
	Client   *http.Client
	Logf     LogfCallback
	Opt      Opt
}

Registry defines the client for retrieving information from the registry API.

func New

func New(ctx context.Context, auth types.AuthConfig, opt Opt) (*Registry, error)

New creates a new Registry struct with the given URL and credentials.

func (*Registry) Catalog

func (r *Registry) Catalog(ctx context.Context, u string) ([]string, error)

Catalog returns the repositories in a registry.

func (*Registry) Delete

func (r *Registry) Delete(ctx context.Context, repository string, digest digest.Digest) (err error)

Delete removes a repository digest from the registry. https://docs.docker.com/registry/spec/api/#deleting-an-image

func (*Registry) Digest

func (r *Registry) Digest(ctx context.Context, image Image) (digest.Digest, error)

Digest returns the digest for an image.

func (*Registry) DownloadLayer

func (r *Registry) DownloadLayer(ctx context.Context, repository string, digest digest.Digest) (io.ReadCloser, error)

DownloadLayer downloads a specific layer by digest for a repository.

func (*Registry) HasLayer

func (r *Registry) HasLayer(ctx context.Context, repository string, digest digest.Digest) (bool, error)

HasLayer returns if the registry contains the specific digest for a repository.

func (*Registry) Headers added in v0.13.2

func (r *Registry) Headers(ctx context.Context, uri string) (map[string]string, error)

Headers returns the authorization headers for a specific uri.

func (*Registry) Manifest

func (r *Registry) Manifest(ctx context.Context, repository, ref string) (distribution.Manifest, error)

Manifest returns the manifest for a specific repository:tag.

func (*Registry) ManifestList

func (r *Registry) ManifestList(ctx context.Context, repository, ref string) (manifestlist.ManifestList, error)

ManifestList gets the registry v2 manifest list.

func (*Registry) ManifestV1

func (r *Registry) ManifestV1(ctx context.Context, repository, ref string) (schema1.SignedManifest, error)

ManifestV1 gets the registry v1 manifest.

func (*Registry) ManifestV2

func (r *Registry) ManifestV2(ctx context.Context, repository, ref string) (schema2.Manifest, error)

ManifestV2 gets the registry v2 manifest.

func (*Registry) Ping

func (r *Registry) Ping(ctx context.Context) error

Ping tries to contact a registry URL to make sure it is up and accessible.

func (*Registry) Pingable added in v0.16.1

func (r *Registry) Pingable() bool

Pingable checks pingable

func (*Registry) PutManifest added in v0.14.0

func (r *Registry) PutManifest(ctx context.Context, repository, ref string, manifest distribution.Manifest) error

PutManifest calls a PUT for the specific manifest for an image.

func (*Registry) Tags

func (r *Registry) Tags(ctx context.Context, repository string) ([]string, error)

Tags returns the tags for a specific repository.

func (*Registry) Token

func (r *Registry) Token(ctx context.Context, url string) (string, error)

Token returns the required token for the specific resource url. If the registry requires basic authentication, this function returns ErrBasicAuth.

func (*Registry) UploadLayer

func (r *Registry) UploadLayer(ctx context.Context, repository string, digest reference.Reference, content io.Reader) error

UploadLayer uploads a specific layer by digest for a repository.

type TokenTransport

type TokenTransport struct {
	Transport http.RoundTripper
	Username  string
	Password  string
}

TokenTransport defines the data structure for authentication via tokens.

func (*TokenTransport) RoundTrip

func (t *TokenTransport) RoundTrip(req *http.Request) (*http.Response, error)

RoundTrip defines the round tripper for token transport.

Jump to

Keyboard shortcuts

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