data.database: document all CNR/OCI models
This commit is contained in:
parent
f94d5c7684
commit
0e32e77e99
1 changed files with 64 additions and 21 deletions
|
@ -1093,7 +1093,9 @@ class ServiceKey(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class MediaType(BaseModel):
|
class MediaType(BaseModel):
|
||||||
""" MediaType is an enumeration of the possible formats of various objects in the data model. """
|
""" MediaType is an enumeration of the possible formats of various objects in the data model.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
name = CharField(index=True, unique=True)
|
name = CharField(index=True, unique=True)
|
||||||
|
|
||||||
|
|
||||||
|
@ -1105,14 +1107,18 @@ class Messages(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class LabelSourceType(BaseModel):
|
class LabelSourceType(BaseModel):
|
||||||
""" LabelSourceType is an enumeration of the possible sources for a label. """
|
""" LabelSourceType is an enumeration of the possible sources for a label.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
name = CharField(index=True, unique=True)
|
name = CharField(index=True, unique=True)
|
||||||
mutable = BooleanField(default=False)
|
mutable = BooleanField(default=False)
|
||||||
|
|
||||||
|
|
||||||
class Label(BaseModel):
|
class Label(BaseModel):
|
||||||
""" Label represents user-facing metadata associated with another entry in the
|
""" Label represents user-facing metadata associated with another entry in the database (e.g. a
|
||||||
database (e.g. a Manifest). """
|
Manifest).
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
uuid = CharField(default=uuid_generator, index=True, unique=True)
|
uuid = CharField(default=uuid_generator, index=True, unique=True)
|
||||||
key = CharField(index=True)
|
key = CharField(index=True)
|
||||||
value = TextField()
|
value = TextField()
|
||||||
|
@ -1121,7 +1127,9 @@ class Label(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class TagManifestLabel(BaseModel):
|
class TagManifestLabel(BaseModel):
|
||||||
""" Mapping from a tag manifest to a label. """
|
""" Mapping from a tag manifest to a label.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
repository = ForeignKeyField(Repository, index=True)
|
repository = ForeignKeyField(Repository, index=True)
|
||||||
annotated = ForeignKeyField(TagManifest, index=True)
|
annotated = ForeignKeyField(TagManifest, index=True)
|
||||||
label = ForeignKeyField(Label)
|
label = ForeignKeyField(Label)
|
||||||
|
@ -1135,7 +1143,9 @@ class TagManifestLabel(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class Blob(BaseModel):
|
class Blob(BaseModel):
|
||||||
""" Blob represents a content-addressable object stored outside of the database. """
|
""" Blob represents a content-addressable object stored outside of the database.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
digest = CharField(index=True, unique=True)
|
digest = CharField(index=True, unique=True)
|
||||||
media_type = EnumField(MediaType)
|
media_type = EnumField(MediaType)
|
||||||
size = BigIntegerField()
|
size = BigIntegerField()
|
||||||
|
@ -1143,18 +1153,24 @@ class Blob(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class BlobPlacementLocation(BaseModel):
|
class BlobPlacementLocation(BaseModel):
|
||||||
""" BlobPlacementLocation is an enumeration of the possible storage locations for Blobs. """
|
""" BlobPlacementLocation is an enumeration of the possible storage locations for Blobs.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
name = CharField(index=True, unique=True)
|
name = CharField(index=True, unique=True)
|
||||||
|
|
||||||
|
|
||||||
class BlobPlacementLocationPreference(BaseModel):
|
class BlobPlacementLocationPreference(BaseModel):
|
||||||
""" BlobPlacementLocationPreference is a location to which a user's data will be replicated. """
|
""" BlobPlacementLocationPreference is a location to which a user's data will be replicated.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
user = QuayUserField(index=True, allows_robots=False)
|
user = QuayUserField(index=True, allows_robots=False)
|
||||||
location = EnumField(BlobPlacementLocation)
|
location = EnumField(BlobPlacementLocation)
|
||||||
|
|
||||||
|
|
||||||
class BlobPlacement(BaseModel):
|
class BlobPlacement(BaseModel):
|
||||||
""" BlobPlacement represents the location of a Blob. """
|
""" BlobPlacement represents the location of a Blob.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
blob = ForeignKeyField(Blob)
|
blob = ForeignKeyField(Blob)
|
||||||
location = EnumField(BlobPlacementLocation)
|
location = EnumField(BlobPlacementLocation)
|
||||||
|
|
||||||
|
@ -1167,7 +1183,9 @@ class BlobPlacement(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class BlobUploading(BaseModel):
|
class BlobUploading(BaseModel):
|
||||||
""" BlobUploading represents the state of a Blob currently being uploaded. """
|
""" BlobUploading represents the state of a Blob currently being uploaded.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
uuid = CharField(index=True, unique=True)
|
uuid = CharField(index=True, unique=True)
|
||||||
created = DateTimeField(default=datetime.now, index=True)
|
created = DateTimeField(default=datetime.now, index=True)
|
||||||
repository = ForeignKeyField(Repository, index=True)
|
repository = ForeignKeyField(Repository, index=True)
|
||||||
|
@ -1189,13 +1207,18 @@ class BlobUploading(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class Manifest(BaseModel):
|
class Manifest(BaseModel):
|
||||||
""" Manifest represents the metadata and collection of blobs that comprise a container image. """
|
""" Manifest represents the metadata and collection of blobs that comprise a container image.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
digest = CharField(index=True, unique=True)
|
digest = CharField(index=True, unique=True)
|
||||||
media_type = EnumField(MediaType)
|
media_type = EnumField(MediaType)
|
||||||
manifest_json = JSONField()
|
manifest_json = JSONField()
|
||||||
|
|
||||||
|
|
||||||
class ManifestLabel(BaseModel):
|
class ManifestLabel(BaseModel):
|
||||||
|
""" ManifestLabel represents label metadata annotating a Manifest.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
repository = ForeignKeyField(Repository, index=True)
|
repository = ForeignKeyField(Repository, index=True)
|
||||||
annotated = ForeignKeyField(Manifest, index=True)
|
annotated = ForeignKeyField(Manifest, index=True)
|
||||||
label = ForeignKeyField(Label)
|
label = ForeignKeyField(Label)
|
||||||
|
@ -1209,7 +1232,9 @@ class ManifestLabel(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class ManifestBlob(BaseModel):
|
class ManifestBlob(BaseModel):
|
||||||
""" ManifestBlob is a many-to-many relation table linking Manifests and Blobs. """
|
""" ManifestBlob is a many-to-many relation table linking Manifests and Blobs.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
manifest = ForeignKeyField(Manifest, index=True)
|
manifest = ForeignKeyField(Manifest, index=True)
|
||||||
blob = ForeignKeyField(Blob, index=True)
|
blob = ForeignKeyField(Blob, index=True)
|
||||||
|
|
||||||
|
@ -1222,7 +1247,9 @@ class ManifestBlob(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class ManifestList(BaseModel):
|
class ManifestList(BaseModel):
|
||||||
""" ManifestList represents all of the various manifests that compose a Tag. """
|
""" ManifestList represents all of the various manifests that compose a Tag.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
digest = CharField(index=True, unique=True)
|
digest = CharField(index=True, unique=True)
|
||||||
manifest_list_json = JSONField()
|
manifest_list_json = JSONField()
|
||||||
schema_version = CharField()
|
schema_version = CharField()
|
||||||
|
@ -1230,12 +1257,16 @@ class ManifestList(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class TagKind(BaseModel):
|
class TagKind(BaseModel):
|
||||||
""" TagKind is a enumtable of to reference tag kinds """
|
""" TagKind is a enumtable to reference tag kinds.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
name = CharField(index=True, unique=True)
|
name = CharField(index=True, unique=True)
|
||||||
|
|
||||||
|
|
||||||
class Tag(BaseModel):
|
class Tag(BaseModel):
|
||||||
""" Tag represents a user-facing alias for referencing a ManifestList. """
|
""" Tag represents a user-facing alias for referencing a ManifestList.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
name = CharField()
|
name = CharField()
|
||||||
repository = ForeignKeyField(Repository)
|
repository = ForeignKeyField(Repository)
|
||||||
manifest_list = ForeignKeyField(ManifestList, null=True)
|
manifest_list = ForeignKeyField(ManifestList, null=True)
|
||||||
|
@ -1262,7 +1293,9 @@ class Tag(BaseModel):
|
||||||
Channel = Tag.alias()
|
Channel = Tag.alias()
|
||||||
|
|
||||||
class ManifestListManifest(BaseModel):
|
class ManifestListManifest(BaseModel):
|
||||||
""" ManifestListManifest is a many-to-many relation table linking ManifestLists and Manifests. """
|
""" ManifestListManifest is a many-to-many relation table linking ManifestLists and Manifests.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
manifest_list = ForeignKeyField(ManifestList, index=True)
|
manifest_list = ForeignKeyField(ManifestList, index=True)
|
||||||
manifest = ForeignKeyField(Manifest, index=True)
|
manifest = ForeignKeyField(Manifest, index=True)
|
||||||
operating_system = CharField(null=True)
|
operating_system = CharField(null=True)
|
||||||
|
@ -1280,7 +1313,9 @@ class ManifestListManifest(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class ManifestLayer(BaseModel):
|
class ManifestLayer(BaseModel):
|
||||||
""" ManifestLayer represents one of the layers that compose a Manifest. """
|
""" ManifestLayer represents one of the layers that compose a Manifest.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
blob = ForeignKeyField(Blob, index=True)
|
blob = ForeignKeyField(Blob, index=True)
|
||||||
manifest = ForeignKeyField(Manifest)
|
manifest = ForeignKeyField(Manifest)
|
||||||
manifest_index = IntegerField(index=True) # index 0 is the last command in a Dockerfile
|
manifest_index = IntegerField(index=True) # index 0 is the last command in a Dockerfile
|
||||||
|
@ -1295,7 +1330,9 @@ class ManifestLayer(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class ManifestLayerDockerV1(BaseModel):
|
class ManifestLayerDockerV1(BaseModel):
|
||||||
""" ManifestLayerDockerV1 is the Docker v1 registry protocol metadata for a ManifestLayer. """
|
""" ManifestLayerDockerV1 is the Docker v1 registry protocol metadata for a ManifestLayer.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
manifest_layer = ForeignKeyField(ManifestLayer)
|
manifest_layer = ForeignKeyField(ManifestLayer)
|
||||||
image_id = CharField(index=True)
|
image_id = CharField(index=True)
|
||||||
checksum = CharField()
|
checksum = CharField()
|
||||||
|
@ -1303,14 +1340,18 @@ class ManifestLayerDockerV1(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class ManifestLayerScan(BaseModel):
|
class ManifestLayerScan(BaseModel):
|
||||||
""" ManifestLayerScan represents the state of security scanning for a ManifestLayer. """
|
""" ManifestLayerScan represents the state of security scanning for a ManifestLayer.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
layer = ForeignKeyField(ManifestLayer, unique=True)
|
layer = ForeignKeyField(ManifestLayer, unique=True)
|
||||||
scannable = BooleanField()
|
scannable = BooleanField()
|
||||||
scanned_by = CharField()
|
scanned_by = CharField()
|
||||||
|
|
||||||
|
|
||||||
class DerivedImage(BaseModel):
|
class DerivedImage(BaseModel):
|
||||||
""" DerivedImage represents a Manifest transcoded into an alternative format. """
|
""" DerivedImage represents a Manifest transcoded into an alternative format.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
uuid = CharField(default=uuid_generator, unique=True)
|
uuid = CharField(default=uuid_generator, unique=True)
|
||||||
source_manifest = ForeignKeyField(Manifest)
|
source_manifest = ForeignKeyField(Manifest)
|
||||||
derived_manifest_json = JSONField()
|
derived_manifest_json = JSONField()
|
||||||
|
@ -1329,7 +1370,9 @@ class DerivedImage(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class BitTorrentPieces(BaseModel):
|
class BitTorrentPieces(BaseModel):
|
||||||
""" BitTorrentPieces represents the BitTorrent piece metadata calculated from a Blob. """
|
""" BitTorrentPieces represents the BitTorrent piece metadata calculated from a Blob.
|
||||||
|
This model is a part of the new OCI/CNR model set.
|
||||||
|
"""
|
||||||
blob = ForeignKeyField(Blob)
|
blob = ForeignKeyField(Blob)
|
||||||
pieces = Base64BinaryField()
|
pieces = Base64BinaryField()
|
||||||
piece_length = IntegerField()
|
piece_length = IntegerField()
|
||||||
|
|
Reference in a new issue