Configuration Reference

The main sections of a configuration file are:

The configuration also allows the use of environment variables.

SM Cloud Credentials

This section specifies how to connect to the Sight Machine cloud. These settings are used for both uploading data and accessing the FTX platform via MA as well as other features that require cloud connectivity.

In order to do this, the following environment variables must be configured.

  • FTX_CLOUD_URL - The full url of your service environment (e.g: https://customer.sightmachine.io)

  • FTX_CLOUD_KEY - Edge API key used to connect to the Sight Machine platform

  • FTX_CLOUD_KEY_ID - Edge API key ID used to connect to the Sight Machine platform

Note:

  • If configured correctly, it will result in a connection to cloud, and retries if the connection fails at a later time

  • If configured incorrectly (bad url/api_key/id), it will result in repeated retries to connect to cloud

  • If FTX cloud vars are being omitted completely, it will result in no retries to connect to cloud

To get an api_key and api_key_id for the Sight Machine platform, please refer to the Getting an API key section of the Quickstart guide.

Extra Hosts

This section specifies how to add extra hosts entries to FTX’s /etc/hosts. These settings are used for adding custom hosts file entries needed in certain environments that require the use of hostnames instead of IP addresses but without reliable DNS.

In order to do this, the following configuration option must be configured.

Example:

The specified hosts entries can be used in subsequent configuration sections by using the hostname instead of the IP address.

e.g. If we want to specify a hostname -> ip resolution of some.host.com to 8.8.8.8, and other.host.com to 1.2.3.4, our configuration will look something like this:

{
    "extra_hosts": [
        {
            "hostname": "some.host.com",
            "ip": "8.8.8.8"
        },
        {
            "hostname": "other.host.com",
            "ip": "1.2.3.4"
        }
    ],
    "data_receiver": [
        {
            "data_receiver_name": "my_receiver",
            "connections": [
                {
                    "host": "some.host.com"
                }
            ]
        }
    ],
    "data_transmit": [{}]
}

Receivers

The data_receiver section contains settings for connecting to a data source, reading the input stream, and if necessary, parsing the received data. Settings for a data receiver will vary depending on the protocol of the data receiver.

FactoryTX has a few built-in data receivers available:

For information about available parsers and their configurations, please refer to the Parsers Configurations section.

To create your own custom receiver, please refer to the Creating a custom receiver guide in Tutorials.

Transforms

The transforms section contains settings for transforming the records received from the data receivers before passing them to data transmits for upload. Transforms are a receiver-independent way to manipulate and clean data.

FactoryTX has a few built-in transforms ready to be used:

To indicate that no transforms are needed, set transforms to an empty list ([]).

To create your own custom transform, please refer to the Creating a custom transform guide in Tutorials.

Transmits

The data_transmit section contains settings for transmitting the records to the Sight Machine cloud for storage and consumption.

Currently, FactoryTX has two options for transmitting data: