Documentation ¶
Overview ¶
Package dockerauth handles storing auth configuration information for Docker registries.
Usage ¶
This package pulls authentication information from the passed configuration. A user should set the "EngineAuthType" and "EngineAuthData" configuration keys to values indicated below.
These keys may be set by either setting the environment variables "ECS_ENGINE_AUTH_TYPE" and "ECS_ENGINE_AUTH_DATA" or by setting the keys "EngineAuthData" and "EngineAuthType" in the JSON configuration file located at the configured "ECS_AGENT_CONFIG_FILE_PATH" (see http://godoc.org/github.com/aws/amazon-ecs-agent/agent/config)
Auth Types ¶
The two currently supported auth types are "docker" and "dockercfg".
Docker:
The auth type "docker" is intended to work most naturally with a JSON configuration file. The "AuthData" is a structured JSON object which specifies values for the docker "AuthConfig" structure. The "AuthData" should be an object similar to the following:
{ "my.registry.example.com": { "username": "myUsername", "password": "myPassword" }, "https://index.docker.io/v1/user": { "username": "my-dockerhub-username", "password": "my-dockerhub-password", "email": "my-optinallyincluded-email" } }
Dockercfg:
The auth type "dockercfg" is intended to allow easy use of an existing ".dockercfg" file generated by running "docker login". This auth type expects the "AuthData" to be a string containing the contents of that file. The contents of your ".dockercfg" will generally be a string of the following form:
'{"http://myregistry.com/v1/":{"auth":"dXNlcjpzd29yZGZpc2g=","email":"email"}}'
Portions copyright 2012-2015 Docker, Inc. Please see LICENSE for applicable license terms and NOTICE for applicable notices.
Package dockerauth handles storing auth configuration information for Docker registries
Index ¶
Constants ¶
const IndexName = "docker.io"
This is taken from Docker's codebase in whole or in part, Copyright Docker Inc. https://github.com/docker/docker/blob/v1.8.3/registry/config.go#L290
const ( // MinimumJitterDuration is the minimum duration to mark the credentials // as expired before it's actually expired MinimumJitterDuration = 30 * time.Minute )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DockerAuthProvider ¶
type DockerAuthProvider interface {
GetAuthconfig(image string, authData *ecr.ECRAuthData) (docker.AuthConfiguration, error)
}
DockerAuthProvider is something that can give the auth information for a given docker image
func NewDockerAuthProvider ¶
func NewDockerAuthProvider(authType string, authData json.RawMessage) DockerAuthProvider
func NewECRAuthProvider ¶
func NewECRAuthProvider(ecrFactory ecr.ECRFactory, cache async.Cache) DockerAuthProvider
NewECRAuthProvider returns a DockerAuthProvider that can handle retrieve credentials for pulling from Amazon EC2 Container Registry