Module: AppRb::Util::Registry

Defined in:
lib/app-rb/util/registry.rb

Class Method Summary collapse

Class Method Details

.clean(registry, image_name, keep_tags = []) ⇒ Object



7
8
9
10
11
12
# File 'lib/app-rb/util/registry.rb', line 7

def self.clean(registry, image_name, keep_tags = [])
  (tags_list(registry, image_name) - keep_tags).each do |hash|
    digest = AppRb::Util.just_cmd("curl -s --head -H 'Accept: application/vnd.docker.distribution.manifest.v2+json' https://#{registry}/v2/#{image_name}/manifests/#{hash} | grep Docker-Content-Digest | cut -d' ' -f2")
    AppRb::Util.do_it "curl -s -X DELETE https://#{registry}/v2/#{image_name}/manifests/#{digest}"
  end
end

.tags_list(registry, image_name) ⇒ Object



2
3
4
5
# File 'lib/app-rb/util/registry.rb', line 2

def self.tags_list(registry, image_name)
  o = JSON.load(AppRb::Util.just_cmd("curl -s https://#{registry}/v2/#{image_name}/tags/list"))
  o.is_a?(Hash) && o["errors"] ? [] : o["tags"]
end