Advanced Setup

Services in DingoQL

DingoQL consists of two Services

DB service

This service is the core service which connects to all the databases and executes DB queries.

GraphQL service

This service has the following roles:

  1. Hosts the GraphQL enpoint.
  2. Hosts the webapp for DingoQL's admin portal.

DingoQL's DB service

Starting DB service

This service can be started by running dingows.jar as follows

nohup java ./dingows.jar --spring.config.location=./config.yml

Configuring DB service

Edit config.yml to configure DB service.

Field NameField Description
server.portPort on which DB service will be running
spring.datasource.usernameUsername for metadata DB.
spring.datasource.passwordPassword for metadata DB.
spring.datasource.urlUrl for metadata DB. Supports : Postgresql, MySQL, H2 Database
crypto.super-admin-secretA secret key required for doing Super-Admin activities like creating Tenants, reset password etc.

Multi-node setup for DB service

For running DB service on multiple nodes simply run dingows.jar on multiple machines and add to load-balancer. Please make sure the following conditions are satisfied.

  1. All nodes running DB service should point to same metadata DB.
  2. All nodes should have the same crypto.super-admin-secret in config.yml.

Starting DingoQL's GraphQL service

This service can be started by running the node application in dist folder using the following command.

nohup node ./dist/server > dingoapp.log

Configuring GraphQL service

Edit .env to configure GraphQL service.

Field NameField Description
PORTPort on which GraphQL service will be running.
DINGO_WSUrl to DB Service