Application Properties
This page explains the configuration parameters in the application.properties file used by BFM.
- app.bfm-hc-clustername
Description: Name of the cluster. Must be the same on all BFM instances.
Default: None
If empty: Cluster will not form; failover decisions may be inconsistent.
- server.pguser
Description: PostgreSQL username for authentication.
Default: None
If empty: Database connection will fail.
- server.pgpassword
Description: Password for the PostgreSQL user. Must match the
server.pguseraccount.Default: None
If empty: Authentication will fail.
Note: If
bfm.user-crypted=true, this value must be encrypted.
- server.pglist
Description: Comma-separated list of PostgreSQL instances with host and port.
Example:
192.168.1.10:5432,192.168.1.11:5432
- bfm.user-crypted
Description: Indicates if passwords in the config file are encrypted.
Default: true
If set to false: Use plaintext passwords.
If left out: Treated as true (secure by default).
- bfm.use-tls
Description: Enables TLS communication between components.
Default: true
If false: Communication is not encrypted.
If left empty: TLS is expected, and BFM will fail to start without certificates.
- minipg.use-tls
Description: Whether to use TLS for internal MiniPG component.
Default: true
If false: Communication is not encrypted.
- watcher.cluster-port
Description: Port used for communication between BFM nodes in the same cluster.
Default: 9994
If changed: Ensure it does not conflict with other services.
- watcher.cluster-pair
Description: Address of the paired BFM instance (IP:PORT format).
Example:
192.168.1.20:9994
- app.timeout-ignorance-count
Description: Number of missed heartbeats before BFM considers a node unresponsive.
Default: 2
- heartbeat.interval
Description: Interval between heartbeat checks, in seconds.
Default: 10
- heartbeat.query
Description: SQL query used to validate that the PostgreSQL node is alive.
Default:
SELECT 1
- bfm.ex-master-behavior
Description: Behavior of the old master after failover. Can be
rejoinorstop.Default: rejoin
- bfm.basebackup-slave-join
Description: Whether a new slave should use basebackup from the master to rejoin.
Default: true
- bfm.data-loss-tolerance
Description: Acceptable level of data loss during failover. Format: 120K, 10M, 1G
Default: 120K
- bfm.status-file-expire
Description: How long BFM keeps status files before expiration.
Format:
3H(3 hours),1D(1 day)Default: 1H
- bfm.mail-notification-enabled
Description: Enables email notifications on events.
Default: false
- spring.mail.* (group)
Description: SMTP email configuration settings.
Only needed if notifications are enabled.