Project

Profile

Help

Story #3408

Updated by ipanova@redhat.com about 6 years ago

A ManifestList object should subclass ContentUnit and contain the following additional fields: 

 * digest: CharField(255) 
 * schema_version: IntegerField() mediaType: application/vnd.docker.distribution.manifest.list.v2+json 
 * manifests: ManyToManyField('Manifest', through='ManifestListManifest') 
 * mediaType: application/vnd.docker.distribution.manifest.list.v2+json 
 * amd64_digest: CharField(255) 
 * amd64_schema_version: IntegerField() 

 ManifestListManifest is the thru table for ManifestList to Manifest relationship. Some fields on this model appears to be redundant to the fields found on the Manifest Model, but they are necessary because the provided json for a Manfiest List is not guaranteed to match the reality of a manifest. 

 * ForeignKey to Manifest 
 * ForeignKey to ManifestList 
 * mediaType: ChoiceField() (application/vnd.docker.distribution.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json) 
 * size: IntegerField() 
 * digest: CharField(255) 
 * platform: ForeignKey to Platform 

 MediaType choice for the Manifest: 

 * application/vnd.docker.distribution.manifest.v1+json 
 * application/vnd.docker.distribution.manifest.v2+json 


 Platform (does not subclass ContentUnit): 

 * architecture: CharField(255) 
 * os: CharField(255) 
 * os.version: charField(255) 
 * os.features: ListField(CharField()) 
 * variant: CharField(255) 
 * features: ListField(CharField())  

Back