Skip to main content

Integrations Controller

In order to run integrations, you must configure the Integrations Controller. The Integrations Controller provides basic configurations for all of the brokers and integrations in your Moogsoft Onprem instance beyond the configurations assigned through broker profiles.

This is a reference for the Integrations Controller configuration file, which is located at $MOOGSOFT_HOME/config/controller.conf.

identifier

Unique name and identifier of the Integrations Controller.

Type

String

Required

No

Default

If not defined, an identifier is automatically generated on the first start up and defined in this file.

host

Hostname for the webserver on the Integrations Controller. We recommend leaving this as 0.0.0.0

Type

String

Required

Yes

Default

0.0.0.0

port

Port for the webserver on this Integrations Controller. We recommend leaving this as 8086. If you change this, you will need to amend the integrations paths in your Nginx configurations to use the new port.

Type

String

Required

Yes

Default

8086

start_internal_broker

When true, starts a broker alongside the Integrations Controller.

Type

Boolean

Required

Yes

Default

true

webhost

Address of the web host, used as the outwards facing URL for integrations.

Type

String

Required

No

Default

The value of the webhost field in the servlets.conf file.

moogsvr_host

The address of moogsvr.

Type

String

Required

Yes

Default

The value of the webhost field.

port_range_min and port_range_max

Port range for the Integrations Controller to use for integrations that are running on the internal broker. These ports must be open on the machines that brokers are running on.

Type

Integer

Required

No

Default

The values specified in system.conf.

jwt

Configures the JSON web token (JWT) management for broker installation and communication with the Controller.

Type

Object

Required

Yes

Default

N/A

Valid Values

See the secret_key, broker_init_token_days_to_live and token_leeway_seconds properties below.

secret_key

Base 64 encoding of the secret key to sign JWT tokens. If you are running multiple instances of the Controller, you must synchronize the same key across your instances.

Type

String

Required

No

Default

If not defined, a secret key is automatically generated on the first start up and defined in this file.

broker_init_token_days_to_live

How many days a broker initialisation token remains active.

Type

Integer

Required

Yes

Default

7

token_leeway_seconds

How much leeway (in seconds) is given when checking a token's expiry.

Type

Integer

Required

Yes

Default

60

external_proxy

An optional proxy for external requests for files available outside the network at integrations-downloads.s3.amazonaws.com.

Type

Object

Required

No

Default

Contains the following fields:

  • host: Host of proxy server (required).

  • port: Port of proxy server (required).

  • username: Basic authentication username for proxy server (optional).

  • password: Basic authentication password for proxy server (required if you set username).

  • encrypted_password: Encrypted basic authentication password for proxy server (required if username is set). See the Moog Encryptor for more information.

Example

An example Integrations Controller configuration is as follows:

{
    "identifier" : "dc9873f4_309c_4ab4_9e00_96ddfdfedecc",
    "host" : "0.0.0.0",
    "port" : 8086,
    "start_internal_broker" : true,
    "webhost": "https://localhost",
    "moogsvr_host": "http://localhost:8085",
    "port_range_min": 50000,
    "port_range_max": 51000,
    "jwt" :
    {
        "secret_key" : "/9MiQ5gA+WKV1vp/Fo96fbZdQBY4IEh/TL4RbqPRF6M=",
        "broker_init_token_days_to_live" : 7,
        "token_leeway_seconds" : 60
    },
    "external_proxy":
    {
        "host"    :"localhost",
        "port"    :8888,
        "username":"user",
        "encrypted_password":"e5uO0LY3HQJZCltG/caUnVbxVN4hImm4gIOpb4rwpF4="
    }
}