Skip to content

Commit d93f326

Browse files
authored
Merge pull request #153 from oej/create-beta
Add BETA information to README
2 parents 9f83ad7 + 6389b98 commit d93f326

File tree

3 files changed

+82
-4
lines changed

3 files changed

+82
-4
lines changed

README.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,27 @@
88

99
# CycloneDX Transparency Exchange API Standard
1010

11-
The Transparency Exchange API is being worked on within the CycloneDX community
11+
The Transparency Exchange API (TEA) is being worked on within the CycloneDX community
1212
with the goal to standardise the API in ECMA. A working group within ECMA TC54 has been
1313
formed - TC54 TG1. The working group has a slack channel in the CycloneDX slack space.
1414

1515
![](images/tealogo.png)
1616

17+
## Status of the standard: Beta 1
18+
19+
TEA is now in beta 1. This beta focuses on the consumer side of the API. Work on the
20+
publisher API will start after the beta. The idea is to get implementation feedback
21+
early on the current specification in order to move forward towards a first official
22+
version of the standard. Feedback will be gathered in the Hackathon at OWASP AppSec
23+
Global in Barcelona May 28 as well as in the meetings and slack channel.
24+
25+
We encourage developers to start with both client and server implementations of TEA and
26+
participate in interoperability tests. These will be organised both as hackathons and
27+
informally using the Slack channel.
28+
29+
There will likely be multiple beta releases. We will announce these by adding new
30+
tags in the repository as well as in the slack channel.
31+
1732
## Introduction
1833

1934
This specification defines a standard, format agnostic, API for the exchange of
@@ -78,6 +93,10 @@ Insights allows for “limited transparency” that can be asked and answered us
7893
- Our biweekly meetings are available on [YouTube playlist: Project Koala](https://www.youtube.com/playlist?list=PLqjEqUxHjy1XtSzGYL7Dj_WJbiLu_ty58)
7994
- KoalaCon 2024 - an introduction to the project - can be [viewed on YouTube](https://youtu.be/NStzYW4WnEE?si=ihLirpGVjHc7K4bL)
8095

96+
## Contributors
97+
98+
Contributors are listed in the [Contributors](contributors.md) file.
99+
81100
## Terminology
82101

83102
- API: Application programming interface

api-flow/consumer.md

Lines changed: 60 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ by other means. It contains one or multiple components.
1111

1212
- __List of TEA Components__: Components are components of something that is part of a product.
1313
Each Component has it's own versioning and it's own set of artifacts.
14-
- __List of TEA releases__: Each component has a list of releases where each release has a timestamp and
14+
- __List of TEA Releases__: Each component has a list of releases where each release has a timestamp and
1515
a lifecycle enumeration. They are normally sorted by timestamps. The TEA API has no requirements of
1616
type of version string (semantic or any other scheme) - it's just an identifier set by the manufacturer.
17-
- __List of TEA collections__: For each release, there is a list of TEA collections as indicated
17+
- __List of TEA Collections__: For each release, there is a list of TEA collections as indicated
1818
by release date and a version integer starting with collection version 1.
19-
- __List of TEA artifacts__: The collection is unique for a version and contains a list of artifacts.
19+
- __List of TEA Artifacts__: The collection is unique for a version and contains a list of artifacts.
2020
This can be SBOM files, VEX, SCITT, IN-TOTO or other documents. Note that a single artifact
2121
can belong to multiple versionsof a Component and multiple Components.
2222
- __List of artifact formats__: An artifact can be published in multiple formats.
@@ -105,6 +105,63 @@ sequenceDiagram
105105
user ->> tea_artifact: Request to download artifact
106106
tea_artifact ->> user: Artifact
107107
108+
```
109+
110+
## API flow based on cached data - checking for a new release
111+
112+
In this case a TEA client knows the component UUID and wants to check the status of the
113+
used release and if there's a new release. The client may limit the query with a given date
114+
for a release.
115+
116+
```mermaid
117+
118+
---
119+
title: TEA client flow with direct query for release
120+
---
121+
122+
sequenceDiagram
123+
autonumber
124+
actor user
108125
126+
participant tea_product as TEA Product
127+
participant tea_component as TEA Component
128+
participant tea_release as TEA Release
129+
participant tea_collection as TEA Collection
130+
participant tea_artifact as TEA Artefact
131+
132+
user ->> tea_release: Finding a specific version/release
133+
tea_release ->> user: List of releases and collection id for each release
109134
110135
```
136+
137+
## API flow based on cached data - checking if a collection changed
138+
139+
In this case a TEA client knows the release UUID, the collection UUID, and the
140+
collection version from previous queries. If the given version is not the same,
141+
another query is done to get reason for update and new collection list of artifacts.
142+
143+
144+
```mermaid
145+
146+
---
147+
title: TEA client collection query
148+
---
149+
150+
sequenceDiagram
151+
autonumber
152+
actor user
153+
154+
participant tea_product as TEA Product
155+
participant tea_component as TEA Component
156+
participant tea_release as TEA Release
157+
participant tea_collection as TEA Collection
158+
participant tea_artifact as TEA Artefact
159+
160+
161+
user ->> tea_collection: Finding the current collection, including version
162+
tea_collection ->> user: List of artefacts and formats available for each artefact
163+
164+
user ->> tea_collection: Request to access previous version of the collection to compare
165+
tea_collection ->> user: Previous version of collection
166+
167+
```

api-flow/publisher.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Overview of the TEA API from a producer standpoint
22

3+
This is input for the working group.
4+
35
## Bootstrapping
46

57
```mermaid

0 commit comments

Comments
 (0)