docker_registry2 1.2.0 → 1.3.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.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/Gemfile +1 -7
  4. data/Makefile +3 -0
  5. data/lib/registry/registry.rb +51 -8
  6. data/lib/registry/version.rb +1 -1
  7. data/test.sh +34 -0
  8. data/test/registry/docker/registry/v2/blobs/sha256/05/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/data +1 -0
  9. data/test/registry/docker/registry/v2/blobs/sha256/5b/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/data +0 -0
  10. data/test/registry/docker/registry/v2/blobs/sha256/6d/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/data +22 -0
  11. data/test/registry/docker/registry/v2/blobs/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4/data +0 -0
  12. data/test/registry/docker/registry/v2/blobs/sha256/a5/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/data +16 -0
  13. data/test/registry/docker/registry/v2/blobs/sha256/ce/ce7ce558987faf28ee4526d4d959ee327f4503428becafd3d40109887d54ec74/data +1 -0
  14. data/test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/link +1 -0
  15. data/test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/link +1 -0
  16. data/test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4/link +1 -0
  17. data/test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/revisions/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/link +1 -0
  18. data/test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/revisions/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/signatures/sha256/ce7ce558987faf28ee4526d4d959ee327f4503428becafd3d40109887d54ec74/link +1 -0
  19. data/test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/tags/latest/current/link +1 -0
  20. data/test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/tags/latest/index/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/link +1 -0
  21. data/test/registry/docker/registry/v2/repositories/hello-world-v2/_layers/sha256/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/link +1 -0
  22. data/test/registry/docker/registry/v2/repositories/hello-world-v2/_layers/sha256/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/link +1 -0
  23. data/test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/revisions/sha256/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/link +1 -0
  24. data/test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/tags/latest/current/link +1 -0
  25. data/test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/tags/latest/index/sha256/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/link +1 -0
  26. data/test/test.rb +27 -0
  27. metadata +42 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cce22be352c28fdedb18bd5e760f223dfcbe3e01
4
- data.tar.gz: 3b50ea0a5a5a4bd01413b644969db483cc03ef49
3
+ metadata.gz: f8e366499e6fd775167d81e169e2f4996224d7d5
4
+ data.tar.gz: 883e219f5b5782f0573b62893954e075d5e8f246
5
5
  SHA512:
6
- metadata.gz: 59f287a1eef0adad31468e3f3568267bfcd6143c7a6d0edde031ae6c2be0922deecd60b27dfce4acab1689bb6b06429f4c357af3dcd5d0a297193696f940fc38
7
- data.tar.gz: 1b1282ee6b00ac909af0bf478070f67aea287f1463e8dab2ff579a00a53cab19c210d08fb50b749feea6c8a48a2ab6045744f6b7900ecb82626683bb25772527
6
+ metadata.gz: 6b0d7005b5511de80c0034afe83eb0157b8a43c7783ecf8bdc840642a679e4fd2cfe43fe616271abb3fbf9408add87a3d410ff33d54d998517709f3456c4505c
7
+ data.tar.gz: b6f14af6e5b24085943df7d0d204d8372d4d4e77f1447f130410db5d5ea443e109e8a74bb935dce094cd01f82b90ff1f67a7d34b90d3f1f04dcf4de2f61c4a49
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## v1.3.0, 22 October 2017
2
+
3
+ - Add basic tests
4
+ - Add support for both v1 and v2 schemas thanks to https://github.com/lehn-etracker
5
+
1
6
  ## v1.2.0, 15 October 2017
2
7
 
3
8
  - Add shorter default timeouts. Previously, the RestClient default of 60 seconds
data/Gemfile CHANGED
@@ -1,9 +1,3 @@
1
1
  source "https://rubygems.org"
2
2
 
3
- # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
4
- gem 'rest-client'
5
-
6
-
7
- group :test do
8
- gem 'rake'
9
- end
3
+ gemspec
data/Makefile CHANGED
@@ -12,3 +12,6 @@ $(GEM):
12
12
 
13
13
  clean:
14
14
  rm -rf docker_registry2*.gem
15
+
16
+ test:
17
+ ./test.sh
@@ -84,18 +84,61 @@ class DockerRegistry2::Registry
84
84
  return dodelete("/v2/#{image}/manifests/#{reference}").code
85
85
  end
86
86
 
87
- def pull(repo,tag,dir)
87
+ def pull(repo, tag, dir)
88
88
  # make sure the directory exists
89
- FileUtils::mkdir_p dir
89
+ FileUtils.mkdir_p dir
90
90
  # get the manifest
