 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- type AuthTokenError
- type DoNotRetry
- type Fetcher
- type ImageNotFoundError
- type Options
- type RegistryErrorRespBody
- type TagNotFoundError
- type Token
- type URLFetcher
- func (u *URLFetcher) AuthURL() *url.URL
- func (u *URLFetcher) ExtractOAuthURL(hdr string, repository *url.URL) (*url.URL, error)
- func (u *URLFetcher) Fetch(ctx context.Context, url *url.URL, reqHdrs *http.Header, toFile bool, ...) (string, error)
- func (u *URLFetcher) FetchAuthToken(url *url.URL) (*Token, error)
- func (u *URLFetcher) Head(url *url.URL) (http.Header, error)
- func (u *URLFetcher) IsNonretryableClientError() bool
- func (u *URLFetcher) IsStatusNotFound() bool
- func (u *URLFetcher) IsStatusOK() bool
- func (u *URLFetcher) IsStatusUnauthorized() bool
- func (u *URLFetcher) Ping(url *url.URL) (http.Header, error)
 
Constants ¶
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthTokenError ¶
AuthTokenError is returned when authentication with a registry fails
func (AuthTokenError) Error ¶
func (e AuthTokenError) Error() string
type DoNotRetry ¶
type DoNotRetry struct {
	Err error
}
    DoNotRetry is an error wrapper indicating that the error cannot be resolved with a retry.
func (DoNotRetry) Error ¶
func (e DoNotRetry) Error() string
Error returns the stringified representation of the encapsulated error.
type Fetcher ¶
type Fetcher interface {
	Fetch(ctx context.Context, url *url.URL, reqHdrs *http.Header, toFile bool, po progress.Output, id ...string) (string, error)
	FetchAuthToken(url *url.URL) (*Token, error)
	Ping(url *url.URL) (http.Header, error)
	Head(url *url.URL) (http.Header, error)
	ExtractOAuthURL(hdr string, repository *url.URL) (*url.URL, error)
	IsStatusOK() bool
	IsStatusNotFound() bool
	AuthURL() *url.URL
}
    Fetcher interface
type ImageNotFoundError ¶
type ImageNotFoundError struct {
	Err error
}
    ImageNotFoundError is returned when an image is not found.
func (ImageNotFoundError) Error ¶
func (e ImageNotFoundError) Error() string
type Options ¶
type Options struct {
	Timeout time.Duration
	Username string
	Password string
	InsecureSkipVerify bool
	Token *Token
	// RootCAs will not be modified by fetcher.
	RootCAs *x509.CertPool
}
    Options struct
type RegistryErrorRespBody ¶
RegistryErrorRespBody is used for unmarshaling json error response body from image registries. Error response json is assumed to follow Docker API convention (field `details` is dropped). See: https://docs.docker.com/registry/spec/api/#errors
type TagNotFoundError ¶
type TagNotFoundError struct {
	Err error
}
    TagNotFoundError is returned when an image's tag doesn't exist.
func (TagNotFoundError) Error ¶
func (e TagNotFoundError) Error() string
type Token ¶
type Token struct {
	// An opaque Bearer token that clients should supply to subsequent requests in the Authorization header.
	Token string `json:"token"`
	// (Optional) The duration in seconds since the token was issued that it will remain valid. When omitted, this defaults to 60 seconds.
	Expires   time.Time
	ExpiresIn int       `json:"expires_in"`
	IssueAt   time.Time `json:"issued_at"`
}
    Token represents https://docs.docker.com/registry/spec/auth/token/
type URLFetcher ¶
type URLFetcher struct {
	OAuthEndpoint *url.URL
	StatusCode int
	// contains filtered or unexported fields
}
    URLFetcher struct
func (*URLFetcher) AuthURL ¶
func (u *URLFetcher) AuthURL() *url.URL
AuthURL returns the Oauth endpoint URL
func (*URLFetcher) ExtractOAuthURL ¶
ExtractOAuthURL extracts the OAuth url from the www-authenticate header
func (*URLFetcher) Fetch ¶
func (u *URLFetcher) Fetch(ctx context.Context, url *url.URL, reqHdrs *http.Header, toFile bool, po progress.Output, ids ...string) (string, error)
Fetch fetches from a url and stores its content in a temporary file.
hdrs is optional.
func (*URLFetcher) FetchAuthToken ¶
func (u *URLFetcher) FetchAuthToken(url *url.URL) (*Token, error)
func (*URLFetcher) Head ¶
Head sends a HEAD request to url
func (*URLFetcher) IsNonretryableClientError ¶
func (u *URLFetcher) IsNonretryableClientError() bool
IsNonretryableClientError returns true if status code is a nonretryable 4XX error. This includes all 4XX errors except 'locked', and 'too many requests'.
func (*URLFetcher) IsStatusNotFound ¶
func (u *URLFetcher) IsStatusNotFound() bool
IsStatusNotFound returns true if status code is StatusNotFound
func (*URLFetcher) IsStatusOK ¶
func (u *URLFetcher) IsStatusOK() bool
IsStatusOK returns true if status code is StatusOK
func (*URLFetcher) IsStatusUnauthorized ¶
func (u *URLFetcher) IsStatusUnauthorized() bool
IsStatusUnauthorized returns true if status code is StatusUnauthorized
       Source Files
      ¶
      Source Files
      ¶
    
- errors.go
- fetcher.go