Skip to content

Commit

Permalink
docs: add entity relationship diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
mikhailswift committed Oct 11, 2023
1 parent 5abcad0 commit c6425eb
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,67 @@ Additionally Archivista exposes a GraphQL API. By default the GraphQL playground
is capable of uploading and downloading attestations as well as doing some basic queries such as finding all
attestations with a specified subject and retrieving all subjects for a specified attestation.

## Navigating the Graph

As previously mentioned, Archivista offers a GraphQL API that enables users to discover attestations. When Archivista ingests
an attestation some metadata will be stored into the SQL metadata store. This metadata is exposed through the GraphQL API.
Archivista uses [Relay connections](https://relay.dev/graphql/connections.htm) for querying and pagination.

Here is an entity relationship diagram of the metadata that is currently available.

```mermaid
erDiagram
dsse ||--|| statement : Contains
statement ||--o{ subject : has
subject ||--|{ subjectDigest : has
statement ||--o| attestationCollection : contains
attestationCollection ||--|{ attestation : contains
dsse ||--|{ payloadDigest : has
dsse ||--|{ signature : has
signature ||--o{ timestamp : has
dsse {
string gitoidSha256
string payloadType
}
statement {
string predicate
}
subject {
string name
}
subjectDigest {
string algorithm
string value
}
attestationCollection {
string name
}
attestation {
string type
}
payloadDigest {
string algorithm
string value
}
signature {
string keyID
string signature
}
timestamp {
string type
time timestamp
}
```

## What's Next

We would like to expand the types of data Archivista can ingest as well as expand the metadata Archivista collected about
Expand Down

0 comments on commit c6425eb

Please sign in to comment.