Module: DockerImageTagCheckModule

Included in:
Takelage::DockerContainer, Takelage::DockerImageTagCheck
Defined in:
lib/takelage/docker/image/tag/check/module.rb

Overview

takelage docker image tag check module

Instance Method Summary collapse

Instance Method Details

#docker_image_tag_check_local(tag) ⇒ Boolean

Backend method for docker image check tag local.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/takelage/docker/image/tag/check/module.rb', line 6

def docker_image_tag_check_local(tag)
  log.debug "Check if local docker image tag \"#{tag}\" exists"

  exit false unless configured? %w(docker_repo docker_image)

  if tag.to_s.strip.empty?
    log.warn "No local docker image tag specified"
    return false
  end

  image = "#{@docker_repo}/#{@docker_image}:#{tag}"

  cmd_docker_images = 'docker images --quiet ' +
      image

  stdout_str, stderr_str, status = run_and_check cmd_docker_images

  if stdout_str.to_s.strip.empty?
    log.debug "No local docker image \"#{image}\" found"
    return false
  end

  log.debug "Found local docker image \"#{image}\""
  true
end

#docker_image_tag_check_remote(tag) ⇒ Boolean

Backend method for docker image check tag remote.



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/takelage/docker/image/tag/check/module.rb', line 34

def docker_image_tag_check_remote(tag)
  log.debug "Check if remote image tag \"#{tag}\" exists"

  exit false unless configured? %w(docker_repo docker_image docker_tagsurl)

  if tag .to_s.strip.empty?
    log.warn "No remote docker image tag specified"
    return false
  end

  image = "#{@docker_repo}/#{@docker_image}:#{tag}"

  tags = docker_image_tag_list_remote

  unless tags.include? tag
    log.debug "No remote docker image \"#{image}\" found"
    return false
  end

  log.debug "Found remote docker image \"#{image}\""
  true
end