Providing you are a LUSID user with sufficient access control permissions, you can upload information to the Configuration Store. See what information you can store.

Note: If you are the LUSID domain owner, you are automatically assigned the built-in lusid-administrator role, which has all the permissions necessary to perform the operations in this article.

The principle is as follows:

  1. Decide whether you want to upload information to your Personal area or to the Shared area.

  2. Create a configuration set (information bucket) in which to store one or more similar items. For example, you might create a configuration set to store your JIRA credentials.

  3. Create one or more configuration items and add them to a configuration set. For example, you might create one item for your JIRA username and one item for your JIRA password (which you would store as a secret).

You can use either of the following methods:

Using the Configuration Store REST API

  1. Obtain an API access token.

  2. Call the CreateConfigurationSet API for your LUSID domain, passing in your API access token and specifying a type of either Personal or Shared, and a scope and code that together uniquely identify the configuration set:

    curl -X POST "https://<your-domain>.lusid.com/configuration/api/sets"
       -H "Authorization: Bearer <your-API-access-token>"
       -H "Content-Type: application/json-patch+json"
       -d '{
      "id": {
        "scope": "external-services",
        "code": "jira"
      },
      "type": "personal",
      "description": "Bucket for storing JIRA credentials"
    }'
  3. Call the AddConfigurationToSet API, passing in your API access token and nominating the type (personal or shared) and the scope and code of the configuration set to assign the item to. For the configuration item itself, specify:

    • A key to uniquely identify the item in the set.

    • A suitable value.

    • Whether the item isSecret. If set to true, you can optionally set blockReveal to true to prevent the secret being revealed to any user, including you, once it has been saved.

      When blockReveal is set to true, note the following:

      • Only LUSID itself is able to access the value; it cannot be exposed by any user.

      • Any attempts to read the value return the value **********.

      • You can update the value.

    For example, to create a JIRA password as a secret, and assign it to the configuration set created above:

    curl -X POST "https://<your-domain>.lusid.com/configuration/api/sets/personal/external-services/jira/items"
       -H "Authorization: Bearer <your-API-access-token>"
       -H "Content-Type: application/json-patch+json"
       -d '{
      "key": "password",
      "value": "Mysecretpa55word!",
      "isSecret": true,
      "description": "Password for JIRA",
      "blockReveal": false
    }'

    Providing the request is successful, the response contains the ref you need to reference this information from within other LUSID ecosystem applications:

    {
       "createdAt": "2021-12-16T10:25:43.2531740+00:00",
       "createdBy": "00u91lo2d7X42sdse2p7",
       "lastModifiedAt": "2021-12-16T11:18:48.7971940+00:00",
       "lastModifiedBy": "00u91lo2d7X42sdse2p7",
       "description": "Bucket for storing JIRA credentials",
       "items": [
           {
               "key": "password",
               "value": "**********",
               "valueType": "text",
               "isSecret": true,
               "blockReveal": false,
               "ref": "config://personal/00u91lo2d7X42sdse2p7/external-services/jira/password"
           }
       ],
       "id": {
           "scope": "external-services",
           "code": "jira"
       },
       "type": "personal"
    } 

Using the LUSID web app

  1. Sign in to the LUSID web app using the credentials of a LUSID administrator.

  2. From the left-hand menu, select System Settings > Configuration store:

  3. Select either Personal keys or Shared keys to upload to the appropriate area, and click the Add configuration set button.

  4. Specify a Scope and Code to uniquely identify the configuration set.

  5. Specify a Key (at the bottom) to uniquely identify the item within the configuration set, enter appropriate values, and click the Add item button:

    Note

    You can tick the Block Reveal checkbox to prevent the secret being revealed to any user, including you, once it has been saved:

    • Only LUSID itself is able to access the value; it cannot be exposed by any user.

    • Any attempts to read the value return the value **********.

    • You can update the value.

  6. Click the Save button to create the configuration set. You can add more items to the set at any time.