Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

On this page you will learn how to connect your Gravitee Gateway to Obsidian step-by-step.

Overview of this Guide


Prerequisites

The following is required to proceed:

  • A running Obsidian instance {tenant-id}.frontend.obsidian.local

  • Access to the instance of your Gravitee Gateway

  • 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 Gravitee

  • 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)

(tick) You’ve completed the first step!


Provide the Gateway Information

The following describes how to create the gateway configuration for a Gravitee Gateway Agent.

Gateway Configuration

Create a new YAML file:

type: GRAVITEE
url: {url-to-gravitee-management-api}
user: {gravitee-user}
password: {gravitee-password}
  • url: Insert the URL to your Gravitee Management API

  • user/password: Credentials of a user of your Gravitee instance with access rights to the Management API

Example

type: GRAVITEE
url: https://example.com
user: admin
password: mySecretPassword

Q&A

 How do I manage users in Gravitee?

(tick) 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:

version: '3.3'
services:

# Gravitee Gateway Agent

  spring-gravitee-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/graviteeConfig.yaml'
    volumes:
      - {path-to-the-agent-config-created-in-step-2}:/workspace/graviteeConfig.yaml:rw
  • agentToken: Insert the token that you’ve received in the first step

  • backendUrl: Insert your tenant id into the backend URL

  • volume: Add the path to your gateway configuration (the file you’ve created in the second step)

Example

version: '3.3'
services:

# Gravitee Gateway Agent

  spring-gravitee-agent:
    image: ghcr.io/apiida/obsidian-agent:latest
    environment:
      - 'agentToken=2:49add699-c7c0-4c4f-abd8-cb69f5b593d3'
      - 'backendUrl=wss://example.backend.obsidian.local/jsonRpc'
      - 'gateway-config=/workspace/graviteeConfig.yaml'
    volumes:
      - ./graviteeConfig.yaml:/workspace/graviteeConfig.yaml:rw

(tick) You’ve completed the third step!

You're ready to establish the connection between Obsidian and your Gravitee Gateway.


Establish the connection

Establish the connection between Obsidian and your Gravitee 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:

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 Gravitee Gateway should now be connected to Obsidian

(tick) You’ve completed the last step!

You can now interact with your Gravitee Gateway through Obsidian. Try it right now and discover your APIs!


💡 Tip: It is easy to add more agents!

Repeat this guide or that of another gateway and simply add the agents to the existing Docker compose file.

  • No labels