Class: Dependabot::Docker::Utils::CredentialsFinder

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dependabot/docker/utils/credentials_finder.rb

Constant Summary collapse

AWS_ECR_URL =
/dkr\.ecr\.(?<region>[^.]+)\.amazonaws\.com/
DEFAULT_DOCKER_HUB_REGISTRY =
"registry.hub.docker.com"

Instance Method Summary collapse

Constructor Details

#initialize(credentials) ⇒ CredentialsFinder

Returns a new instance of CredentialsFinder.



19
20
21
# File 'lib/dependabot/docker/utils/credentials_finder.rb', line 19

def initialize(credentials)
  @credentials = credentials
end

Instance Method Details

#base_registryObject



35
36
37
38
39
40
41
# File 'lib/dependabot/docker/utils/credentials_finder.rb', line 35

def base_registry
  @base_registry ||= credentials.find do |cred|
    cred["type"] == "docker_registry" && cred.replaces_base?
  end
  @base_registry ||= { "registry" => DEFAULT_DOCKER_HUB_REGISTRY, "credentials" => nil }
  @base_registry["registry"]
end

#credentials_for_registry(registry_hostname) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'lib/dependabot/docker/utils/credentials_finder.rb', line 24

def credentials_for_registry(registry_hostname)
  registry_details =
    credentials
    .select { |cred| cred["type"] == "docker_registry" }
    .find { |cred| cred.fetch("registry") == registry_hostname }
  return unless registry_details
  return registry_details unless registry_hostname.match?(AWS_ECR_URL)

  build_aws_credentials(registry_details)
end

#using_dockerhub?(registry) ⇒ Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/dependabot/docker/utils/credentials_finder.rb', line 43

def using_dockerhub?(registry)
  registry == DEFAULT_DOCKER_HUB_REGISTRY
end