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.pguser account.

  • 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 rejoin or stop.

  • 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.