Get squashed endpoint for docker import
working
This commit is contained in:
parent
e3c52fa0eb
commit
9344839295
3 changed files with 4 additions and 136 deletions
|
@ -11,7 +11,8 @@ from auth.permissions import ReadRepositoryPermission
|
|||
from data import model
|
||||
from endpoints.registry import set_cache_headers
|
||||
|
||||
from util.dockerimportformat import build_docker_import_stream
|
||||
from util.gzipwrap import GzipWrap
|
||||
from util.streamlayerformat import StreamLayerMerger
|
||||
|
||||
from werkzeug.wsgi import wrap_file
|
||||
|
||||
|
@ -46,14 +47,6 @@ def get_squashed_tag(namespace, repository, tag, headers):
|
|||
ancestry_data = store.get_content(repo_image.storage.locations, store.image_ancestry_path(uuid))
|
||||
full_image_list = json.loads(ancestry_data)
|
||||
|
||||
# Load the JSON for the image.
|
||||
json_data = store.get_content(repo_image.storage.locations, store.image_json_path(uuid))
|
||||
layer_json = json.loads(json_data)
|
||||
|
||||
def get_next_image():
|
||||
for current_image_id in full_image_list:
|
||||
yield model.get_repo_image(namespace, repository, current_image_id)
|
||||
|
||||
def get_next_layer():
|
||||
for current_image_id in full_image_list:
|
||||
current_image_entry = model.get_repo_image(namespace, repository, current_image_id)
|
||||
|
@ -64,9 +57,7 @@ def get_squashed_tag(namespace, repository, tag, headers):
|
|||
logger.debug('Returning image layer %s: %s' % (current_image_id, current_image_path))
|
||||
yield current_image_stream
|
||||
|
||||
stream = build_docker_import_stream(namespace, repository, tag, synthetic_image_id,
|
||||
layer_json, get_next_image, get_next_layer)
|
||||
|
||||
stream = GzipWrap(StreamLayerMerger(get_next_layer).get_generator())
|
||||
return app.response_class(wrap_file(request.environ, stream, 1024 * 16),
|
||||
mimetype='application/octet-stream',
|
||||
direct_passthrough=True)
|
||||
|
|
Reference in a new issue