diff --git a/schema/content-descriptor.json b/schema/content-descriptor.json index 2e6ceba9b..cd122aa17 100644 --- a/schema/content-descriptor.json +++ b/schema/content-descriptor.json @@ -14,6 +14,14 @@ }, "digest": { "$ref": "defs-image.json#definitions/digest" + }, + "urls": { + "description": "a list of urls from which this object may be downloaded", + "type": "array", + "items": { + "type": "string", + "format": "uri" + } } }, "required": [ diff --git a/schema/defs-image.json b/schema/defs-image.json index c1884636c..b0046a02c 100644 --- a/schema/defs-image.json +++ b/schema/defs-image.json @@ -32,6 +32,14 @@ "digest": { "$ref": "#definitions/digest" }, + "urls": { + "description": "a list of urls from which this object may be downloaded", + "type": "array", + "items": { + "type": "string", + "format": "uri" + } + }, "platform": { "id": "https://opencontainers.org/schema/image/platform", "type": "object", diff --git a/schema/fs.go b/schema/fs.go index ab344db6f..1dea532fb 100644 --- a/schema/fs.go +++ b/schema/fs.go @@ -205,95 +205,98 @@ var _escData = map[string]*_escFile{ "/config-schema.json": { local: "config-schema.json", size: 774, - modtime: 1477035771, + modtime: 1478057674, compressed: ` -H4sIAAAJbogA/5SRsW4DIQyG93sKRDL2QodOt+YBOnSsOlAwOUc6TI0zRFXevQJyTU6KquvCYP/f/2P7 -u1NKe8iOMQlS1IPSrwninqJYjMBqTzHgQb0lcBjQ2ap6Ktg2uxEmW5BRJA3GHDPFvlV3xAfj2Qbpn19M -q20ah35G8mAMJYhuTssVa2qDkz2AcTW/kXJOUFj6PIKTVktMCVgQsh5UGUcp7RisgP8t3KFZGGOzq/VA -PFkpHW8FesEJdO1dmkTbk4zEf1gt1exGFHByYljLUF6rvO7iTr1lCPXzEHLf2rtyhY3xEDBiuVaed7jw -YiIJ+f9eV27hNWIW4vOjMSyzPd/WjQLTfejq2Dniyl26+a1/0AxfJ+R68vcHl7htejl9p9RHd+l+AgAA -//9eW+CxBgMAAA== +H4sIAAAJbogA/5SRvW7rMAyFdz+F4WS8ju7QKWsfoEPHooMqUzEDWFRJZgiKvHv1EzcxEBTuEsSH/M4R +ya+mbbsBxDFGRQrdvu1eIoRnCmoxALfpn8dD+xrBoUdnS9e/jG3FjTDZjIyqcW/MUSj0Vd0RH8zA1mv/ +/8lUbVM5HGZEEkMpzc1pUrDabXCyBzCu5FdSzxEySx9HcFq1yMmBFUFSJY+TNMdgFYYf4Q4VZQzVruie +eLKaK0NCesUJulK71JbOnnQk/sVq2c1uRE2POzGsZUjWdl53cde9ZfDl8eClr+VdvsLGJAUD5mvJvMOF +FxOpl797XbmF14iixOdHY1hme76tO+1mug9dHTtHXLlLM/+WN3QMnyfkcvK3B5e4bXo5ffp4by7NdwAA +AP//XlvgsQYDAAA= `, }, "/content-descriptor.json": { local: "content-descriptor.json", - size: 637, - modtime: 1476325139, + size: 836, + modtime: 1478141504, compressed: ` -H4sIAAAJbogA/5SRP0/DMBDF93yKk9uR1gwVQ1bYGWBDDKn93F6l2sY+hoL63dHFLaQwAFt0er/3J37v -iIxHdYWzcIqmJ3OfEW9TlIEjCukXotDdSZQKPWQ4DuyGkbhSi3l1W+wHxbciubd2V1NctOsylY31ZQiy -uF7Zdps1jv0Zqb21KSO6c3Idsaa2/jO9cXLIUDKtd3DSbrmkjCKManrSYURmD8/DYxO308+9sgWNOjWl -FEgPBQEF0cHTJGPE5wVBOY9QF7wfNljq2JlH4MjqWu1X7kgdG2wqv/3WRCXEkdYHQf1nm9bDTotwlJvV -ZQnPG1SZ1vjLohPVnLqTmyl4eeUCfcWn7398uvkyuiN67o7dRwAAAP//zGqYSn0CAAA= +H4sIAAAJbogA/5SSP2/iQBDFe3+KkaE88BXoCtpLnyLpohSLd2wPwrvO7CDkRHz37HhtMImUPw3Cb99v +5j173zKA3GIomToh7/It5Pcduv/eiSGHDPoPncDdaPIMDx2WVFFpBuKPjliGssHWKN6IdNui2AfvVkld +e64Ly6aS1d9NkbRF4shOSIiMj5vLaXMYsOQu7GV74qTvUEm/22MpSes48iyEIZ5osai1aMk8JnOSPveV +BmHw6VDwFajAWCHHNGhhtmPAl/FMOYtVWFFralxr2UV8Jkc6NRTXvQN1TnAe6PW7JGoBcrDrBcMv06Qc +xTwIOfm3uQ1hqcYg8xg/aTRSN5OOfAhf1DFwoCDaQY1QsW/h1FDZxE4UxibQmh52CNaf3MEbi/babfrK +htn0V5kE2/nemTMIk6sv1nhSeW6Nto1pKR/1czb9DlVyxpcjMeplfPp4ceaf7vYNxofn7Jy9BwAA//9L +DLQ9RAMAAA== `, }, "/defs-config.json": { local: "defs-config.json", size: 2270, - modtime: 1476325139, + modtime: 1478057674, compressed: ` -H4sIAAAJbogA/+RVzY7TMBC+5ylGhmNhL4jDXrscUZEq4IBQ5SbjdpbYY8YTIEJ9d5Rs6eanDd1detpD -VcX29zMznvHvDMAUmHKhqMTBXIO5QUeBmq8E0YpSXpVWQBkWEcOcg1oKKDDn4GgDy4g5Ocpti5/dER4Y -zDU0GgAmb48fvgGM1hEbQV7fYq4ttF2PwhFFCVPnNID5mFB6Kx2OpEJhYw5bu9k97j16lnqIfCnoGmSB -Lr2+TRxeXHV8X1HQt2+m+JY/bfx/nPNYLbdWBiE/ifLdr8gJiw8s+lBWb+OyTejirjTH+cOPU9WwIrY2 -s+4WKfqhjYn6AexOiKrUkSnoUJsDLpqYvvQE+nKTFids/sNq3+7A8qSLUJVln6nL8/X4VfHFs439E5eV -HzfJmfE/9tZfOqrPLN8obG7o/PGWdf/3XEaY1aWnjNiCnFtRMUrw5Rt7f34q+p4shsqPKm5KW6Mkczzj -2UDVCH6vSLDo8dznYOgu6zL+zfmWkvZflwcnPRe0iqOmnoresXir7V22iq+UPB4f0rbSLT/q1dy7Wq1H -L+dZaPYex0P6HCj6qPWqreQp+Jq5RBtO9kPW/HbZnwAAAP//X8Yig94IAAA= +H4sIAAAJbogA/+RVzY7TMBC+5yksw7GwF8SB6y5HVKQKOCBUucl4O0vsMeMJEKF9d5xs6cZJG7q79MSh +ajLx9zMz9vhXoZSuIJaMQZC8fqP0FVj02L1FFQwLlk1tWAmpZQB/SV4MemCVnixeq1WAEi2Wpscv7gj3 +DImw00jBsl++f08RaQN0grS5gVJ6aB8PTAGSLsTB6hT/EIGzyIAjCqO/1vtPt4t73DtwxO0Y+ZzBdshk +Nr68ieSfXQx8X6CX16/m+FY/TPh3nJehWW0Nj1J+EuXbn4EiVO+J5aGszoRVX9DlXWsO8/vvx7phmE2r +F8NPKODGNmb6l6SOiAq3gVLaY23ysOxy+pwJ5HKzFmds/sVqbndkedaFb+o6ZxryfDm8VVz13+b+kerG +TQ/Jifk/dtefO6tPxF+T7BWePt6K4f+OSzOR2PiUEVuhtWusJgU+/8HerZ/LPpMF37hJx3VtWuCoD1e8 +GKlqhm8NMlQZz30Nxu6KIeOfmm8xSn67PLjoJYMRmBzquewtsTPS7+UEfSHo4PCQNo1s6VG35s7VejO5 +OU9Ck3MwHdKnQMEFadd9J4/BN0Q1GH/0PBTd77b4HQAA//9fxiKD3ggAAA== `, }, "/defs-image.json": { local: "defs-image.json", - size: 2550, - modtime: 1476325139, + size: 2753, + modtime: 1478141527, compressed: ` -H4sIAAAJbogA/7RWTW/bMAy951cQaoEeEsc9DAMaFAWG9bJTB3SnBdnAynSszpY0SimWFv7vgx3Hn3GL -rNnNosin96hn2i8TABGRk6ysV0aLBYhbipVWxcqBRfZKblJk8AbuLOnPRntUmhi+ZLgmuLckVawkluWz -HV4NIBZQHAEgMooUfttaqkMAQkXFgYn31i3C0FjScg/v5obXoZMJZRiq4qiwgZjtAfwOUDjPSq+buEXv -iUs5P5YYPK+m4fIyuMLg+VPwfT5dTc9FmZrvKkSk1uR8m1qvKT4hkLy13qwZbaIkyITkL7fJYFcLJoYi -yTw8kvQzULpcVkTg4jpBl9wsrhP6gxFJlWFaVd5cHK/nMrj6OZ0Hq+liiUF8GVwNFGWoVUzO31Y6DL+j -8UOsAeOd7ibO9HujmIpzllWs44JZE3TqubOuLqMVsSn62HAmqtCqaQwbS+wVuZa8EbuN3WuZW+jY3yFT -TExaUgQ9WSXEOVNc1J61jN4yZ52a9zW+TaVIK6zzsPXkjqQTUezmj87os7BNTGn/8cNhUgPXj8urUg/C -1LfTAzrOZDVKR9yIvcYtVu4gy0R5kn7D1KkBEMaJVmDVQRxx0xCzv/vPasNXqA7nQWc7Hwo7HS3j3ktm -/kTsdtY+Haka9L3kYsKi46dtWYM6Sg+ZcTvcVp6yQ1zeEAaQvyr0CVmh7r/hR/frtWb9N2EDKIyichhh -+rX9msaYOpqM9aR53j/lnc8kam08dv9VjrZAG6T+MhlNd3FnNB2csiNTO0N7X/blvtedVl9eDg1KvUlT -MRC9muxX+SSf/A0AAP//XF/NGfYJAAA= +H4sIAAAJbogA/7RWy27bMBA8x19BKAFy8EM9FAVqBAGK5tJTCqSnBm6xoVYWU4lUSTqpE/jfu5RkmXol +UOOebC6Xw5nhLqnnCWNBhIZrkVuhZLBkwRXGQgo3MiwHbQXfpKCZVew6R/lZSQtComZfMlgju8mRi1hw +KJbPSrwagPDcFhTMMBLwbZtjHaKgiNyGibW5WYahIni+hzcLpdeh4QlmEAq3VXiAmO0BbAkYGKuFXB/i +OViLupDz4xbmT6tpePtu/pH+fZp/X0xX07OgSN2VK4JIrNFYn1rLFJsg43qbW7XWkCeCM2LGf5lNxsq1 +TMXMJam7e+R2xoQshhURdn6RgEkulxcJ/oGILMsgrVZeno/XQ1p+Thfz1XRJo5hGHUUZSBET+lWlQ+k3 +GN/F6jAudR/iGn9vhEa3z20Va1TB7BA04qkxrg7Di+Qp2FjpLKhCq4MxmshTjaLx5A2U29C5FrlOx/4M +NcaoyRKMWEtWAXFG827tqVfoXnHWqbu2xtepuDRXOndbi2YkHWJjFvdGydPQJyak/fC+n1Sn6oflVak+ +zEmw0al5RRSwVJTN4ZJZrFXGHql9ElImTKWHZbBld8gi9ShTRe0RNRXuawy0hm1zSljMSg4njdS6gcqw +Kx5wSomzCFxw1+tIXWgtVeP6pUbpVdF3hr3dUsyA5gmJ5HajsbGG5pQJvMCqgTjQGF3M9uw/qw1foNo9 +mcb0rivseLQI7I1kFg+0Q1nQxyNVg76VXIzgHD+uZQfUQXrdbiy3rDuSsRHC/I7sE/oAWoBsX1aj/XrJ +rP8mrAMFUVTcq5B+9ds0htTgZMgT78aa+L/7Fx+kVBaan12jS8AHqR9ZJfE6blxNvQ/GwAOUQX5T+HLT +csfz5bnvopSbNA06oleT/Wg32U3+BgAA//8jeF0swQoAAA== `, }, "/defs.json": { local: "defs.json", size: 3193, - modtime: 1476325139, + modtime: 1470056192, compressed: ` -H4sIAAAJbogA/7SWQZPSMBTH73yKTPSIbpumLXBzRNc97MDMjifHQy0PiEIS09Rx3eG7OymlNG0oFPGw -C03yfv/3/nmheRkghBeQpYpJzQTHE4SnsGScmacM5RkskF4rka/WItdIrwHNJPD3guuEcVDoSULKlixN -ivDhnlcB8AQZCYQw43pUPSGE9bMEo8a4hhWoIrKY2DLOtvkWT9Abn4yOw8nvctgncTG4G1ZkP+qLDkgc -ueBmvIUPSF888WlMR0FEXRrVZEsoon2FxoQEQUy8IBqFNI4jz/Mcio5VlnR+xe64dEgYtri998YFjsIw -aKN774sLTcmYjqOYjNv83tvh4vsjSqOYUi8OYm8chsRlvh/NheGquqDgMFviCfpSDqBqqph+rcDM4ld3 -tQN3V1peLdwN3dGHani+2dRWl9++Ory4ZYYRvW2GmVaMr/pneNDYx982p20inwrs/r+rlcS375DqYyfJ -RGtQfK6EBKUZZLUghPDbF3+4s4a6ShjUP1tJzfbS/zmpknUmqc8P03oip9smINgKvL828J1SyfNsef8w -zVwWJGb66ADTsG1U7ZYy+TgrLPX21l8p6d5oW+cj28A80WuXQj3usP4D/3XewEbyFuCTED/qBHmiS6Sd -VIdaVYLrMOJErbLLOK6smzSwyu+AGZ/ONHGpZwy5aU8VDjsVH6aPiZSNn5ZTG7AWmbZOS4dk/cQ0LUsP -N79bwDL2B66kOB15FDnXl7iRiVylF0p3N+QCMs14Ul6e/xknpH1v7kRd0uJl+/V7ZVRdquBnzhQsrDeo -VfOwZWpT3H45DszfbvA3AAD//0JyEpx5DAAA +H4sIAAAJbogA/7RWTXPaMBC98ys8tEfa2PIX9NYp/cghAzOZnjo9uGYBtSCpstxpmuG/VzLGWPZiMKWH +JPau9r23T6tYzwPHGS4gSyUVinI2fOMMp7CkjJq3zMkzWDhqLXm+WvNc6UdwZgLYO85UQhlI51FASpc0 +TYry0R6vAtB4hkIHKVPj6k2/qycBhk3HYQWyqCwSW127zbc698oj42M4+V2GPRIXwd2oQvaivtA+iSMM +3MRb8D7pC0+8IA7GfhRgHFWyRRQFfYkmhPh+TFw/GodBHEeu6yKMyCqLOr9idzAeEoYt3N57gwFHYei3 +oXvvCwYdkEkwiWIyaeP33g4M3xsHQRQHgRv7sTsJQ4KZ70VzbnBlnZAzmC114EsZcKpUkX4pwWSHL+5q +B+6utLxauBvh1YduWL7Z1FaXT18RL26pUDt7U4WZkpSt+is8cOzrb6tpm4jHAnb/Gxsl/u07pOo4SSJR +Wj+bSy5AKgpZrUinXz97o50V6mphUP/bEjXbU/9nUSXWGVGf76d1IafHRh94q/DjtYVvpUyeZktdn2EW +JCZ9dIAq2Da6xqmMHrTDkm9v/ZWU+EbbPB/oBuaJWmMM9brD+vfs13kDG+ItgE+c/6gjiBNTImxRHWxV +C9hh1DatsstwMNVNNLDa7wAzPp0Z4pLPGHLTmSocRhnvpw+JEI1/Lac2YM0zZZ2WDsr6iWlalh5ufrcA +y+gfuBIFdeSB50xd4kbGc5leSN09kPryrChLysvzP8NxYd+bO6EuGfFy/Pp9MqoplfAzpxIW1hfU6nnU +MrVJbn8cB+ZnN/gbAAD//0JyEpx5DAAA `, }, "/image-manifest-schema.json": { local: "image-manifest-schema.json", size: 1032, - modtime: 1476325139, + modtime: 1470056192, compressed: ` -H4sIAAAJbogA/6RSvW7jMAze/RSEk/Ec3XCT15tuOHRo0KXooNqUzSCWVFItEAR590JSlNpIh7ZZKX6/ -4rECqHuUjskHcrZuob7zaP86GzRZZPg36QHhv7ZkUALce+zIUKfT9q8IX0s34qQjdAzBt0rtxNkmTzeO -B9WzNqH5/Ufl2SrjqC8QaZVyHm1XVCXB8rai6EBNZwcZGw4eI9o977A7zzw7jxwIpW4hBgOoM8UDsuRw -eXydeTuSgCHc9yA5IQqEESGJQxGHzAdvmRC0gLZANuCAnFwk8p8lU0uzF7aStcik+Sk/1xP2pLd543ij -/gfXRXvNaCJXj0aatL6Jn7tSPRqyFOuTGW5hrXPW0DD3VdiiG7ShKZ/gOLEu4Xt9QJY5vBShmfVh1nbA -ab73VSGA00JQW+tCumu5vcxmTxLUnPJ7nc6RVfGanNaML6/EGG09fnblV5ex/I9lvRXAU3Wq3gMAAP// +H4sIAAAJbogA/6RSPU/zMBDe8ytOacc39TswdWViQAxULIjBJOfkqsYOPoNUVf3v+KMujsoAdMyTez7u +8R0qgLpDbi1Njoyu11A/TKhvjXaSNFq4G2WPcC81KWQHjxO2pKiVcfpfoC+5HXCUgTo4N62F2LLRTUJX +xvais1K55v+NSNgi8ajLFPYc413b7MqRlqYFhQRiPCVIXLefMLDN6xbbEzZZr2EdIfs/YTGPJYknr5iW +S/DlzpuBGBThrgNOGyKDGxCiOWRzSHrwkQRBMkgNpB32aGOKKP63zcQ87Fkt75ptIn5Mv+sRO5KbNHG4 +0v9L6+y9tKiCVoeKmzi+Co+7EB4gTaE+LnizaN5TUV/mymohDWrX5EcwNqrO6Tu593FLei5CWiv3RdsO +x3Lup0beamYotTYu3jVfX2azI99oKfm7TktmlbPGpLXFt3eyGGI9f3flF5cxf495vf7jpTpWnwEAAP// X3p8DwgEAAA= `, }, @@ -301,14 +304,15 @@ X3p8DwgEAAA= "/manifest-list-schema.json": { local: "manifest-list-schema.json", size: 1010, - modtime: 1476325139, + modtime: 1470056192, compressed: ` -H4sIAAAJbogA/6ySMU/7MBDF93yKU9rxn/o/MGWFBQnEQMWCGExybq5qbOM7kKqq3x3ZTkqiMoDoevF7 -93vvcigAyha5CeSFnC1rKB882mtnRZPFALe93iDca0sGWeCOWODRY0OGGp0k/6LHkpsOex31nYivldqy -s1WerlzYqDZoI9X/K5Vni6yjdpRwrZTzaJtxNSdZfq0oYqh+wKh2xJINZO8xWrjXLTbDzAfnMQghlzXE -iABl9nnCwDlmHp+nX3fEYAh3LXCOiQzSISQCmBFANoWP7AqaQVsgK7jBkFDShj9kVHPsk+WYetyV5sf8 -ueyxJb3OLw6XgPgyPAEsA5po2KLhKmlW8eAL1aIhS7FNnujmfIM5T/nGRDoEvZ90J9hP3/149bDjZriu -GzoCOM5YtLVO0n/Ml2pravm7vqbKYmRNpGXAt3cKGLGev/uhz05/1nUB8FIci88AAAD//7jpza7yAwAA +H4sIAAAJbogA/6ySMU/7MBDF93yKU9rxn/o/MHWFBQnEQMWCGExyaa5q7OAzSFXV747tS0qiMIDoUqkv +fu9+7+xjBpBXyKWjzpM1+Rryhw7NtTVek0EHt63eItxrQzWyhzsKP48dllRTqZPlX8xYctlgq6O/8b5b +K7VjawpRV9ZtVeV07Yv/V0q0hfioGiwcPDaMLofRnGxyWlHEUG2PUewDhgT4Q4cxwr7usOy1zoUg5wk5 +fIkVgyY5TyFWaoo8b79piKEm3FfAUhMZfIOQCGBCABIKH5IKmkEbIONxiy6hpAl/6Kim2OfIofUwK+kn ++Zy3WJHeyInjJSC+As8AS4d1DKyw5iJ5VvHCFyoIZChuk0e+KV8fzmO+oZF2Th9Gu/PYjs/9eHQ/46a/ +XdvvKFBMWLQx1qd3zJfa1jjyd/saO7OBNZHmDt/eyWHEev7uQc+ufrbr8P8lO2WfAQAA//+46c2u8gMA +AA== `, }, diff --git a/specs-go/v1/descriptor.go b/specs-go/v1/descriptor.go index a086f1501..83dde9666 100644 --- a/specs-go/v1/descriptor.go +++ b/specs-go/v1/descriptor.go @@ -24,4 +24,7 @@ type Descriptor struct { // Size specifies the size in bytes of the blob. Size int64 `json:"size"` + + // URLs specifies a list of URLs from which this object MAY be downloaded + URLs []string `json:"urls,omitempty"` }