# Consul配置文件
# 此文件包含Consul的完整配置，包括变量和存储相关设置

# 基础配置
data_dir = "/opt/consul/data"
raft_dir = "/opt/consul/raft"

# 启用UI
ui_config {
  enabled = true
}

# 数据中心配置
datacenter = "dc1"

# 服务器配置
server = true
bootstrap_expect = 3

# 网络配置
client_addr = "0.0.0.0"
bind_addr = "{{ GetInterfaceIP `eth0` }}"
advertise_addr = "{{ GetInterfaceIP `eth0` }}"

# 端口配置
ports {
  dns = 8600
  http = 8500
  https = -1
  grpc = 8502
  grpc_tls = 8503
  serf_lan = 8301
  serf_wan = 8302
  server = 8300
}

# 集群连接
retry_join = ["100.117.106.136", "100.116.80.94", "100.122.197.112"]

# 服务发现
enable_service_script = true
enable_script_checks = true
enable_local_script_checks = true

# 性能调优
performance {
  raft_multiplier = 1
}

# 日志配置
log_level = "INFO"
enable_syslog = false
log_file = "/var/log/consul/consul.log"

# 安全配置
encrypt = "YourEncryptionKeyHere"

# 连接配置
reconnect_timeout = "30s"
reconnect_timeout_wan = "30s"
session_ttl_min = "10s"

# Autopilot配置
autopilot {
  cleanup_dead_servers = true
  last_contact_threshold = "200ms"
  max_trailing_logs = 250
  server_stabilization_time = "10s"
  redundancy_zone_tag = ""
  disable_upgrade_migration = false
  upgrade_version_tag = ""
}

# 快照配置
snapshot {
  enabled = true
  interval = "24h"
  retain = 30
  name = "consul-snapshot-{{.Timestamp}}"
}

# 备份配置
backup {
  enabled = true
  interval = "6h"
  retain = 7
  name = "consul-backup-{{.Timestamp}}"
}