On this page you will learn how to connect your Kong Gateway to Obsidian Boomi´s API Control Plane step-by-step.
Overview of this Guide
...
Prerequisites
The following is required to proceed:
A running Obsidian instance
{tenant-id}.frontend.obsidian.local
instance of Boomi´s API Control PlaneAccess to the instance of your Kong Gateway (Open Source)
The Kong Gateway needs a database, otherwise neither applications nor subscriptions can be created.
Docker to use the image of our agent (that acts as an intermediary)
Create a new Environment in Obsidian
To get started, simply open your Obsidian instance and follow the instructions below.
Add an Environment for Kong
Navigate to “Environments” in the menu on the left side
Click on the “Create New Environment” button
...
Fill in the form (as exemplarily shown below)
...
Confirm by clicking on the "Create New Environment" button
Request an Environment Token
Click on the “Request Token” button
Copy & save the token that appears above (it will be needed later)
...
You’ve completed the first step!
...
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Provide the Gateway Information
The following describes how to create the gateway configuration for a Kong Gateway Agent.
Gateway Configuration
Create a new YAML file:
Code Block | ||
---|---|---|
| ||
type: KONG
url: {url-to-gravitee-management-api} |
...
url
: Insert the URL to your Kong Management API
Example
...
language | yaml |
---|
...
If you are not sure whether you got the correct URL, you can try to access <URL>/services or <URL>/consumers. Both should return a valid response and no errors.
Your configuration file will download automatically.
Confirm by clicking on the "Download and Next" button
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:
# Kong Gateway Agent
spring-kong-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/kongConfig.yaml'
volumes:
- {path-to-the-agent-config-created-in-step-2}:/workspace/kongConfig.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:
# Kong Gateway Agent
spring-kong-agent:
image: ghcr.io/apiida/obsidian-agent:latest
environment:
- 'agentToken=4:2d41627a-88de-4a92-ab4b-6e92c33aa07a'
- 'backendUrl=wss://example.backend.obsidian.local/jsonRpc'
- 'gateway-config=/workspace/kongConfig.yaml'
volumes:
- ./kongConfig.yaml:/workspace/kongConfig.yaml:rw |
You’ve completed the third step!
You're ready to establish the connection between Obsidian and your Kong Gateway.
Establish the connection
Establish the connection between Obsidian and your Kong 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 |
...
Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
...
Repeat this guide or that of another gateway and simply add the agents to the existing Docker compose file.
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Head over to your Obsidian instance
Select “Environments” in the menu on the left side
Your Kong Gateway should now be connected to Obsidian
...
You’ve completed the last step!
You can now interact with your Kong Gateway through Obsidian. Try it right now and discover your APIs!
💡 Tip: It is easy to add more agents!
|
...