Add support for creating schema 2 manifests and manifest lists via the OCI model

This commit is contained in:
Joseph Schorr 2018-11-12 23:27:49 +02:00
parent e344d4a5cf
commit 30f072aeff
16 changed files with 398 additions and 110 deletions

View file

@ -3,6 +3,7 @@
from datetime import datetime
from flask import request, abort
from app import storage
from auth.auth_context import get_authenticated_user
from data.registry_model import registry_model
from endpoints.api import (resource, nickname, require_repo_read, require_repo_write,
@ -154,7 +155,7 @@ class RepositoryTag(RepositoryParamResource):
if image is None:
raise NotFound()
if not registry_model.retarget_tag(repo_ref, tag, image):
if not registry_model.retarget_tag(repo_ref, tag, image, storage):
raise InvalidRequest('Could not move tag')
username = get_authenticated_user().username
@ -287,7 +288,8 @@ class RestoreTag(RepositoryParamResource):
if manifest_or_legacy_image is None:
raise NotFound()
if not registry_model.retarget_tag(repo_ref, tag, manifest_or_legacy_image, is_reversion=True):
if not registry_model.retarget_tag(repo_ref, tag, manifest_or_legacy_image, storage,
is_reversion=True):
raise InvalidRequest('Could not restore tag')
log_action('revert_tag', namespace, log_data, repo_name=repository)