6.10.2.4 ReleaseDepot
6.10.2.4.1 Purpose¶
A package of content with its own versions, such as the binaries for one platform, shared assets or a language pack. Several applications of a project can share a depot.
6.10.2.4.2 Questions it answers¶
- Which content packages make up a client?
- How is a depot cut into chunks, and is it encrypted?
6.10.2.4.3 Fields¶
| Field | Type | Cardinality | Description |
|---|---|---|---|
id |
string (uuid) |
1..1 |
Key. |
project |
ReleaseProject | 1..1 |
|
slug |
string |
1..1 |
(project, slug) is unique. |
kind |
enum | 1..1 |
Values: binaries, shared_assets, language_pack, optional. |
platform |
ReleasePlatform | 0..1 |
Empty: cross-platform. |
language |
string |
0..1 |
BCP-47. |
chunking_params |
ChunkingParams | 1..1 |
|
encryption_key |
ReleaseEncryptionKey | 0..1 |
Only for confidential content; content that is not secret is signed, not encrypted. |
created_at |
datetime |
1..1 |
|
updated_at |
datetime |
1..1 |
6.10.2.4.4 Relationships¶
References
ReleaseDepot.project→ ReleaseProject (1..1)ReleaseDepot.platform→ ReleasePlatform (0..1)ReleaseDepot.encryption_key→ ReleaseEncryptionKey (0..1)
Referenced by
ReleaseApplicationDepot.depot(1..1)ReleaseManifest.depot(1..1)ReleasePatchArtifact.depot(1..1)ReleaseBuildDepot.depot(1..1)
Uses types
6.10.2.4.5 Rules & constraints¶
- A package of content versioned on its own. It belongs to the project, so several applications can share it.