registry

package
v0.0.0-...-a3a5c94 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRegistryNotFound = errors.New("registry not found")

	// ErrRepositoryNotFound means the repository can not be found.
	ErrRepositoryNotFound = errors.New("repository not found")

	ErrManifestNotFound = errors.New("manifest not found")

	ErrOperationIsUnsupported = errors.New("The operation is unsupported")
)

registry error

View Source
var (
	ErrNoMorePages = errors.New("No more pages")
)

Functions

func Log

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

Log print log

  • Pass log messages along to Go's "log" module.

func Quiet

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

Quiet Quiet

  • Discard log messages silently.

func WrapTransport

func WrapTransport(transport http.RoundTripper, url, username, password string) http.RoundTripper

WrapTransport returns an existing http.RoundTripper such as http.DefaultTransport, build the transport stack necessary to authenticate to the Docker registry API. This adds in support for OAuth bearer tokens and HTTP Basic auth, and sets up error handling this library relies on.

Types

type AuthorizationChallenge

type AuthorizationChallenge struct {
	Scheme     string
	Parameters map[string]string
}

AuthorizationChallenge carries information from a WWW-Authenticate response header.

type BasicTransport

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

func (*BasicTransport) RoundTrip

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

type ErrorTransport

type ErrorTransport struct {
	Transport http.RoundTripper
}

func (*ErrorTransport) RoundTrip

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

type HttpStatusError

type HttpStatusError struct {
	Response *http.Response
	Body     []byte // Copied from `Response.Body` to avoid problems with unclosed bodies later. Nobody calls `err.Response.Body.Close()`, ever.
}

func (*HttpStatusError) Error

func (err *HttpStatusError) Error() string

type LogfCallback

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

LogfCallback LogfCallback

type Registry

type Registry struct {
	URL    string
	Client *http.Client
	Logf   LogfCallback
}

Registry the client for image repostory

func New

func New(registryURL, username, password string) (*Registry, error)

New new ssl registry client

  • Create a new Registry with the given URL and credentials, then Ping()s it
  • before returning it to verify that the registry is available. *
  • You can, alternately, construct a Registry manually by populating the fields.
  • This passes http.DefaultTransport to WrapTransport when creating the
  • http.Client.

func NewInsecure

func NewInsecure(registryURL, username, password string) (*Registry, error)

NewInsecure new insecure skip verify tls client

  • Create a new Registry, as with New, using an http.Transport that disables
  • SSL certificate verification.

func (*Registry) CheckManifest

func (registry *Registry) CheckManifest(repository, reference string) error

CheckManifest checks if the manifest of the given image is exist.

func (*Registry) DeleteManifest

func (registry *Registry) DeleteManifest(repository string, digest digest.Digest) error

DeleteManifest -

func (*Registry) Manifest

func (registry *Registry) Manifest(repository, reference string) (*manifestV1.SignedManifest, error)

Manifest -

func (*Registry) ManifestDigest

func (registry *Registry) ManifestDigest(repository, reference string) (digest.Digest, error)

ManifestDigest -

func (*Registry) ManifestV2

func (registry *Registry) ManifestV2(repository, reference string) (*manifestV2.DeserializedManifest, error)

ManifestV2 -

func (*Registry) Ping

func (r *Registry) Ping() error

Ping ping registry server

func (*Registry) PutManifest

func (registry *Registry) PutManifest(repository, reference string, signedManifest *manifestV1.SignedManifest) error

PutManifest -

func (*Registry) Repositories

func (registry *Registry) Repositories() ([]string, error)

func (*Registry) Tags

func (registry *Registry) Tags(repository string) (tags []string, err error)

type TokenTransport

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

func (*TokenTransport) RoundTrip

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

Jump to

Keyboard shortcuts

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