Configuration

The Symphony Generator creates a basic configuration file that assumes a fully cloud-hosted Symphony pod architecture. In this scenario, the pod, key manager and agent are all hosted on the same domain e.g. develop2.symphony.com. If your pod architecture is different and you have other connectivity requirements like a network proxy, you will need to add those options to your configuration file.

If you are using the BDK for Java's Spring Starter, the BDK configuration is embedded within Spring's configuration file under the bdk section

host: develop2.symphony.com
bot:
  username: bdk-bot
  privateKey:
    path: rsa/privatekey.pem

Basic Configuration Structure

PropertyDescription

host

Global hostname

port

Global port

scheme

https or http

context

Context path (e.g. /abc)

pod agent keyManager

Contains component details including host, port, scheme, context and proxy attributes

bot

contains bot metadata including username, privateKeyPath, certificatePath andcertificatePassword

app

contains extension app metadata including appId, privateKeyPath, certificatePath, and certificatePassword

ssl

contains trustStore and trustStore password for SSL communication

Datafeed Configuration Structure

Property

Description

version

version of the datafeed service to be used. By default, the bot will use the datafeed v2 service.

idFilePath

the path to the file which will be used to persist a created datafeed id in case the datafeed service v1 is used

retry

the specific retry configuration can be used to override the global retry configuration. If no retry configuration is defined, the global one will be used.

Retry Configuration Structure

Property

Description

maxAttempts

maximum number of retry attempts that a bot is able to make

multiplier

after each attempt, the interval between two attempts will be multiplied by this factor

initialIntervalMillis

the initial interval between two attempts

maxIntervalMillis

the limit of interval between two attempts. For example, if the current interval is 1000 ms, multiplier is 2.0 and the maxIntervalMillis is 1500 ms, then the interval for the next retry will be 1500 ms.

An example customized configuration file is seen below:

scheme: https
host: localhost.symphony.com
port: 8443

pod:
  host: dev.symphony.com
  port: 443

agent:
  context: agent

keyManager:
  host: dev-key.symphony.com
  port: 8444

sessionAuth:
  host: dev-session.symphony.com
  port: 8444

bot:
  username: bot-name
  privateKeyPath: path/to/private-key.pem
  certificatePath: /path/to/bot-certificate.p12
  certificatePassword: changeit

ssl:
  trustStorePath: /path/to/all_symphony_certs_truststore
  trustStorePassword: changeit

app:
  appId: app-id
  privateKeyPath: path/to/private-key.pem

datafeed:
  version: v1
  retry:
    maxAttempts: 6
    initialIntervalMillis: 2000
    multiplier: 1.5
    maxIntervalMillis: 10000

retry:
  maxAttempts: 6
  initialIntervalMillis: 2000
  multiplier: 1.5
  maxIntervalMillis: 10000

Last updated