On this page, you will learn find a step-by-step guide on how to connect your Azure AWS API Gateway to Obsidian step-by-step.
Overview of this Guide
Table of Contents | ||||||||
---|---|---|---|---|---|---|---|---|
|
Boomi's API Control Plane.
Prerequisites
The following is required to proceed:
A running instance of APIIDA´s Boomi´s API Control Plane
Access to the Amazon Azure API Gateway ServiceManagement with at least one API deployed in a stageservice instance created
Docker to use o utilize the image of our agent (that , which acts as an intermediary)
Create a new Environment
To get started, simply open your API Control Plane instance and follow the instructions below.
Add an Environment for Azure
Navigate to “Environments” in the menu on the left side
Click on the “Create New Environment” button in the top right corner
Fill in the form (as exemplarily shown below)
...
Confirm by clicking on the "Create New Environment" button
Select your Provider
Choose your provider by clicking on it
Confirm by clicking on the "Next" button
...
You’ve completed the first step!
.
Any other container environment is also possible. Helm Charts are available here:
https://github.com/apiida/CPagent-Helm
...
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Provide the Gateway Information
The following describes how to create the gateway configuration for an Azure Gateway Agent.
Gateway Configuration
Create a new YAML file:
Code Block | ||
---|---|---|
| ||
type: AZURE
subscriptionId: {azure-subscription-id}
serviceName: {azure-service-name}
resourceGroupName: {azure-resource-group-name}
tenantId: {azure-tenant-id}
clientId: {azure-client-id}
clientSecret: {azure-client-secret} |
...
serviceName
: The name of your Azure API Management service instance.serviceName
resourceGroupName
: Insert the The name of the resource group that contains your Azure API Management service instance.resourceGroupName
: Insert the namesubscriptionId
: The ID of the resource group that is assigned to your Azure Azure subscription that contains your API Management service instance.tenantId
/clientId
/clientSecret
: Insert the The credentials of an authorized application.
Info |
---|
See our Q&A below if you want to learn more about how to get these values. |
Note |
---|
Currently, each Azure agent is specific to one API Management service. |
Example
Code Block | ||
---|---|---|
| ||
type: AZURE
subscriptionId: abc123ab-c123-abc1-23ab-c123abc123ab
serviceName: my-azure-api-management-service
resourceGroupName: my-azure-api-management-resource-group
tenantId: cba321cb-a321-cba3-21cb-a321cba321cb
clientId: 321cba32-1cba-321c-ba32-1cba321cba32
clientSecret: ~ABC1~23ABC123ABC123ABC123ABC123ABC123AB |
...
Your configuration file will download automatically.
Confirm by clicking on the "Download and Next" button
You’ve completed the second step!
...
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Q&A - ** Look here in case of agent errors
Expand | ||
---|---|---|
| ||
|
Expand | ||
---|---|---|
| ||
We recommend creating an application via Azure Active Directory to access the API Management Service. Below is a description of how to do this and how to obtain the required IDs and the client secret. Step 1 of 2: Create a new Application in Azure Active Directory
Important: Save the secret value, because it will no longer be displayed after you have left the page! Note that the created application must also be assigned to the API Management Service (see Step 2), otherwise there is no link between the API Management service and the Application. Step 2 of 2: Assign the Application to your Azure API Management Service
|
You’ve completed the second step!
Create an Agent as Intermediary
The following describes how to create a Docker container for the agent. It is described using a Docker compose file so that additional agents can be easily added to your docker stack later.
Agent Configuration
Create a docker-compose.yml:
Code Block | ||
---|---|---|
| ||
version: '3.3'
services:
# Azure Gateway Agent
spring-azure-agent:
image: ghcr.io/apiida/obsidian-agent:latest
environment:
- 'agentToken={the-token-requested-in-step-1}'
- 'backendUrl=wss://{your-tenant-id}.backend.obsidian.local/jsonRpc'
- 'gateway-config=/workspace/azureConfig.yaml'
volumes:
- {path-to-the-agent-config-created-in-step-2}:/workspace/azureConfig.yaml:rw |
agentToken
: Insert the token that you’ve received in the first stepbackendUrl
: Insert your tenant id into the backend URLvolume
: Add the path to your gateway configuration (the file you’ve created in the second step)
Example
Code Block | ||
---|---|---|
| ||
version: '3.3'
services:
# Azure Gateway Agent
spring-azure-agent:
image: ghcr.io/apiida/obsidian-agent:latest
environment:
- 'agentToken=3:9b811c57-bdbf-4539-923f-25b7b5c16b4a'
- 'backendUrl=wss://example.backend.obsidian.local/jsonRpc'
- 'gateway-config=/workspace/azureConfig.yaml'
volumes:
- ./azureConfig.yaml:/workspace/azureConfig.yaml:rw |
You’ve completed the third step!
You're ready to establish the connection between Obsidian and your Azure Gateway.
Establish the connection
Establish the connection between Obsidian and your Azure Gateway by starting the Agent (respectively the docker container that contains the agent).
Start your Agent
For example, execute the following command in the directory where the docker compose file is located to start the docker container that contains the agent you have just configured:
Code Block | ||
---|---|---|
| ||
docker-compose up -d |
Check the Agent's Status
Head over to your Obsidian instance
Select “Environments” in the menu on the left side
Your Azure Gateway should now be connected to Obsidian
...
You’ve completed the last step!
You can now interact with your Azure Gateway through Obsidian. Try it right now and discover your APIs!
💡 Tip: It is easy to add more agents!
...