You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -108,7 +108,7 @@ Operators can set up third-party integrations such as [Dependency-Track](https:/
108
108
109
109
Ops can mix and match with different integrations while **not requiring developers to make any changes on their side**!
110
110
111
-
You can see the list of available integrations by running `chainloop integration available list` or by browsing [their source code](./app/controlplane/plugins/).
111
+
To learn more and to find the list of available integrations, check our [integrations page](./docs/integrations.md)
Operators can set up third-party integrations that extend Chainloop functionality by operating on your attestation metadata. This logic could go from sending a Slack message, uploading the attestation to a storage backend or sending a Software Bill Of Materials (SBOMs) to a third-party for analysis.
4
+
5
+
Below you can find the list of currently available integrations. If you can't find the integration you are looking for, feel free [to reach out](https://github.com/chainloop-dev/chainloop/issues) or [contribute your own](https://github.com/chainloop-dev/chainloop/blob/main/app/controlplane/plugins/README.md)!
6
+
7
+

8
+
9
+
## Available Integrations
10
+
11
+
| ID | Version | Description | Material Requirement |
12
+
| --- | --- | --- | --- |
13
+
|[dependency-track](https:/github.com/chainloop-dev/chainloop/blob/main/app/controlplane/plugins/core/dependency-track/v1/README.md)| 1.2 | Send CycloneDX SBOMs to your Dependency-Track instance | SBOM_CYCLONEDX_JSON |
14
+
|[smtp](https:/github.com/chainloop-dev/chainloop/blob/main/app/controlplane/plugins/core/smtp/v1/README.md)| 1.0 | Send emails with information about a received attestation ||
15
+
|[oci-registry](https:/github.com/chainloop-dev/chainloop/blob/main/app/controlplane/plugins/core/oci-registry/v1/README.md)| 1.0 | Send attestations to a compatible OCI registry ||
16
+
|[discord-webhook](https:/github.com/chainloop-dev/chainloop/blob/main/app/controlplane/plugins/core/discord-webhook/v1/README.md)| 1.1 | Send attestations to Discord ||
17
+
18
+
## How to use integrations
19
+
20
+
First you need to make sure that the integration that you are looking for is available in your Chainloop instance, to do so you will
Once you find the integration you are looking for, i.e `oci-registry`, it's time to configure them.
38
+
39
+
Configuring an extension has two steps: 1) register the extension in your organization and 2)attach the extension to your workflows.
40
+
41
+
### Registering an extension
42
+
43
+
Registration is when a specific instance of the integration is configured on a Chainloop organization. A registered instance is then available to be attached to any workflow.
44
+
45
+
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:
46
+
47
+
```console
48
+
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 by using our Google Artifact Registry Credentials, for example.
> Note: You can find more examples on how to configure this specific integration [here](https://github.com/chainloop-dev/chainloop/tree/main/app/controlplane/plugins/core/oci-registry/v1)
83
+
84
+
### Attaching an extension
85
+
86
+
Once the integration is registered, we can attach it to any workflow. In practice this means that attestations and material information received by this workflow will be sent to the registered integration.
87
+
88
+
Attachment has at least two required parameters, the workflowID and the registered integration ID. Additionally each integration might have additional configuration parameters that could allow you to customize its behavior. In our case, on the table above, you can see that the `oci-registry` integration has an optional attachment parameter called `prefix` that allows you to customize the name of the image that will be pushed to the registry.
Congratulations, you are done now! Any attestation or material information received by the workflow will be sent to the registered integration.
95
+
96
+
## FAQ
97
+
98
+
### How do I know if an integration is available?
99
+
100
+
You can use the `chainloop integration available list` command to list all the available integrations.
101
+
102
+
### How do I know what configuration parameters are required by an integration?
103
+
104
+
You can use the `chainloop integration available describe` command to list all the required configuration parameters.
105
+
106
+
### How do I know what registered integrations I have in my organization?
107
+
108
+
You can use the `chainloop integration registered list` command to list all the registered integrations.
109
+
110
+
You can also delete a registered integration by using the `chainloop integration registered delete` command.
111
+
112
+
### How do I know what attachments I have in my organization?
113
+
114
+
You can use the `chainloop integration attached list` command to list all the attachments, and detach them by using the `chainloop integration attached delete` command.
115
+
116
+
### What If I can't find the integration I am looking for?
117
+
118
+
If you can't find the integration you are looking for, feel free [to report it](https://github.com/chainloop-dev/chainloop/issues) or [contribute your own](https://github.com/chainloop-dev/chainloop/blob/main/app/controlplane/plugins/README.md)!
119
+
120
+
### I am stuck, what do I do?
121
+
122
+
If you have any questions or run into any issues, don't hesitate to reach out via our [Discord Server](https://discord.gg/f7atkaZact) or open an [Issue](https://github.com/chainloop-dev/chainloop/issues/new). We'll be happy to help.
0 commit comments