Skip to content

Connect

Connect your database to Inconvo with a docker conatiner we provide called "Inconvo Connect". This container manages the database connection, syncs the schema to Inconvo and is responsible for querying data from the database.

Host Inconvo Connect Container

Inconvo Connect is a docker container that hosts an express server and exposes two methods on the /inconvo endpoint.

MethodPurpose
GETRetrieve database schema
POSTConnect the database to retrieve the appropriate data
  • Deploy Inconvo Connect in your VPC and allow inbound HTTPS traffic.
  • The Inconvo API will only send requests to an Inconvo Connect endpoint that has a valid HTTPS certificate.
  • The Inconvo API will send its message with the following additional data as HTTP headers:
HeaderDescription
inconvo-timestampThe timestamp that the message was issued
inconvo-randomA server-side generated random string
inconvo-signatureA hash-based message authentication code generated from a combination of the timestamp, the random number, and the message itself, using a shared signing secret between that API and the Connect endpoint.
  • On receipt of a message Inconvo Connect will validate that all the appropriate data is provided and that the message is recent.

  • Using the shared signing secret Inconvo connect will generate its own hash based message authenticate code with the detail provided in the request and ensure that the signatures match.

  • If the signatures match then the message could have only originated from Inconvo as any other party would not know the signing secret needed to generate the HMAC.

VPC (Optional)

  • Deploy Inconvo Connect inside your VPC ( not publicly accessible)
  • Establish a Site-to-Site VPN between your VPC and the Inconvo VPC.
  • Configure the security group to allow HTTPS traffic to the security group attached to Inconvo Connect where the source address is within the Inconvo VPC CIDR range.
  • Configure the VPN to block all other traffic.

Deploy

Simply set the following environment variables then deploy.

Terminal window
INCONVO_DATABASE_URL="postgresql://username:password@host:2468/db"
INCONVO_SECRET_KEY="ss-prod-XYZ"
INCONVO_API_KEY="XYZ"

Connect to Inconvo

Simply go to the connect tab in Inconvo and paste the URL of your deployed Inconvo Connect.

Link Connect