module Dapp::Dimg::Dapp::Command::Stages::Common
Protected Instance Methods
delete_repo_image(registry, repo_image)
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 63 def delete_repo_image(registry, repo_image) log([repo_image[:dimg], repo_image[:tag]].compact.join(':')) if dry_run? || log_verbose? unless dry_run? begin if self.class.gcr_registry? registry.gcr_image_delete(repo_image[:tag], repo_image[:dimg]) else registry.image_delete(repo_image[:tag], repo_image[:dimg]) end rescue ::Dapp::Dimg::Error::Registry => e raise unless e.net_status[:data][:message].include?("MANIFEST_UNKNOWN") log_warning "WARNING: Ignore dimg `#{repo_image[:dimg]}` tag `#{repo_image[:tag]}`: got not-found-error from docker registry on image-delete request: #{e.net_status[:data][:message]}" end end end
lock_repo(repo, *args, &blk)
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 95 def lock_repo(repo, *args, &blk) lock("repo.#{hashsum repo}", *args, &blk) end
log_proper_git_commit(&blk)
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 91 def log_proper_git_commit(&blk) log_step_with_indent(:'proper git commit', &blk) end
proper_git_commit?()
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 83 def proper_git_commit? !!options[:proper_git_commit] end
proper_repo_cache?()
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 79 def proper_repo_cache? !!options[:proper_repo_cache] end
repo_detailed_dimgs_images(registry)
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 9 def repo_detailed_dimgs_images(registry) repo_dimgs_images(registry).select do |dimg| begin image_config = registry.image_config(dimg[:tag], dimg[:dimg]) dimg[:created_at] = Time.parse(image_config["created"]).to_i dimg[:parent] = image_config["container_config"]["Image"] dimg[:labels] = image_config["config"]["Labels"] dimg[:labels]['dapp'] == name rescue ::Dapp::Dimg::Error::Registry => e raise unless e.net_status[:data][:message].include?("MANIFEST_UNKNOWN") log_warning "WARNING: Ignore dimg `#{dimg[:dimg]}` tag `#{dimg[:tag]}`: got manifest-invalid-error from docker registry: #{e.net_status[:data][:message]}" false end end end
repo_dimgs_images(registry)
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 25 def repo_dimgs_images(registry) [].tap do |dimgs_images| {}.tap do |dimgs_tags| dimgs_tags[nil] = registry.nameless_dimg_tags dimgs_names.each do |dimg_name| dimgs_tags[dimg_name] = registry.dimg_tags(dimg_name) end unless nameless_dimg? end.each do |dimg_name, tags| dimgs_images.concat(tags_to_repo_images(registry, tags, dimg_name)) end end end
repo_dimgstages_images(registry)
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 38 def repo_dimgstages_images(registry) tags_to_repo_images(registry, registry.dimgstages_tags) end
repo_image_format(registry, tag, dimg_name = nil)
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 46 def repo_image_format(registry, tag, dimg_name = nil) begin id = registry.image_id(tag, dimg_name) if id.nil? log_warning(desc: { code: 'tag_ignored', data: { tag: tag } }) return nil end return { dimg: dimg_name, tag: tag, id: id } rescue ::Dapp::Dimg::Error::Registry => e raise unless e.net_status[:data][:message].include?("MANIFEST_UNKNOWN") log_warning "WARNING: Ignore dimg `#{dimg_name}` tag `#{tag}`: got not-found-error from docker registry on get-image-manifest request: #{e.net_status[:data][:message]}" return nil end end
stages_cleanup_option?()
click to toggle source
# File lib/dapp/dimg/dapp/command/stages/common.rb, line 87 def stages_cleanup_option? proper_git_commit? || proper_cache_version? || proper_repo_cache? end