Enable registry to process OCI 1.1 reference manifests
Why are we doing this work
To support the OCI 1.1 referrals API, we need a way to associate referral manifests with their subject. The proposed way to do this is to add a new column onto the manifests table.
See: Pushing Manifests with Subject
Non-functional requirements
-
Documentation: -
Feature flag: -
Performance: -
Testing:
Implementation plan
We will make the following changes to the container registry:
- Write database migration(s):
- Add a
subject_manifest_id bigint
column onto themanifests
table - Add a self-referencing foreign key onto
subject_manifest_id
withON DELETE cascade
- Add a
- Update manifest persistence:
- If the manifest has a subject, look up the subject manifest by digest
- Return 404 if the subject manifest does not exists
- Set
subject_manifest_id
to the ID of the subject manifest - Return the subject manifest's digest in the
OCI-Subject
HTTP header
Verification steps
Edited by Brian Williams