docker_registry2 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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