docker_registry2 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 992caae84eabca0ad18bcc512d5597374dc6118d
4
- data.tar.gz: b2c5bf87009426992b0e7fe033c0f68bfcedbca8
3
+ metadata.gz: 659ecf4ef40131454d487d83c3f6592020b69f04
4
+ data.tar.gz: 64c62b6dc3ac56dcd49e7290dd519a6c56ba9836
5
5
  SHA512:
6
- metadata.gz: aa966c198aed38cc24d0f249ba0d0add2dff8f6ea890488f3bb1e9276668c89c0679d22f7049d66a8968933481df96297e4773458e5e89f1f00c98ed782d7618
7
- data.tar.gz: de196e0db00daf1c698ac31bc28835f79bc8beffad0acae27318b44a578e6441f08330177986639dc300a339be61759e651a046ba5e0cfbb5d06dc06c3e69809
6
+ metadata.gz: f436b0a221871c034a9a7fe785d00ebb24011c12e2adeec782786676f819ef61356ab0f1440b3b98f0f01e516b31e90a71532cc672a488b6e12f3f243481fdde
7
+ data.tar.gz: 0e8eca4a3438bb7fda0608b7920b6b76bc2090928b81c13589adb2f1031de98d11c8c15136fb1cad6028a23987be66ecf56cd71884feed755f94c981602fb737
@@ -0,0 +1,14 @@
1
+ GEM ?= $(shell ruby ./get-gem-name.rb)
2
+
3
+ all: deploy
4
+
5
+ deploy: build
6
+ gem push $(GEM)
7
+
8
+ build: $(GEM)
9
+
10
+ $(GEM):
11
+ gem build docker_registry2.gemspec
12
+
13
+ clean:
14
+ rm -rf docker_registry2*.gem
@@ -0,0 +1,6 @@
1
+ #!ruby
2
+
3
+ require "rubygems"
4
+
5
+ spec = Gem::Specification::load("docker_registry2.gemspec")
6
+ puts spec.name.to_s+'-'+spec.version.to_s+'.gem'
@@ -20,6 +20,10 @@ class DockerRegistry2::Registry
20
20
  return doreq "get", url
21
21
  end
22
22
 
23
+ def dodelete(url)
24
+ return doreq "delete", url
25
+ end
26
+
23
27
  def dohead(url)
24
28
  return doreq "head", url
25
29
  end
@@ -71,13 +75,20 @@ class DockerRegistry2::Registry
71
75
  JSON.parse doget "/v2/#{repo}/manifests/#{tag}"
72
76
  end
73
77
 
78
+ def rmtag(image, tag)
79
+ # TODO: Need full response back. Rewrite other manifests() calls without JSON?
80
+ reference = doget("/v2/#{image}/manifests/#{tag}").headers[:docker_content_digest]
81
+
82
+ return dodelete("/v2/#{image}/manifests/#{reference}").code
83
+ end
84
+
74
85
  def pull(repo,tag,dir)
75
86
  # make sure the directory exists
76
87
  FileUtils::mkdir_p dir
77
88
  # get the manifest
78
89
  m = manifest repo,tag
79
90
  # pull each of the layers
80
- layers = m["layers"].each { |layer|
91
+ m["layers"].each { |layer|
81
92
  # make sure the layer does not exist first
82
93
  if ! File.file? "#{dir}/#{layer.blobSum}" then
83
94
  doget "/v2/#{repo}/blobs/#{layer.blobSum}" "#{dir}/#{layer.blobSum}"
@@ -185,6 +196,8 @@ class DockerRegistry2::Registry
185
196
  uri.user = @user if defined? @user
186
197
  uri.password = @password if defined? @password
187
198
  begin
199
+ # FIXME: This should be set with the rest of the headers
200
+ # target[:params]['scope'] = 'repository'
188
201
  response = RestClient.get uri.to_s, {params: target[:params]}
189
202
  rescue RestClient::Unauthorized
190
203
  # bad authentication
@@ -1,3 +1,3 @@
1
1
  module DockerRegistry2
2
- VERSION = '0.6.0'
2
+ VERSION = '0.7.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: docker_registry2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Avi Deitcher https://github.com/deitch
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-03-26 00:00:00.000000000 Z
13
+ date: 2017-05-11 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -76,8 +76,10 @@ extra_rdoc_files: []
76
76
  files:
77
77
  - ".gitignore"
78
78
  - Gemfile
79
+ - Makefile
79
80
  - README.md
80
81
  - docker_registry2.gemspec
82
+ - get-gem-name.rb
81
83
  - lib/docker_registry2.rb
82
84
  - lib/registry/exceptions.rb
83
85
  - lib/registry/registry.rb