91
- m = manifest repo,tag
91
+ m = manifest repo, tag
92
+ # puts "pulling #{repo}:#{tag} into #{dir}"
93
+ # manifest can contain multiple manifests one for each API version
94
+ downloaded_layers = []
95
+ downloaded_layers += _pull_v2(repo, m, dir) if m['schemaVersion'] == 2
96
+ downloaded_layers += _pull_v1(repo, m, dir) if m['schemaVersion'] == 1
97
+ # return downloaded_layers
98
+ downloaded_layers
99
+ end
100
+
101
+ def _pull_v2(repo, manifest, dir)
102
+ # make sure the directory exists
103
+ FileUtils.mkdir_p dir
104
+ return false unless manifest['schemaVersion'] == 2
92
105
  # pull each of the layers
93
- m["layers"].each { |layer|
94
- # make sure the layer does not exist first
95
- if ! File.file? "#{dir}/#{layer.blobSum}" then
96
- doget "/v2/#{repo}/blobs/#{layer.blobSum}" "#{dir}/#{layer.blobSum}"
106
+ manifest['layers'].each do |layer|
107
+ # define path of file to save layer in
108
+ layer_file = "#{dir}/#{layer['digest']}"
109
+ # skip layer if we already got it
110
+ next if File.file? layer_file
111
+ # download layer
112
+ # puts "getting layer (v2) #{layer['digest']}"
113
+ File.open(layer_file, 'w') do |fd|
114
+ doreq('get',
115
+ "/v2/#{repo}/blobs/#{layer['digest']}",
116
+ fd)
97
117
  end
98
- }
118
+ layer_file
119
+ end
120
+ end
121
+
122
+ def _pull_v1(repo, manifest, dir)
123
+ # make sure the directory exists
124
+ FileUtils.mkdir_p dir
125
+ return false unless manifest['schemaVersion'] == 1
126
+ # pull each of the layers
127
+ manifest['fsLayers'].each do |layer|
128
+ # define path of file to save layer in
129
+ layer_file = "#{dir}/#{layer['blobSum']}"
130
+ # skip layer if we already got it
131
+ next if File.file? layer_file
132
+ # download layer
133
+ # puts "getting layer (v1) #{layer['blobSum']}"
134
+ File.open(layer_file, 'w') do |fd|
135
+ doreq('get',
136
+ "/v2/#{repo}/blobs/#{layer['blobSum']}",
137
+ fd)
138
+ end
139
+ # return layer file
140
+ layer_file
141
+ end
99
142
  end
100
143
 
101
144
  def push(manifest,dir)
@@ -1,3 +1,3 @@
1
1
  module DockerRegistry2
2
- VERSION = '1.2.0'
2
+ VERSION = '1.3.0'
3
3
  end
