FTL Server Configuration

In a single configuration file you can specify all the values for a localized cluster of cooperating FTL servers, along with the services they provide.

Configure FTL servers in a configuration file in YAML format.

One FTL server command line parameter specifies the file name of the configuration file. A second command line parameter selects one named configuration from within that file.

For clarity, it is good practice to specify sections in the order listed in the following table. You may omit optional sections.

(For FTL services that previously were executable component processes in Release 5.x and earlier, parameter semantics are analogous to the command line parameters of those executable components.)

Note: Configuration file examples throughout the documentation set are for explanatory purposes. If you copy and paste excerpts from these examples, ensure that the resulting configuration file obeys correct YAML syntax and specifies a valid configuration.

Example Configuration File for FTL Servers

globals:  # These values apply to all servers.

    core.servers: # The set of core servers and their locations.
        ftl1: host1:8585
        ftl2: host2:8585
        ftl3: host3:8585

    # All servers inherit this value.
    auth.url: file:///myhome/ftlserver/secure/myauthfile.txt

    # All services can inherit this loglevel value.
    loglevel: all:warn;transports:info

services:

    # All bridge services inherit and run these 2 bridges.
    bridge:
        names:
        - bridgeA
        - bridgeB

    eftl:
        # For eftl services, override the inherited loglevel value.
        loglevel: debug

servers:
    ftl1:
        - realm:      
          # Override inherited loglevel value for this realm service only.
          loglevel: debug
        - persistence:
            # Persistence service names must be unique; no inheritance.
            name: p1
        - bridge: {}

    ftl2:
        - realm: {}
        - persistence:
            name: p2
        - bridge: {}
        - eftl: {}

    ftl3:
        - realm: {}
        - persistence:
            name: p3
        - eftl: {}

Sections in the FTL Server Configuration File

Section Description
globals: Required.
The globals section can contain any of the following items:
  • Key/value pairs that directly affect the operation of FTL servers.
  • Key/value pairs that all applicable services can inherit. You can override these values in global service sections, or in the individual service sections within any server section.
services: Optional.

The global services section can contain a section for each type of service (for example, realm, persistence, bridge, eftl). It can also contain an ftl section with parameters that apply to the FTL server as a whole, but are not inherited by other services or servers.

Within each global service section you can specify key/value pairs that apply (through inheritance) to all instances of a that service in any FTL server. These values override values inherited from the globals section. You can, in turn, override these values in the individual service sections within any server section.

Specifying a global service section does not imply that every FTL server provides that service.

servers: Optional.

The servers section contains a map of the FTL servers you are configuring. Each item in the map pairs a server name with a list of services that the server provides. The map must contain an item configuring each core server, and may also include optional items configuring auxiliary servers.

Each FTL server item in this map begins with a unique name. The FTL server command line parameter --name selects one of the server names from this map. The resulting process instantiates an FTL server with that name.

For each server, configure a list of services that that server provides. An FTL server provides a service if and only if the service is configured at this level.

Within each server section you may override key/value pairs inherited from the global section or a global service section.

You may omit the servers section if the file specifies only one core server, and specifies its extended server name with host and port.