Keyrings are a way to authenticate with external services. They are defined in the snap-in manifest under the keyrings section.
Keyrings are called connections in the DevRev app and can be used interchangeably in the documentation.
The developer can specify a list of keyrings that the snap-in requires. The installer is asked to provide the keyring when installing the snap-in.
For example, if we want the installer to provide either a DevRev PAT or a secret token when installing the snap-in, we would specify the following in the manifest:
1 keyrings:2 organization:3 - name: my-secret-token4 description: The secret tokens stores the keys to the kingdom5 types:6 - devrev_pat7 - snap_in_secret8 display_name: Your secret token
If you are using version 1 of the manifest, you can omit the organization key in the keyring definition and directly provide the keyring definition as a list. All keyring defined in manifest version 1 are organization-scoped. Additionally, the keyword connections is used instead of keyrings in manifest version 1.
In the above YAML, the name specifies a unique identifier for the keyring in the snap-in. The description is a human readable description of the keyring shown to the user at the time of snap-in installation. The types field specifies the list of possible keyring types that the user can provide. The display_name is the name that's shown to the user when they are asked to provide a keyring.
The following keyring types are currently supported, where the Identifier field is the value to be specified in the types field of the keyring in the manifest:
If you are using version 1 of the manifest, the identifier devrev-snap-in-secret is used instead of snap_in_secret.
Version 2 from version 1
- Identifiers updated for DevRev PAT and DevRev Snap-in Secret. The table above lists the new identifiers.