Skip to content

HRI Dependencies Configuration/Setup

This section is intended to help guide you to configure the dependent services that HRI uses in your own (public/private) IBM Cloud account.

Create Elasticsearch cloud resource

HRI Requires an Elasticsearch service deployment in your IBM Cloud account. Navigate to the Resource List in your Cloud account. Click the Create resource button in the top right corner. Enter “Elasticsearch” in the catalog search bar and then select the Databases for Elasticsearch tile.

Select the appropriate region and then configure the resource by providing a service name and resource group (Note: for all configuration examples below, the Resource Group is “YOUR_Resource_GRP”).

You will also need to specify the desired resource allocations for Elasticsearch. Depending on your expected usage, your values may differ, but the values shown below will be sufficient in most cases. Then click the Create button.

elastic-configure

Once the Elasticsearch instance becomes active, you will need to set an “admin” password. This is done from the Settings page of the Elasticsearch instance.

elastic-admin-password

Click the Service credentials link, and then click the New credential button. Provide a name for the service credential and then add it. This will be needed by the HRI Management API deployment.

elastic-create-cred

Create Event Streams cloud resource

HRI also Requires an Event Streams(Kafka) service deployment in your IBM Cloud account.

Navigate to the Resource List in your Cloud account. If an instance of Event Streams already exists in your Cloud account, then the HRI may be able to share that existing instance. If an Event Streams instance does not already exist, then create one by clicking the Create resource button in the top right corner. Enter “Event Streams” in the catalog search bar and then select the Event Streams tile.

Fill in an appropriate region, service name, and resource group. The Enterprise pricing plan (with custom key management via Key Protect) is required for HIPAA data processing. After creating an Enterprise instance of Event Streams, custom key management via Key Protect will need to be explicitly enabled (See Event Streams documentation).

NOTE: The Event Streams Enterprise plan is expensive, which is why we recommend sharing an instance, if possible. In non-Production environments, a Standard plan may be used for testing with non-HIPAA data if your organization’s security team approves.

event-streams-configure

Click the Service credentials link, and then click the New credential button to create a service credential with writer permissions. Provide a name for the service credential. This will be needed by the HRI Management API deployment.

event-streams-create-cred

Create Authorization Service

The HRI Management API requires an authorization service. Integration testing has been performed with IBM Cloud App ID, but any compliant service can be used. See Authorization for more details about the requirements and how to set up an App ID cloud service.

Deploy the HRI Management API to IBM Functions

The Management API is designed to run on IBM Functions and can be deployed using the IBM Cloud CLI Functions plug-in. The deploy.sh script automates the process by creating an IBM Functions namespace, deploying the code and API, setting configuration values, and binding Elasticsearch and Event Streams service credentials. There are also scripts for configuring Elasticsearch, elastic.sh, and performing initial configurations of App ID, appid.sh. These scripts are packaged into a docker container with the compiled code to support automated deployments and are available on GitHub. Below is a table of the environment variables used by the scripts.

Name Description
IBM_CLOUD_API_KEY The API key for IBM Cloud
IBM_CLOUD_REGION Target IBM Cloud Region, e.g. ‘ibm:yp:us-south’
RESOURCE_GROUP Target IBM Cloud Resource Group
NAMESPACE Target IBM Functions namespace
ELASTIC_INSTANCE Name of Elasticsearch instance
ELASTIC_SVC_ACCOUNT Name of Elasticsearch service ID
KAFKA_INSTANCE Name of Event Streams (Kafka) instance
KAFKA_SVC_ACCOUNT Name of Event Streams (Kafka) service ID
OIDC_ISSUER The base URL of the OIDC issuer to use for OAuth authentication (e.g. https://us-south.appid.cloud.ibm.com/oauth/v4/<tenantId>)
APPID_PREFIX (Optional) Prefix string to append to the AppId applications and roles created during deployment
SET_UP_APPID (Optional) defaults to true. Set to false if you do not want the App ID set-up enabled.

What’s Next

To set up your first Tenant and Data Integrator go to the Administration page.

For detailed info on how the concept of Tenants and the Data Integrator role underpin the HRI Multitenancy approach, see the Multitenancy page.