Story #3401
Updated by bizhang over 6 years ago
Manifest should contain the following fields: * digest: CharField(255) * schema_version: IntegerField() * config_layer: ForeignKey to Layer * layers: ManyToManyField('Layer', through='ManifestLayer') * mediaType: ChoiceField() (application/vnd.docker.distribution.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json) ManifestLayer is used to model the relationship between Manifests and Layer * layer: ForeignKey to Layer * manifest: ForeignKey to Manifest * mediaType: ChoiceField() * size: IntegerField() MediaType Choice for the ManifestLayer: Layers: * application/vnd.docker.container.image.v1+json Container config json represented as a layer * application/vnd.docker.image.rootfs.diff.tar.gzip Regular layer * application/vnd.docker.image.rootfs.foreign.diff.tar.gzip Foreign layer ( we do not intend to store foreign layers. Docker client during pull will fetch it from the remote location)