1- # The TEA Collection object (TCO)
1+ # TEA release and collections
2+
3+ ## The TEA release object (TRO)
4+
5+ The TEA Component Release object is a list of releases (versions) of a component
6+ with a release identifier (string), release timestamp and a lifecycle
7+ enumeration for the release. Each release includes a UUID of a
8+ TEA Collection object (TCO).
9+
10+ * UUID: Release UUID
11+ * Version: Version (string)
12+ * Date: Timestamp of release (for sorting releases)
13+ * Prerelease: A flag indicating pre-release (or beta) status. May be disabled
14+ after creation of release object, but can't be enabled after creation of
15+ an object.
16+ * Lifecycle: An identifier indicating lifecycle status of a release
17+
18+ ## The TEA Collection object (TCO)
219
320For each product and version there is a Tea Collection object, which is a list
421of available artifacts for this specific version. The TEA Index is a list of
@@ -17,7 +34,10 @@ on dynamic artifact types such as LCE or VEX. If the product
1734is modified, that is a new product version and that should generate
1835a new collection object with a new UUID and updated metadata.
1936
20- ## Dynamic or static Collection objects
37+ The API allows for retrieving the latest version of the collection,
38+ or a specific version.
39+
40+ ### Dynamic or static Collection objects
2141
2242The TCO is produced by the TEA software platform. There are two ways
2343to implement this:
@@ -26,24 +46,23 @@ to implement this:
2646 dynamically.
2747* __ Static__ : The TCO is built at publication time as a static
2848 object by the publisher. This object can be digitally signed at
29- publication time.
49+ publication time and version controlled .
3050
31- ## Collection object
51+ ### Collection object
3252
3353The TEA Collection object has the following parts
3454
3555* Preamble
36- * UUID of the TEA collection object (TCO)
37- * Product name
38- * Product version
56+ * UUID of the TEA collection release object (TCO). Note that this
57+ is the same UUID as the release object for this version. When updating
58+ a collection, the version is changed.
3959 * Product Release date (timestamp)
40- * Author of the collection object
41- * Name
42- * Email
43- * Organisation
60+ * Collection version release date (timestamp)
61+ * _ Version_ of this collection object. Starting with 1.
4462 * Reason for update/release of TCO
4563 * ENUM reason
46- * clear text
64+ See below
65+ * clear text description of change
4766 * "New product release"
4867 * "Corrected dependency in SBOM that was faulty"
4968 * "Added missing In-Toto build attestation"
@@ -72,16 +91,15 @@ The artifact object has the following parts
7291 * Size in bytes
7392 * SHA384 checksum
7493
75- ## The reason for TCO update enum
94+ ### The reason for TCO update enum
7695
7796| ENUM | Explanation |
7897| -------------| --------------------------------|
79- | VEXUPDATE | Updated the VEX artefact(s) |
80- | SBOMUPDATE | Updated the SBOM artefact(s) |
81- | OTHERUPDATE | Updated another artefact |
82- | LCECHANGE | Updated Life cycle enumeration |
83-
84- * NEWVERSION - A new version of the product
85- * ADDITION - Adding an artifact
86- * REMOVE - Removing an artifact
87- * UPDATE - Update of artifacts (typos, faults)
98+ | INITIAL_RELEASE | Initial release of the collection |
99+ | VEX_UPDATED | Updated the VEX artifact(s) |
100+ | ARTIFACT_UPDATED | Updated the artifact(s) other than VEX |
101+ | ARTIFACT_REMOVED | Removal of artifact |
102+ | ARTIFACT_ADDED | Addition of an artifact |
103+
104+ Updates of VEX (CSAF) files may be handled in a different way by a TEA client,
105+ producing different alerts than other changes of a collection.
0 commit comments