NAME
Docker::Registry - A client for talking to Docker Registries
SYNOPSIS
# Use AWSs Elastic Container Registry
use Docker::Registry::ECR;
my $reg = Docker::Registry::ECR->new(
region => 'us-west-2',
account_id => '0123456789',
);
my $repo_list = $reg->repositories;
# Use Google Container Registry (GCR)
use Docker::Registry::GCE;
my $reg = Docker::Registry::GCE->new;
my $repo_list $reg->repositories;
DESCRIPTION
This module helps you talk to different Docker Registries from different cloud providers.
Docker Registry APIs are standard, but authentication methods differ from vendor to vendor. This set of modules helps manage that for you.
WARNING
Consider this code Alpha quality. It works, but only some read-only methods have been implemented, and the API may still change. Be careful if you start depending on this module.
ATTRIBUTES
url
The URL of the registry. Most of the time this URL is automatically derived by provider classes like (Docker::Registry::ECR.
auth
An instance of an object that has the Docker::Registry::Auth Role. See "AUTHENTICATION" for a list of authentication types. Subclasses (like Docker::Registry::GCE) will set a default authentication object appropriate for the specific provider. This is left injectable in the constructor so the programmer can force a specific auth provider.
METHODS
repositories
Returns a Docker::Registry::Result::Repositories object with the list of repositories
repository_tags(name => $repo_name)
Returns a Docker::Registry::Result::RepositoryTags object with the list of tags
PROVIDERS
Different cloud providers of Docker registries have subtle differences between them, so there are specialized classes for each supported provider:
AUTHENTICATION
Each registry class has it's authentication providers:
Docker::Registry::Auth::GCEServiceAccount
Docker::Registry::Auth::Gitlab
The most of the time the specialized provider tries to select the appropiate authentication module, but it can be overrided with the auth
attribute
SEE ALSO
https://docs.docker.com/registry/spec/api/
AUTHOR
Jose Luis Martinez
CAPSiDE
jlmartinez@capside.com
CONTRIBUTORS
Wesley Schwengle (waterkip) has implemented the GitLab provider, as well as refactored code
For a full list of all the contributors see the CONTRIBUTORS file included in this module.
BUGS and SOURCE
The source code is located here: https://github.com/pplu/docker-registry
Please report bugs to: https://github.com/pplu/docker-registry/issues
COPYRIGHT and LICENSE
Copyright (c) 2018 by CAPSiDE This code is distributed under the Apache 2 License. The full text of the license can be found in the LICENSE file included with this module.