Story #3408
Updated by ipanova@redhat.com over 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())