Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/controlplane/plugins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ $ chainloop integration available list
And the information of how to use it can be found in the describe command.

```console
$ chainloop integration available describe --id dependencytrack
$ chainloop integration available describe --name dependency-track
┌─────────────────┬─────────┬──────────────────────┬────────────────────────────────────────────────────────┐
│ ID │ VERSION │ MATERIAL REQUIREMENT │ DESCRIPTION │
├─────────────────┼─────────┼──────────────────────┼────────────────────────────────────────────────────────┤
Expand Down
2 changes: 1 addition & 1 deletion app/controlplane/plugins/core/discord-webhook/v1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ $ chainloop integration registered add discord-webhook --name [my-registration]
2. Attach the integration to your workflow.

```console
chainloop integration attached add --workflow $WID --integration $IID
chainloop integration attached add --workflow [workflow-name] --project [project-name] --integration [my-registration]
```

## Registration Input Schema
Expand Down
4 changes: 2 additions & 2 deletions app/controlplane/plugins/core/guac/v1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,10 @@ $ chainloop integration registered add guac --name [my-registration] --opt bucke

### Attachment

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.
Then, in order to use the integration, you need to attach it to a workflow by providing the names of the workflow, its project and the integration you just registered.

```sh
$ chainloop integration attached add --workflow $WID --integration $ID
$ chainloop integration attached add --workflow [workflow-name] --project [project-name] --integration [my-registration]
Comment thread
cubic-dev-ai[bot] marked this conversation as resolved.
```

That's all on the Chainloop side. Now all new attestation and SBOM metadata files will get uploaded to your Google Cloud Storage bucket.
Expand Down
2 changes: 1 addition & 1 deletion app/controlplane/plugins/core/slack-webhook/v1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ $ chainloop integration registered add slack-webhook --name [my-registration] --
2. Attach the integration to your workflow.

```console
chainloop integration attached add --workflow $WID --integration $IID
chainloop integration attached add --workflow [workflow-name] --project [project-name] --integration [my-registration]
```

## Registration Input Schema
Expand Down
6 changes: 3 additions & 3 deletions app/controlplane/plugins/core/smtp/v1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ In the following example, we will use the AWS SES service.

1. To get started, you need to register the plugin in your Chainloop organization.
```
chainloop integration registered add smtp --opt user=AHDHSYEE7e73 --opt password=kjsdfda8asd**** --opt host=email-smtp.us-east-1.amazonaws.com --opt port=587 --opt to=platform-team@example.com --opt from=notifier@example.com
chainloop integration registered add smtp --name [my-registration] --opt user=AHDHSYEE7e73 --opt password=kjsdfda8asd**** --opt host=email-smtp.us-east-1.amazonaws.com --opt port=587 --opt to=platform-team@example.com --opt from=notifier@example.com
```

2. When attaching the integration to your workflow, you have the option to specify CC:

```
chainloop integration attached add --workflow $WID --integration $IID --opt cc=security@example.com
chainloop integration attached add --workflow [workflow-name] --project [project-name] --integration [my-registration] --opt cc=security@example.com
```

cc is optional:

```
chainloop workflow integration attach --workflow $WID --integration $IID
chainloop integration attached add --workflow [workflow-name] --project [project-name] --integration [my-registration]
```

Starting now, every time a workflow run occurs, an email notification will be sent containing the details of the run and attestation.
Expand Down
2 changes: 1 addition & 1 deletion app/controlplane/plugins/core/webhook/v1/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ chainloop integration registered add webhook --name [my-registration] --opt url=
1. Attach the integration to your workflow.

```console
chainloop integration attached add --workflow $WID --integration $IID
chainloop integration attached add --workflow [workflow-name] --project [project-name] --integration [my-registration]
```

> **Note:** You can specify the `send_attestation` and `send_sbom` options to control what is sent to the webhook. `--opt "send_attestation=false"` will disable sending attestations, and `--opt "send_sbom=true"` will enable sending SBOMs.
Expand Down
8 changes: 4 additions & 4 deletions devel/integrations.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Registration is when a specific instance of the integration is configured on a C
In our case, we want to register an instance of the `oci-registry` integration. To do so, we need to first figure out what configuration parameters are required by the integration. We can do so by running:

```sh
$ chainloop integration available describe --id oci-registry
$ chainloop integration available describe --name oci-registry
┌──────────────┬─────────┬──────────────────────┬────────────────────────────────────────────────┐
│ ID │ VERSION │ MATERIAL REQUIREMENT │ DESCRIPTION │
├──────────────┼─────────┼──────────────────────┼────────────────────────────────────────────────┤
Expand All @@ -74,9 +74,9 @@ $ chainloop integration available describe --id oci-registry
In the console output we can see a registration section that indicates that 3 parameters are required, let's go ahead and register it using our Google Artifact Registry Credentials by running:

```sh
# repository i.e us-east1-docker.pkg.dev/my-project/chainloop-cas-devel
$ chainloop integration registered add oci-registry \
--name [unique-registration-name] \
# i.e us-east1-docker.pkg.dev/my-project/chainloop-cas-devel
--opt repository=[region]-docker.pkg.dev/[my-project]/[my-repository] \
--opt username=_json_key \
--opt "password=$(cat service-account.json)"
Expand All @@ -88,10 +88,10 @@ $ chainloop integration registered add oci-registry \

Once the integration is registered, we can attach it to any workflow. In practice this means that attestations and material information generated in this workflow will be sent to the registered integration.

The attachment process has at least two required parameters, the `workflowID` and the registered `integrationID`. Additionally each integration might have additional to customize its behavior per-workflow. In our case, on the table above, we can see that the `oci-registry` integration has an optional parameter called `prefix` that allows you to customize the name of the image that will be pushed to the registry.
The attachment process has three required parameters: the workflow name, the name of the project it belongs to, and the name of the registered integration. Additionally, each integration might have additional options to customize its behavior per-workflow. In our case, on the table above, we can see that the `oci-registry` integration has an optional parameter called `prefix` that allows you to customize the name of the image that will be pushed to the registry.

```console
$ chainloop integration attached add --workflow $WID --integration $IID --opt prefix=custom-prefix
$ chainloop integration attached add --workflow [workflow-name] --project [project-name] --integration [unique-registration-name] --opt prefix=custom-prefix
```

Congratulations, you are done now! Every new attestation from this workflow will be uploaded to your OCI registry!
Expand Down