Skip to content

Commit 9f16aff

Browse files
authored
feat(guac): add video to guide (#215)
Signed-off-by: Miguel Martinez Trivino <[email protected]>
1 parent 6148918 commit 9f16aff

File tree

1 file changed

+38
-13
lines changed
  • app/controlplane/plugins/core/guac/v1

1 file changed

+38
-13
lines changed

app/controlplane/plugins/core/guac/v1/README.md

Lines changed: 38 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,37 @@
22

33
Graph for Understanding Artifact Composition ([GUAC](https://github.com/guacsec/guac)) aggregates software security metadata into a high fidelity graph database—normalizing entity identities and mapping standard relationships between them. Querying this graph can drive higher-level organizational outcomes such as audit, policy, risk management, and even developer assistance.
44

5-
This integration allows Chainloop users to automatically send attestation (DSSE envelopes / in-toto statements) and CycloneDX/SPDX Software Bill Of Materials (SBOMs) to a cloud storage bucket staging area. From there, GUAC can be configured to continuously monitor and inject that data. Compatible with Guac v0.1.0 beta or newer.
5+
Chainloop users can **automatically send signed [in-toto](https://in-toto.io/) attestations and both [CycloneDX](https://cyclonedx.org/) and [SPDX](https://spdx.dev/) Software Bill Of Materials (SBOMs)** to a cloud storage bucket. From there, GUAC can be configured to continuously monitor and inject that data.
66

77
![GUAC integration](./img/overview.png)
88

9+
## Demo
910

10-
## How to use it
11+
You can see a demo of this integration in action in the following video:
1112

12-
Currently, this integration only supports [Google Cloud Storage](https://cloud.google.com/storage) (GCS) as a storage provider with more to come in the future. If you are interested in a specific provider, please [let us know](https://github.com/chainloop-dev/chainloop/issues/new)
13+
<a href="http://www.youtube.com/watch?feature=player_embedded&v=XEeMeyC9ZJs" target="_blank">
14+
<img src="http://img.youtube.com/vi/XEeMeyC9ZJs/0.jpg" alt="Use Guac with Chainloop" width="100%" height="500" border="10" />
15+
</a>
1316

17+
## Configure Integration in Chainloop
1418

15-
### Chainloop setup
16-
#### Using Google Cloud Platform
19+
There are two steps involved to enable this integration:
20+
21+
1. Register a Guac integration in your Chainloop account
22+
2. Attach this integration to your workflow
23+
24+
### Registration
25+
26+
Currently, this integration only supports [Google Cloud Storage](https://cloud.google.com/storage) (GCS) as a storage provider, with more to come in the future. If you are interested in a specific provider, please [let us know](https://github.com/chainloop-dev/chainloop/issues/new)
27+
28+
#### Using Google Cloud Storage (GCS)
1729

1830
**Prerequisites**
1931

2032
- A Google Cloud Platform (GCP) account
2133
- A GCP project with a GCS bucket
2234
- A GCP service account with write access to the bucket. See [Creating and managing service accounts](https://cloud.google.com/iam/docs/creating-managing-service-accounts) for more information.
23-
- Once create, download the service account [JSON credentials file](https://developers.google.com/workspace/guides/create-credentials#create_credentials_for_a_service_account)
24-
25-
26-
**Registration**
35+
- Once created, download the service account [JSON credentials file](https://developers.google.com/workspace/guides/create-credentials#create_credentials_for_a_service_account)
2736

2837
To get started, you need to register the plugin in your Chainloop organization.
2938

@@ -34,21 +43,37 @@ $ chainloop integration registered add guac --opt bucket=[my-bucket-name] --opt
3443
$ chainloop integration registered add guac --opt bucket=test-guac --opt credentials="$(cat ./service-account-devel.json)" --opt provider=gcs
3544
```
3645

37-
**Attachment**
46+
### Attachment
3847

3948
Then, in order to use the integration, you need to attach it to a workflow by providing the IDs of the workflow and integration you just registered.
4049

4150
```sh
4251
$ chainloop integration attached add --workflow $WID --integration $ID
4352
```
4453

45-
That's all on the Chainloop side. Now all new attestation and SBOM metadata files will get uploaded to Google Cloud Storage.
54+
That's all on the Chainloop side. Now all new attestation and SBOM metadata files will get uploaded to your Google Cloud Storage bucket.
55+
## Configure Guac
4656

57+
Next, we need to configure Guac to pick up the files from the bucket and inject them into the graph. Please refer to [guacsec/guac](https://docs.guac.sh) documentation to learn more.
4758

48-
### GUAC setup
59+
But in a nutshell, you need to:
4960

50-
Refer to https://github.com/guacsec/guac documentation to learn how to setup GUAC to import from a GCS-based collector.
61+
- [Have a Guac instance up and running](https://docs.guac.sh/setup)
62+
- Ingest the data from the bucket into the graph
63+
64+
> NOTE: Currently, importing GCS data into Guac requires manually running a `collect` command. The community [is discussing](https://github.com/guacsec/guac/issues/1005) how to run this process periodically and automatically.
65+
66+
67+
```bash
68+
# Build the guacone CLI
69+
git clone https://github.com/guacsec/guac.git
70+
cd guac && make build
71+
72+
# Ingest the data
73+
guacone collect gcs test-guac --gcp-credentials-path service-account-devel.json
74+
```
5175

76+
That's all, now the data is available in the graph and you can query or visualize it.
5277

5378
## Registration Input Schema
5479

0 commit comments

Comments
 (0)