Sections in the FTL Server Cluster Configuration
Provided below is a brief description of each section of the YAML configuration file and a list of all required and optional parameters that can be included in those sections in the context of FTL stores. Parameters not mentioned in the following sections are not supported for use with FTL stores.
globals
The globals section contains parameters that directly affect the operation of the FTL servers in the cluster.
Parameter Name | Description |
---|---|
core.servers
|
This parameter is mandatory. A list of the names of the FTL servers in the cluster along with their location. |
tls.secure
|
The password that was used to encrypt the keystore file. When this parameter is present, all communication between the FTL servers in the cluster will be encrypted. The value for this parameter should be of the form:
where |
auth.url
|
The URL of a flat file with the following contents:
When present, authentication is enabled in the FTL server so that it requires and verifies username and password credentials from coordinating FTL servers in the cluster and from the tibemsjson2ftl and tibftladmin tools. The value for this parameter must be of the form:
This parameter must be set if the |
servers
The servers
section must contain a list of all FTL servers in the cluster. For each server in the list, a sub-list of services whose behavior is to be configured can be specified. No service should be specified more than once for a given server.
The table below details the parameters available to configure each service.
Parameter Name | Description |
---|---|
tibemsd Service Parameters
|
|
exepath
|
This parameter is mandatory and must be configured for each FTL server in the cluster. The path to the tibemsd executable. This executable is located at |
-listens
|
A comma-separated list of one or more listen URLs for the EMS server. This parameter must be used in place of the Refer to the |
-config_wait
|
When this parameter is specified for all
If this parameter is not specified for all See the Server Configuration Upload/Download section for instructions on uploading the EMS configuration to the FTL server cluster. |
-standby_only
|
This parameter informs the FTL server that its EMS server is configured to be Only one of the 3 FTL servers in this section should have this parameter set for its This parameter should not be specified if the configuration is for a standalone FTL server. |
-preferred_active
|
Setting this parameter designates the EMS server as the preferred active server. In situations where either EMS server in the fault-tolerant pair could potentially enter the active state, the server configured with Configuring this parameter for an EMS server does not guarantee that the server will always be in the active state. The preferred active server will enter the standby state if its fault-tolerant peer EMS server is already in the active state. |
-store
|
The path to the directory where the FTL server will write out FTL store-specific data. If not specified, FTL store data will be written to the current working directory by default. |
-monitor_listen
|
The URL at which the EMS server will listen for health check and Prometheus metrics requests. This URL should follow the same syntax as described in the |
-oauth2_server_validation_key
|
The path to the PEM-encoded public key or JWKS to use when validating the signature of OAuth 2.0 access tokens presented by incoming connections.
This parameter should be used in place of the |
-oauth2_audience
|
The expected value of the 'aud' claim in OAuth 2.0 access tokens presented by incoming connections. This parameter should be used in place of the |
load
|
The path to the state file from which the FTL server will load its state information during startup. This parameter is only applicable in the context of restarting an FTL server cluster when See Shutting Down and Restarting an In-Memory Cluster for more information. |
<EMS server command line option>
|
Any EMS server command line option can be included in this section. For example, |
realm Service Parameters
|
|
data
|
The general data directory for the FTL server. This directory will contain all non-FTL store specific data. If not specified, the default is the current working directory. |
drto |
When present, this FTL server cluster recognizes another given FTL server cluster as belonging to a disaster recovery site and attempts to connect to it. Supply a pipe-separated list of the URLs of the FTL servers in the disaster recovery site’s FTL server cluster. Each URL should be of the form:
(You must also configure the disaster recovery FTL servers using the |
drfor
|
When present, this FTL server cluster recognizes that it is in the disaster recovery site for a primary site FTL server cluster. Supply a pipe-separated list of URLs of the FTL servers in the primary site’s FTL server cluster. Each URL should be of the form:
(You must also configure the primary site FTL servers using the |
user
|
The username that the FTL server clusters at the primary and DR sites will use to authenticate each other.
If the authentication data for the primary and DR sites was created based on the steps in Initializing FTL Server Cluster Security, the value passed to this option should be This parameter must be specified if setting up disaster recovery with secure FTL server clusters. |
password
|
The password that the FTL server clusters at the primary and DR sites will use to authenticate each other. The value for this parameter should be of the form:
where This parameter must be specified if setting up disaster recovery with secure FTL server clusters. |
ftlserver.properties Parameters
|
|
logfile
|
The prefix for the filenames of the rolling log files generated by the FTL server. If the prefix includes a directory path, the FTL server’s log files will be generated under that directory. If not, the FTL server will generate its log files in the current directory. Any directories included in the prefix value must already exist. If this parameter is not specified, the FTL server will send log output to the console. |
max.log.size
|
The maximum size of each FTL server log file in bytes. |
max.logs
|
The maximum number of rolling log files that can be created. |
Examples
Example 1
Configuration for a standalone FTL server that does not have security enabled and is using the default data directories.
globals: core.servers: ftls1: host1:8080 servers: ftls1: - tibemsd: -listens: tcp://host1:7222 exepath: /opt/tibco/ems/10.3/bin/tibemsd -config_wait:
Example 2
Configuration for a secure FTL server cluster that specifies generic and FTL store-specific data directories, has logging configured and is also configured to replicate data to a disaster recovery site.
globals: core.servers: ftls1: host1:8080 ftls2: host2:8085 ftls3: host3:8090 tls.secure: file:/opt/deployment/keystore_password_file auth.url: file:///opt/deployment/users.txt servers: ftls1:
- tibemsd: -listens: ssl://host1:7222 exepath: /opt/tibco/ems/10.3/bin/tibemsd -store: /opt/deployment/ftls1/ftlstore_data -config_wait: - realm: data: /opt/deployment/ftls1/ftlserver_data drto: dr_ftls1@host4:8080|dr_ftls2@host5:8085|dr_ftls3@host6:8090 user: admin password: file:/opt/deployment/password_file - ftlserver.properties: logfile: /opt/deployment/ftls1/logs/log max.log.size: 1048576 max.logs: 100 ftls2: - tibemsd: -listens: ssl://host2:7224 exepath: /opt/tibco/ems/10.3/bin/tibemsd -store: /opt/deployment/ftls2/ftlstore_data -config_wait: - realm: data: /opt/deployment/ftls2/ftlserver_data drto: dr_ftls1@host4:8080|dr_ftls2@host5:8085|dr_ftls3@host6:8090 user: admin password: file:/opt/deployment/password_file - ftlserver.properties: logfile: /opt/deployment/ftls2/logs/log max.log.size: 1048576 max.logs: 100 ftls3:
- tibemsd:
-listens: ssl://host3:7226 exepath: /opt/tibco/ems/10.3/bin/tibemsd -store: /opt/deployment/ftls3/ftlstore_data -config_wait: -standby_only: - realm: data: /opt/deployment/ftls3/ftlserver_data drto: dr_ftls1@host4:8080|dr_ftls2@host5:8085|dr_ftls3@host6:8090 user: admin password: file:/opt/deployment/password_file - ftlserver.properties: logfile: /opt/deployment/ftls3/logs/log max.log.size: 1048576 max.logs: 100