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 +4 -4
- data/Makefile +14 -0
- data/get-gem-name.rb +6 -0
- data/lib/registry/registry.rb +14 -1
- data/lib/registry/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 659ecf4ef40131454d487d83c3f6592020b69f04
|
4
|
+
data.tar.gz: 64c62b6dc3ac56dcd49e7290dd519a6c56ba9836
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f436b0a221871c034a9a7fe785d00ebb24011c12e2adeec782786676f819ef61356ab0f1440b3b98f0f01e516b31e90a71532cc672a488b6e12f3f243481fdde
|
7
|
+
data.tar.gz: 0e8eca4a3438bb7fda0608b7920b6b76bc2090928b81c13589adb2f1031de98d11c8c15136fb1cad6028a23987be66ecf56cd71884feed755f94c981602fb737
|
data/Makefile
ADDED
data/get-gem-name.rb
ADDED
data/lib/registry/registry.rb
CHANGED
@@ -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
|
-
|
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
|
data/lib/registry/version.rb
CHANGED
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.
|
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-
|
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
|