registry#

binderhub.repoproviders

Module: binderhub.registry#

Interaction with the Docker Registry

DockerRegistry#

class binderhub.registry.DockerRegistry(**kwargs: Any)#
auth_config_url c.DockerRegistry.auth_config_url = Unicode('https://index.docker.io/v1')#

Docker auth configuration url.

Used to lookup auth data in docker config.json.

Not used if url, username, and password are set.

Default: same as url

Only set if: - Not using Docker Hub - registry url is not the auth key in docker config.json

docker_config_path c.DockerRegistry.docker_config_path = Unicode('/home/docs/.docker/config.json')#

” path to docker config.json

Default: ~/.docker/config.json (respects $DOCKER_CONFIG if set)

async get_credentials(image, tag)#

If a dynamic token is required for pushing an image to the registry return a dictionary of login credentials, otherwise return None (caller should get credentials from some other source)

async get_image_manifest(image, tag)#

Get the manifest for an image.

image: The image name without the registry and tag tag: The image tag

not_found_401 c.DockerRegistry.not_found_401 = Bool(False)#

Set to True if your registry returns a 401 error when a repo doesn’t exist even with valid credentials.

Only has an effect when using token credentials.

Docker Hub has started to do this. True by default when using Docker Hub, False otherwise.

password c.DockerRegistry.password = Unicode('')#

Password for authenticating with docker registry

Default: retrieved from docker config.json.

token_url c.DockerRegistry.token_url = Unicode('')#

URL to request docker registry authentication token.

No need to set if using Docker Hub or gcr.io

url c.DockerRegistry.url = Unicode('https://registry-1.docker.io')#

Docker registry url.

Default: retrieved from docker config.json

Only set this if: - not using docker hub, and - more than one registry is configured in docker config.json

username c.DockerRegistry.username = Unicode('')#

Username for authenticating with docker registry

Default: retrieved from docker config.json.