data/test.sh ADDED
@@ -0,0 +1,34 @@
1
+ #!/bin/sh
2
+
3
+ set -e
4
+
5
+ cid=$(docker run -d -v $PWD/test/registry:/var/lib/registry -p 5000:5000 registry:2.6)
6
+
7
+ # test a pull of each image - not a fancy start, but a good enough one
8
+ bundle install
9
+
10
+ set +e
11
+ VERSION=v1 ruby ./test/test.rb
12
+ success1=$?
13
+ set -e
14
+
15
+ set +e
16
+ VERSION=v2 ruby ./test/test.rb
17
+ success2=$?
18
+ set -e
19
+
20
+
21
+ docker kill $cid
22
+ docker rm $cid
23
+
24
+ if [ $success1 -ne 0 ]; then
25
+ echo "Failed v1 test"
26
+ fi
27
+
28
+ if [ $success2 -ne 0 ]; then
29
+ echo "Failed v2 test"
30
+ fi
31
+
32
+ if [ $success1 -ne 0 -o $success2 -ne 0 ]; then
33
+ exit 1
34
+ fi
@@ -0,0 +1 @@
1
+ {"architecture":"amd64","config":{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/hello"],"ArgsEscaped":true,"Image":"sha256:dcb41c36211f527a23dccf9178772996d641d7f5c140dae12ed29411d8ea5e65","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":null},"container":"6f86241dad28350cd4f8cc4e26f857757605e5ccd82dff35802cd9ffd0868274","container_config":{"Hostname":"6f86241dad28","Domainname":"","User":"","AttachStdin":false,"AttachStdout":false,"AttachStderr":false,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/bin/sh","-c","#(nop) ","CMD [\"/hello\"]"],"ArgsEscaped":true,"Image":"sha256:dcb41c36211f527a23dccf9178772996d641d7f5c140dae12ed29411d8ea5e65","Volumes":null,"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{}},"created":"2017-09-12T22:24:11.503356658Z","docker_version":"17.06.2-ce","history":[{"created":"2017-09-12T22:24:11.330149797Z","created_by":"/bin/sh -c #(nop) COPY file:b65349dad8105cbef74456e9c0c9da5d001e9eb2ade4b3c21e107909aee5b25a in / "},{"created":"2017-09-12T22:24:11.503356658Z","created_by":"/bin/sh -c #(nop) CMD [\"/hello\"]","empty_layer":true}],"os":"linux","rootfs":{"type":"layers","diff_ids":["sha256:3a36971a9f14df69f90891bf24dc2b9ed9c2d20959b624eab41bbf126272a023"]}}
@@ -0,0 +1,22 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "hello-world-v1",
4
+ "tag": "latest",
5
+ "architecture": "amd64",
6
+ "fsLayers": [
7
+ {
8
+ "blobSum": "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4"
9
+ },
10
+ {
11
+ "blobSum": "sha256:5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9"
12
+ }
13
+ ],
14
+ "history": [
15
+ {
16
+ "v1Compatibility": "{\"architecture\":\"amd64\",\"config\":{\"Hostname\":\"\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"],\"Cmd\":[\"/hello\"],\"ArgsEscaped\":true,\"Image\":\"sha256:dcb41c36211f527a23dccf9178772996d641d7f5c140dae12ed29411d8ea5e65\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":null},\"container\":\"6f86241dad28350cd4f8cc4e26f857757605e5ccd82dff35802cd9ffd0868274\",\"container_config\":{\"Hostname\":\"6f86241dad28\",\"Domainname\":\"\",\"User\":\"\",\"AttachStdin\":false,\"AttachStdout\":false,\"AttachStderr\":false,\"Tty\":false,\"OpenStdin\":false,\"StdinOnce\":false,\"Env\":[\"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"],\"Cmd\":[\"/bin/sh\",\"-c\",\"#(nop) \",\"CMD [\\\"/hello\\\"]\"],\"ArgsEscaped\":true,\"Image\":\"sha256:dcb41c36211f527a23dccf9178772996d641d7f5c140dae12ed29411d8ea5e65\",\"Volumes\":null,\"WorkingDir\":\"\",\"Entrypoint\":null,\"OnBuild\":null,\"Labels\":{}},\"created\":\"2017-09-12T22:24:11.503356658Z\",\"docker_version\":\"17.06.2-ce\",\"id\":\"bef02f2f646789b5166d68ff91ad4b032b7b626912538d4ba26372d121072f36\",\"os\":\"linux\",\"parent\":\"3619f633e2e68c20001e347ea3b904ded56f5575beb9ac1fc3618d6d2b3a658d\",\"throwaway\":true}"
17
+ },
18
+ {
19
+ "v1Compatibility": "{\"id\":\"3619f633e2e68c20001e347ea3b904ded56f5575beb9ac1fc3618d6d2b3a658d\",\"created\":\"2017-09-12T22:24:11.330149797Z\",\"container_config\":{\"Cmd\":[\"/bin/sh -c #(nop) COPY file:b65349dad8105cbef74456e9c0c9da5d001e9eb2ade4b3c21e107909aee5b25a in / \"]}}"
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
4
+ "config": {
5
+ "mediaType": "application/vnd.docker.container.image.v1+json",
6
+ "size": 1510,
7
+ "digest": "sha256:05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37"
8
+ },
9
+ "layers": [
10
+ {
11
+ "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
12
+ "size": 974,
13
+ "digest": "sha256:5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9"
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1 @@
1
+ {"header":{"jwk":{"crv":"P-256","kid":"HZFY:LV34:PG64:L5IU:KCXW:Z45P:CQIH:SS2U:7VB7:4F25:QFPL:UWYI","kty":"EC","x":"WgEr_lM3ItAdtGUe3bogKT3Q_99I_Pzu28OtkPOmpeA","y":"bYisRvE8gJPjO0nkiTXPZcNOPzNpwOj4Y56NnKF-Tys"},"alg":"ES256"},"signature":"_tUCImcmVEwpMNcxThg78lWDaou5KYtDSuBY6l5H50lGPV1faNm-btfMD9F1fvpecPb2kzEkfLyvbADkGTsW0w","protected":"eyJmb3JtYXRMZW5ndGgiOjIxNDAsImZvcm1hdFRhaWwiOiJDbjAiLCJ0aW1lIjoiMjAxNy0xMC0yMlQxMToyOToxNVoifQ"}
@@ -0,0 +1 @@
1
+ sha256:05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37
@@ -0,0 +1 @@
1
+ sha256:5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9
@@ -0,0 +1 @@
1
+ sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
@@ -0,0 +1 @@
1
+ sha256:6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca
@@ -0,0 +1 @@
1
+ sha256:05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37
@@ -0,0 +1 @@
1
+ sha256:5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9
@@ -0,0 +1 @@
1
+ sha256:a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988
data/test/test.rb ADDED
@@ -0,0 +1,27 @@
1
+ #!ruby
2
+ require 'tmpdir'
3
+ require_relative '../lib/docker_registry2'
4
+ version = ENV["VERSION"]
5
+ reg = DockerRegistry2.connect "http://localhost:5000/"
6
+
7
+ # do we have tags?
8
+ image = "hello-world-"+version
9
+ tags = reg.tags image
10
+ if tags == nil || tags["name"] != image || tags["tags"] != ["latest"]
11
+ abort "Bad tags"
12
+ end
13
+
14
+
15
+ # can we read the manifest?
16
+ manifest = reg.manifest image, "latest"
17
+
18
+ # can we pull an image?
19
+ tmpdir = Dir.mktmpdir
20
+ begin
21
+ reg.pull image, "latest", tmpdir
22
+ ensure
23
+ FileUtils.remove_entry_secure tmpdir
24
+ end
25
+
26
+ # success
27
+ exit
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.2.0
4
+ version: 1.3.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-10-15 00:00:00.000000000 Z
13
+ date: 2017-10-22 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -85,6 +85,26 @@ files:
85
85
  - lib/registry/exceptions.rb
86
86
  - lib/registry/registry.rb
87
87
  - lib/registry/version.rb
88
+ - test.sh
89
+ - test/registry/docker/registry/v2/blobs/sha256/05/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/data
90
+ - test/registry/docker/registry/v2/blobs/sha256/5b/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/data
91
+ - test/registry/docker/registry/v2/blobs/sha256/6d/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/data
92
+ - test/registry/docker/registry/v2/blobs/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4/data
93
+ - test/registry/docker/registry/v2/blobs/sha256/a5/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/data
94
+ - test/registry/docker/registry/v2/blobs/sha256/ce/ce7ce558987faf28ee4526d4d959ee327f4503428becafd3d40109887d54ec74/data
95
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/link
96
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/link
97
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4/link
98
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/revisions/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/link
99
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/revisions/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/signatures/sha256/ce7ce558987faf28ee4526d4d959ee327f4503428becafd3d40109887d54ec74/link
100
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/tags/latest/current/link
101
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/tags/latest/index/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/link
102
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_layers/sha256/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/link
103
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_layers/sha256/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/link
104
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/revisions/sha256/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/link
105
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/tags/latest/current/link
106
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/tags/latest/index/sha256/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/link
107
+ - test/test.rb
88
108
  homepage: https://github.com/deitch/docker_registry2
89
109
  licenses:
90
110
  - MIT
@@ -109,4 +129,23 @@ rubygems_version: 2.4.8
109
129
  signing_key:
110
130
  specification_version: 4
111
131
  summary: Docker v2 registry HTTP API client
112
- test_files: []
132
+ test_files:
133
+ - test/registry/docker/registry/v2/blobs/sha256/05/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/data
134
+ - test/registry/docker/registry/v2/blobs/sha256/5b/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/data
135
+ - test/registry/docker/registry/v2/blobs/sha256/6d/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/data
136
+ - test/registry/docker/registry/v2/blobs/sha256/a3/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4/data
137
+ - test/registry/docker/registry/v2/blobs/sha256/a5/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/data
138
+ - test/registry/docker/registry/v2/blobs/sha256/ce/ce7ce558987faf28ee4526d4d959ee327f4503428becafd3d40109887d54ec74/data
139
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/link
140
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/link
141
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_layers/sha256/a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4/link
142
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/revisions/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/link
143
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/revisions/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/signatures/sha256/ce7ce558987faf28ee4526d4d959ee327f4503428becafd3d40109887d54ec74/link
144
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/tags/latest/current/link
145
+ - test/registry/docker/registry/v2/repositories/hello-world-v1/_manifests/tags/latest/index/sha256/6d28b970d82cb05ce1aca12baddcd72b7034c7e771fdd97d0862672deb863fca/link
146
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_layers/sha256/05a3bd381fc2470695a35f230afefd7bf978b566253199c4ae5cc96fafa29b37/link
147
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_layers/sha256/5b0f327be733e58fbaea986eb671ed2eab9bc4a88bda1a7a284209e068d88dc9/link
148
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/revisions/sha256/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/link
149
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/tags/latest/current/link
150
+ - test/registry/docker/registry/v2/repositories/hello-world-v2/_manifests/tags/latest/index/sha256/a5074d61e1e0175fb3a46e0bab46b1f764380ad00cac0e71d53bd4917d196988/link
151
+ - test/test.rb