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: 44

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