Also fix the /layer endpoint, which had incorrect information
| ... | ... |
@@ -42,7 +42,7 @@ User Repo |
| 42 | 42 |
Authorization: Basic akmklmasadalkm== |
| 43 | 43 |
X-Docker-Token: true |
| 44 | 44 |
|
| 45 |
- [{“id”: “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”}]
|
|
| 45 |
+ [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"}]
|
|
| 46 | 46 |
|
| 47 | 47 |
:parameter namespace: the namespace for the repo |
| 48 | 48 |
:parameter repo_name: the name for the repo |
| ... | ... |
@@ -54,7 +54,8 @@ User Repo |
| 54 | 54 |
HTTP/1.1 200 |
| 55 | 55 |
Vary: Accept |
| 56 | 56 |
Content-Type: application/json |
| 57 |
- WWW-Authenticate: Token signature=123abc,repository=”foo/bar”,access=write |
|
| 57 |
+ WWW-Authenticate: Token signature=123abc,repository="foo/bar",access=write |
|
| 58 |
+ X-Docker-Token: signature=123abc,repository="foo/bar",access=write |
|
| 58 | 59 |
X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io] |
| 59 | 60 |
|
| 60 | 61 |
"" |
| ... | ... |
@@ -92,7 +93,8 @@ User Repo |
| 92 | 92 |
HTTP/1.1 202 |
| 93 | 93 |
Vary: Accept |
| 94 | 94 |
Content-Type: application/json |
| 95 |
- WWW-Authenticate: Token signature=123abc,repository=”foo/bar”,access=delete |
|
| 95 |
+ WWW-Authenticate: Token signature=123abc,repository="foo/bar",access=delete |
|
| 96 |
+ X-Docker-Token: signature=123abc,repository="foo/bar",access=write |
|
| 96 | 97 |
X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io] |
| 97 | 98 |
|
| 98 | 99 |
"" |
| ... | ... |
@@ -124,7 +126,7 @@ Library Repo |
| 124 | 124 |
Authorization: Basic akmklmasadalkm== |
| 125 | 125 |
X-Docker-Token: true |
| 126 | 126 |
|
| 127 |
- [{“id”: “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”}]
|
|
| 127 |
+ [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f"}]
|
|
| 128 | 128 |
|
| 129 | 129 |
:parameter repo_name: the library name for the repo |
| 130 | 130 |
|
| ... | ... |
@@ -135,7 +137,8 @@ Library Repo |
| 135 | 135 |
HTTP/1.1 200 |
| 136 | 136 |
Vary: Accept |
| 137 | 137 |
Content-Type: application/json |
| 138 |
- WWW-Authenticate: Token signature=123abc,repository=”library/foobar”,access=write |
|
| 138 |
+ WWW-Authenticate: Token signature=123abc,repository="library/foobar",access=write |
|
| 139 |
+ X-Docker-Token: signature=123abc,repository="foo/bar",access=write |
|
| 139 | 140 |
X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io] |
| 140 | 141 |
|
| 141 | 142 |
"" |
| ... | ... |
@@ -174,7 +177,8 @@ Library Repo |
| 174 | 174 |
HTTP/1.1 202 |
| 175 | 175 |
Vary: Accept |
| 176 | 176 |
Content-Type: application/json |
| 177 |
- WWW-Authenticate: Token signature=123abc,repository=”library/foobar”,access=delete |
|
| 177 |
+ WWW-Authenticate: Token signature=123abc,repository="library/foobar",access=delete |
|
| 178 |
+ X-Docker-Token: signature=123abc,repository="foo/bar",access=write |
|
| 178 | 179 |
X-Docker-Endpoints: registry-1.docker.io [, registry-2.docker.io] |
| 179 | 180 |
|
| 180 | 181 |
"" |
| ... | ... |
@@ -205,8 +209,8 @@ User Repo Images |
| 205 | 205 |
Content-Type: application/json |
| 206 | 206 |
Authorization: Basic akmklmasadalkm== |
| 207 | 207 |
|
| 208 |
- [{“id”: “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”,
|
|
| 209 |
- “checksum”: “b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087”}] |
|
| 208 |
+ [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
|
|
| 209 |
+ "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}] |
|
| 210 | 210 |
|
| 211 | 211 |
:parameter namespace: the namespace for the repo |
| 212 | 212 |
:parameter repo_name: the name for the repo |
| ... | ... |
@@ -250,10 +254,10 @@ User Repo Images |
| 250 | 250 |
Vary: Accept |
| 251 | 251 |
Content-Type: application/json |
| 252 | 252 |
|
| 253 |
- [{“id”: “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”,
|
|
| 254 |
- “checksum”: “b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087”}, |
|
| 255 |
- {“id”: “ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds”,
|
|
| 256 |
- “checksum”: “34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew”}] |
|
| 253 |
+ [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
|
|
| 254 |
+ "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}, |
|
| 255 |
+ {"id": "ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds",
|
|
| 256 |
+ "checksum": "34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew"}] |
|
| 257 | 257 |
|
| 258 | 258 |
:statuscode 200: OK |
| 259 | 259 |
:statuscode 404: Not found |
| ... | ... |
@@ -275,8 +279,8 @@ Library Repo Images |
| 275 | 275 |
Content-Type: application/json |
| 276 | 276 |
Authorization: Basic akmklmasadalkm== |
| 277 | 277 |
|
| 278 |
- [{“id”: “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”,
|
|
| 279 |
- “checksum”: “b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087”}] |
|
| 278 |
+ [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
|
|
| 279 |
+ "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}] |
|
| 280 | 280 |
|
| 281 | 281 |
:parameter repo_name: the library name for the repo |
| 282 | 282 |
|
| ... | ... |
@@ -318,10 +322,10 @@ Library Repo Images |
| 318 | 318 |
Vary: Accept |
| 319 | 319 |
Content-Type: application/json |
| 320 | 320 |
|
| 321 |
- [{“id”: “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f”,
|
|
| 322 |
- “checksum”: “b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087”}, |
|
| 323 |
- {“id”: “ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds”,
|
|
| 324 |
- “checksum”: “34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew”}] |
|
| 321 |
+ [{"id": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f",
|
|
| 322 |
+ "checksum": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087"}, |
|
| 323 |
+ {"id": "ertwetewtwe38722009fe6857087b486531f9a779a0c1dfddgfgsdgdsgds",
|
|
| 324 |
+ "checksum": "34t23f23fc17e3ed29dae8f12c4f9e89cc6f0bsdfgfsdgdsgdsgerwgew"}] |
|
| 325 | 325 |
|
| 326 | 326 |
:statuscode 200: OK |
| 327 | 327 |
:statuscode 404: Not found |
| ... | ... |
@@ -61,7 +61,7 @@ Layer |
| 61 | 61 |
Host: registry-1.docker.io |
| 62 | 62 |
Accept: application/json |
| 63 | 63 |
Content-Type: application/json |
| 64 |
- Authorization: Token akmklmasadalkmsdfgsdgdge33 |
|
| 64 |
+ Authorization: Token signature=3200f02,repository="namespace/user",access=write' |
|
| 65 | 65 |
|
| 66 | 66 |
:parameter image_id: the id for the layer you want to get |
| 67 | 67 |
|
| ... | ... |
@@ -71,40 +71,10 @@ Layer |
| 71 | 71 |
|
| 72 | 72 |
HTTP/1.1 200 |
| 73 | 73 |
Vary: Accept |
| 74 |
- Content-Type: application/json |
|
| 75 | 74 |
X-Docker-Registry-Version: 0.6.0 |
| 76 | 75 |
Cookie: (Cookie provided by the Registry) |
| 77 | 76 |
|
| 78 |
- {
|
|
| 79 |
- id: "088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c", |
|
| 80 |
- parent: "aeee6396d62273d180a49c96c62e45438d87c7da4a5cf5d2be6bee4e21bc226f", |
|
| 81 |
- created: "2013-04-30T17:46:10.843673+03:00", |
|
| 82 |
- container: "8305672a76cc5e3d168f97221106ced35a76ec7ddbb03209b0f0d96bf74f6ef7", |
|
| 83 |
- container_config: {
|
|
| 84 |
- Hostname: "host-test", |
|
| 85 |
- User: "", |
|
| 86 |
- Memory: 0, |
|
| 87 |
- MemorySwap: 0, |
|
| 88 |
- AttachStdin: false, |
|
| 89 |
- AttachStdout: false, |
|
| 90 |
- AttachStderr: false, |
|
| 91 |
- PortSpecs: null, |
|
| 92 |
- Tty: false, |
|
| 93 |
- OpenStdin: false, |
|
| 94 |
- StdinOnce: false, |
|
| 95 |
- Env: null, |
|
| 96 |
- Cmd: [ |
|
| 97 |
- "/bin/bash", |
|
| 98 |
- "-c", |
|
| 99 |
- "apt-get -q -yy -f install libevent-dev" |
|
| 100 |
- ], |
|
| 101 |
- Dns: null, |
|
| 102 |
- Image: "imagename/blah", |
|
| 103 |
- Volumes: { },
|
|
| 104 |
- VolumesFrom: "" |
|
| 105 |
- }, |
|
| 106 |
- docker_version: "0.1.7" |
|
| 107 |
- } |
|
| 77 |
+ {layer binary data stream}
|
|
| 108 | 78 |
|
| 109 | 79 |
:statuscode 200: OK |
| 110 | 80 |
:statuscode 401: Requires authorization |
| ... | ... |
@@ -121,40 +91,10 @@ Layer |
| 121 | 121 |
|
| 122 | 122 |
PUT /v1/images/088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c/layer HTTP/1.1 |
| 123 | 123 |
Host: registry-1.docker.io |
| 124 |
- Accept: application/json |
|
| 125 |
- Content-Type: application/json |
|
| 126 |
- Authorization: Token akmklmasadalkmsdfgsdgdge33 |
|
| 124 |
+ Transfer-Encoding: chunked |
|
| 125 |
+ Authorization: Token signature=3200f02,repository="namespace/user",access=write' |
|
| 127 | 126 |
|
| 128 |
- {
|
|
| 129 |
- id: "088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c", |
|
| 130 |
- parent: "aeee6396d62273d180a49c96c62e45438d87c7da4a5cf5d2be6bee4e21bc226f", |
|
| 131 |
- created: "2013-04-30T17:46:10.843673+03:00", |
|
| 132 |
- container: "8305672a76cc5e3d168f97221106ced35a76ec7ddbb03209b0f0d96bf74f6ef7", |
|
| 133 |
- container_config: {
|
|
| 134 |
- Hostname: "host-test", |
|
| 135 |
- User: "", |
|
| 136 |
- Memory: 0, |
|
| 137 |
- MemorySwap: 0, |
|
| 138 |
- AttachStdin: false, |
|
| 139 |
- AttachStdout: false, |
|
| 140 |
- AttachStderr: false, |
|
| 141 |
- PortSpecs: null, |
|
| 142 |
- Tty: false, |
|
| 143 |
- OpenStdin: false, |
|
| 144 |
- StdinOnce: false, |
|
| 145 |
- Env: null, |
|
| 146 |
- Cmd: [ |
|
| 147 |
- "/bin/bash", |
|
| 148 |
- "-c", |
|
| 149 |
- "apt-get -q -yy -f install libevent-dev" |
|
| 150 |
- ], |
|
| 151 |
- Dns: null, |
|
| 152 |
- Image: "imagename/blah", |
|
| 153 |
- Volumes: { },
|
|
| 154 |
- VolumesFrom: "" |
|
| 155 |
- }, |
|
| 156 |
- docker_version: "0.1.7" |
|
| 157 |
- } |
|
| 127 |
+ {layer binary data stream}
|
|
| 158 | 128 |
|
| 159 | 129 |
:parameter image_id: the id for the layer you want to get |
| 160 | 130 |
|
| ... | ... |
@@ -193,13 +133,38 @@ Image |
| 193 | 193 |
Cookie: (Cookie provided by the Registry) |
| 194 | 194 |
|
| 195 | 195 |
{
|
| 196 |
- “id”: “088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c”, |
|
| 197 |
- “checksum”: “sha256:b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087” |
|
| 198 |
- } |
|
| 196 |
+ id: "088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c", |
|
| 197 |
+ parent: "aeee6396d62273d180a49c96c62e45438d87c7da4a5cf5d2be6bee4e21bc226f", |
|
| 198 |
+ created: "2013-04-30T17:46:10.843673+03:00", |
|
| 199 |
+ container: "8305672a76cc5e3d168f97221106ced35a76ec7ddbb03209b0f0d96bf74f6ef7", |
|
| 200 |
+ container_config: {
|
|
| 201 |
+ Hostname: "host-test", |
|
| 202 |
+ User: "", |
|
| 203 |
+ Memory: 0, |
|
| 204 |
+ MemorySwap: 0, |
|
| 205 |
+ AttachStdin: false, |
|
| 206 |
+ AttachStdout: false, |
|
| 207 |
+ AttachStderr: false, |
|
| 208 |
+ PortSpecs: null, |
|
| 209 |
+ Tty: false, |
|
| 210 |
+ OpenStdin: false, |
|
| 211 |
+ StdinOnce: false, |
|
| 212 |
+ Env: null, |
|
| 213 |
+ Cmd: [ |
|
| 214 |
+ "/bin/bash", |
|
| 215 |
+ "-c", |
|
| 216 |
+ "apt-get -q -yy -f install libevent-dev" |
|
| 217 |
+ ], |
|
| 218 |
+ Dns: null, |
|
| 219 |
+ Image: "imagename/blah", |
|
| 220 |
+ Volumes: { },
|
|
| 221 |
+ VolumesFrom: "" |
|
| 222 |
+ }, |
|
| 223 |
+ docker_version: "0.1.7" |
|
| 224 |
+ } |
|
| 199 | 225 |
|
| 200 | 226 |
:parameter image_id: the id for the layer you want to get |
| 201 | 227 |
|
| 202 |
- |
|
| 203 | 228 |
**Example Response**: |
| 204 | 229 |
|
| 205 | 230 |
.. sourcecode:: http |
| ... | ... |
@@ -238,11 +203,39 @@ Image |
| 238 | 238 |
Vary: Accept |
| 239 | 239 |
Content-Type: application/json |
| 240 | 240 |
X-Docker-Registry-Version: 0.6.0 |
| 241 |
+ X-Docker-Size: 456789 |
|
| 242 |
+ X-Docker-Checksum: b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087 |
|
| 241 | 243 |
|
| 242 | 244 |
{
|
| 243 |
- “id”: “088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c”, |
|
| 244 |
- “checksum”: “sha256:b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087” |
|
| 245 |
- } |
|
| 245 |
+ id: "088b4505aa3adc3d35e79c031fa126b403200f02f51920fbd9b7c503e87c7a2c", |
|
| 246 |
+ parent: "aeee6396d62273d180a49c96c62e45438d87c7da4a5cf5d2be6bee4e21bc226f", |
|
| 247 |
+ created: "2013-04-30T17:46:10.843673+03:00", |
|
| 248 |
+ container: "8305672a76cc5e3d168f97221106ced35a76ec7ddbb03209b0f0d96bf74f6ef7", |
|
| 249 |
+ container_config: {
|
|
| 250 |
+ Hostname: "host-test", |
|
| 251 |
+ User: "", |
|
| 252 |
+ Memory: 0, |
|
| 253 |
+ MemorySwap: 0, |
|
| 254 |
+ AttachStdin: false, |
|
| 255 |
+ AttachStdout: false, |
|
| 256 |
+ AttachStderr: false, |
|
| 257 |
+ PortSpecs: null, |
|
| 258 |
+ Tty: false, |
|
| 259 |
+ OpenStdin: false, |
|
| 260 |
+ StdinOnce: false, |
|
| 261 |
+ Env: null, |
|
| 262 |
+ Cmd: [ |
|
| 263 |
+ "/bin/bash", |
|
| 264 |
+ "-c", |
|
| 265 |
+ "apt-get -q -yy -f install libevent-dev" |
|
| 266 |
+ ], |
|
| 267 |
+ Dns: null, |
|
| 268 |
+ Image: "imagename/blah", |
|
| 269 |
+ Volumes: { },
|
|
| 270 |
+ VolumesFrom: "" |
|
| 271 |
+ }, |
|
| 272 |
+ docker_version: "0.1.7" |
|
| 273 |
+ } |
|
| 246 | 274 |
|
| 247 | 275 |
:statuscode 200: OK |
| 248 | 276 |
:statuscode 401: Requires authorization |
| ... | ... |
@@ -319,7 +312,7 @@ Ancestry |
| 319 | 319 |
|
| 320 | 320 |
{
|
| 321 | 321 |
"latest": "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f", |
| 322 |
- “0.1.1”: “b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087” |
|
| 322 |
+ "0.1.1": "b486531f9a779a0c17e3ed29dae8f12c4f9e89cc6f0bc3c38722009fe6857087" |
|
| 323 | 323 |
} |
| 324 | 324 |
|
| 325 | 325 |
:statuscode 200: OK |
| ... | ... |
@@ -409,7 +402,7 @@ Ancestry |
| 409 | 409 |
Content-Type: application/json |
| 410 | 410 |
Cookie: (Cookie provided by the Registry) |
| 411 | 411 |
|
| 412 |
- “9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f” |
|
| 412 |
+ "9e89cc6f0bc3c38722009fe6857087b486531f9a779a0c17e3ed29dae8f12c4f" |
|
| 413 | 413 |
|
| 414 | 414 |
:parameter namespace: namespace for the repo |
| 415 | 415 |
:parameter repository: name for the repo |