parent
11cd3afba0
commit
6ed705be15
1 changed files with 12 additions and 3 deletions
|
@ -2,6 +2,7 @@ import logging
|
||||||
import jwt.utils
|
import jwt.utils
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
from peewee import IntegrityError
|
||||||
from flask import make_response, request, url_for
|
from flask import make_response, request, url_for
|
||||||
from collections import namedtuple, OrderedDict
|
from collections import namedtuple, OrderedDict
|
||||||
from jwkest.jws import SIGNER_ALGS, keyrep
|
from jwkest.jws import SIGNER_ALGS, keyrep
|
||||||
|
@ -404,7 +405,15 @@ def _generate_and_store_manifest(namespace, repo_name, tag_name):
|
||||||
|
|
||||||
# Sign the manifest with our signing key.
|
# Sign the manifest with our signing key.
|
||||||
manifest = builder.build(docker_v2_signing_key)
|
manifest = builder.build(docker_v2_signing_key)
|
||||||
manifest_row = model.tag.associate_generated_tag_manifest(namespace, repo_name, tag_name,
|
|
||||||
manifest.digest, manifest.bytes)
|
|
||||||
|
|
||||||
return manifest_row
|
# Write the manifest to the DB. If an existing manifest already exists, return the
|
||||||
|
# one found.
|
||||||
|
try:
|
||||||
|
return model.tag.associate_generated_tag_manifest(namespace, repo_name, tag_name,
|
||||||
|
manifest.digest, manifest.bytes)
|
||||||
|
except IntegrityError:
|
||||||
|
try:
|
||||||
|
return model.tag.load_tag_manifest(namespace, repo_name, tag_name)
|
||||||
|
except model.InvalidManifestException:
|
||||||
|
raise model.DataModelException('Could not load or generate manifest')
|
||||||
|
|
||||||
|
|
Reference in a new issue