docker_registry2 1.5.1 → 1.6.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 +5 -5
- data/lib/registry/registry.rb +34 -4
- data/lib/registry/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 81a59b8010136692df1083c6a952f8cd1daaa731
|
4
|
+
data.tar.gz: 25f140d4340f8fc8c6c90a3fb9aab39179c1433a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8d4477daf7c4aa1e03cf4101ca1f6d4e0b3841a34f925461e0af93bdacc34cdde4ee4c0968e6f6d6800f2b2164e3a0d7d6ae736e43e0eeb3d04f289c23eed73
|
7
|
+
data.tar.gz: ea63c5390cfd87e0746cc2f27acfc640602fe91bf75af982f5db2361c1a36b4ea8706e0ed4ed8da0ed3f4b1ab53a3c8777a7c47312a7925c0dd25ac0d93dfe2d
|
data/lib/registry/registry.rb
CHANGED
@@ -49,10 +49,21 @@ class DockerRegistry2::Registry
|
|
49
49
|
return repos
|
50
50
|
end
|
51
51
|
|
52
|
-
def tags(repo,withHashes = false)
|
53
|
-
|
52
|
+
def tags(repo,count=100,last="",withHashes = false)
|
53
|
+
#create query params
|
54
|
+
params = []
|
55
|
+
if last != ""
|
56
|
+
params.push(["last",last])
|
57
|
+
end
|
58
|
+
params.push(["n",count])
|
59
|
+
|
60
|
+
response = doget "/v2/#{repo}/tags/list?#{URI.encode_www_form(params)}"
|
54
61
|
# parse the response
|
55
62
|
resp = JSON.parse response
|
63
|
+
# parse out next page link if necessary
|
64
|
+
if response.headers[:link]
|
65
|
+
resp["last"] = last(response.headers[:link])
|
66
|
+
end
|
56
67
|
# do we include the hashes?
|
57
68
|
if withHashes then
|
58
69
|
useGet = false
|
@@ -72,8 +83,7 @@ class DockerRegistry2::Registry
|
|
72
83
|
resp["hashes"][tag] = head.headers[:docker_content_digest]
|
73
84
|
}
|
74
85
|
end
|
75
|
-
|
76
|
-
return resp
|
86
|
+
resp
|
77
87
|
end
|
78
88
|
|
79
89
|
def manifest(repo,tag)
|
@@ -176,6 +186,26 @@ class DockerRegistry2::Registry
|
|
176
186
|
Integer(response.headers[:content_length],10)
|
177
187
|
end
|
178
188
|
|
189
|
+
def last(header)
|
190
|
+
last=''
|
191
|
+
parts = header.split(',')
|
192
|
+
links = Hash.new
|
193
|
+
|
194
|
+
# Parse each part into a named link
|
195
|
+
parts.each do |part, index|
|
196
|
+
section = part.split(';')
|
197
|
+
url = section[0][/<(.*)>/,1]
|
198
|
+
name = section[1][/rel="(.*)"/,1].to_sym
|
199
|
+
links[name] = url
|
200
|
+
end
|
201
|
+
|
202
|
+
if links[:next]
|
203
|
+
query=URI(links[:next]).query
|
204
|
+
last=URI::decode_www_form(query).to_h["last"]
|
205
|
+
end
|
206
|
+
last
|
207
|
+
end
|
208
|
+
|
179
209
|
def manifest_sum(manifest)
|
180
210
|
size = 0
|
181
211
|
manifest["layers"].each { |layer|
|
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: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Avi Deitcher https://github.com/deitch
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-
|
14
|
+
date: 2019-06-27 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: bundler
|
@@ -100,7 +100,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '0'
|
102
102
|
requirements: []
|
103
|
-
|
103
|
+
rubyforge_project:
|
104
|
+
rubygems_version: 2.4.8
|
104
105
|
signing_key:
|
105
106
|
specification_version: 4
|
106
107
|
summary: Docker v2 registry HTTP API client
|