package docker
import "github.com/containerd/containerd/remotes/docker"
Index ¶
- Variables
- func DefaultHost(ns string) (string, error)
- func NewResolver(options ResolverOptions) remotes.Resolver
- type Authorizer
- type ResolverOptions
- type Status
- type StatusTracker
Variables ¶
var ( // ErrNoToken is returned if a request is successful but the body does not // contain an authorization token. ErrNoToken = errors.New("authorization server did not include a token in the response") // ErrInvalidAuthorization is used when credentials are passed to a server but // those credentials are rejected. ErrInvalidAuthorization = errors.New("authorization failed") )
Functions ¶
func DefaultHost ¶
DefaultHost is the default host function.
func NewResolver ¶
func NewResolver(options ResolverOptions) remotes.Resolver
NewResolver returns a new resolver to a Docker registry
Types ¶
type Authorizer ¶
type Authorizer interface { // Authorize sets the appropriate `Authorization` header on the given // request. // // If no authorization is found for the request, the request remains // unmodified. It may also add an `Authorization` header as // "bearer <some bearer token>" // "basic <base64 encoded credentials>" Authorize(context.Context, *http.Request) error // AddResponses adds a 401 response for the authorizer to consider when // authorizing requests. The last response should be unauthorized and // the previous requests are used to consider redirects and retries // that may have led to the 401. // // If response is not handled, returns `ErrNotImplemented` AddResponses(context.Context, []*http.Response) error }
Authorizer is used to authorize HTTP requests based on 401 HTTP responses. An Authorizer is responsible for caching tokens or credentials used by requests.
func NewAuthorizer ¶
NewAuthorizer creates a Docker authorizer using the provided function to get credentials for the token server or basic auth.
type ResolverOptions ¶
type ResolverOptions struct { // Authorizer is used to authorize registry requests Authorizer Authorizer // Credentials provides username and secret given a host. // If username is empty but a secret is given, that secret // is interpretted as a long lived token. // Deprecated: use Authorizer Credentials func(string) (string, string, error) // Host provides the hostname given a namespace. Host func(string) (string, error) // PlainHTTP specifies to use plain http and not https PlainHTTP bool // Client is the http client to used when making registry requests Client *http.Client // Tracker is used to track uploads to the registry. This is used // since the registry does not have upload tracking and the existing // mechanism for getting blob upload status is expensive. Tracker StatusTracker }
ResolverOptions are used to configured a new Docker register resolver
type Status ¶
type Status struct { content.Status // UploadUUID is used by the Docker registry to reference blob uploads UploadUUID string }
Status of a content operation
type StatusTracker ¶
StatusTracker to track status of operations
func NewInMemoryTracker ¶
func NewInMemoryTracker() StatusTracker
NewInMemoryTracker returns a StatusTracker that tracks content status in-memory
Source Files ¶
auth.go authorizer.go fetcher.go httpreadseeker.go pusher.go resolver.go scope.go status.go
Directories ¶
Path | Synopsis |
---|---|
remotes/docker/schema1 |
- Version
- v1.2.1-rc.0
- Published
- Nov 21, 2018
- Platform
- js/wasm
- Imports
- 26 packages
- Last checked
- 4 minutes ago –
Tools for package owners.