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.

Returns:

  • (Boolean)

    does local docker image tag exist?



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
31
32
33
34
# 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"

  return false unless docker_check_running

  return false unless configured? %w(docker_user docker_repo)

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

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

  cmd_docker_images =
      config.active['cmd_docker_image_tag_check_local_docker_images'] % {
          image: image
      }

  stdout_str = run 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.

Returns:

  • (Boolean)

    does remote docker image tag exist?



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/takelage/docker/image/tag/check/module.rb', line 38

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

  return false unless docker_check_running

  return false unless configured? %w(docker_user docker_repo docker_tagsurl)

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

  image = "#{@docker_user}/#{@docker_repo}:#{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