; ============================================
; FileCenter Master 节点配置文件
; ============================================

; ==================== 节点基础配置 ====================
[node]
; 节点类型：固定为 master，标识当前节点为主节点
type = master
; 节点唯一标识，集群中每个节点的 id 必须唯一
id = master-01
; 监听地址，0.0.0.0 表示监听所有网络接口
listen_host = 0.0.0.0
; 节点间内部通信端口（用于 master 与 storage 之间的心跳、元数据同步等）
listen_port = 9000
; 数据存储目录，用于存放运行时产生的临时数据
data_dir = ./data/master
; 日志输出目录
log_dir = ./logs
; 日志级别：debug / info / warn / error / fatal
log_level = info

; ==================== Master 业务配置 ====================
[master]
; 副本因子，控制每个分片需要存储的副本数量
; 设为 1 表示单副本（无冗余），设为 2 表示双副本（容错 1 台 storage 宕机）
; 注意：可用 storage 节点数必须 >= replication_factor，否则上传会报错
replication_factor = 1
; 分片大小（单位：字节），默认 64MB（67108864）
; 文件被切分为多个 chunk，每个 chunk 的大小由此参数控制
; 过小的分片会增加元数据开销，过大的分片会降低并发上传效率
chunk_size = 67108864
; 心跳超时时间（单位：秒），超过此时间未收到心跳的 storage 节点将被标记为离线
heartbeat_timeout = 30
; 离线节点清理间隔（单位：秒），定期清理长时间离线的节点记录
node_cleanup_interval = 60
; 负载均衡调度间隔（单位：秒），定期检查集群负载并触发 chunk 迁移
rebalance_interval = 3600
; 元数据持久化存储目录，用于保存文件索引、分片位置等元数据信息
metadata_dir = ./data/master/metadata
; 对外 HTTP API 服务端口（用于客户端上传、下载、文件管理等操作）
api_port = 8000
; 数据完整性扫描间隔（单位：秒），定期扫描检查所有分片数据的完整性，默认 24 小时
scan_interval = 86400
; 每次完整性扫描时，一批次处理的分片数量，防止一次性加载过多分片导致内存飙升
scan_batch_size = 100
; 上传会话有效期（单位：秒），超过此时间未完成的上传会话将被自动清理，默认 1 小时
session_ttl = 3600
; 过期上传会话清理检查间隔（单位：秒），定期扫描并清理过期会话
session_cleanup_interval = 3600

; ==================== 安全配置 ====================
[security]
; 是否启用接口认证，开启后所有 API 请求需要携带有效的 token
enable_auth = false
; 认证令牌，当 enable_auth = true 时，客户端须在请求头中携带此 token
token =
; 是否启用 TLS/SSL 加密通信（HTTPS）
enable_tls = false
; TLS 证书文件路径（enable_tls = true 时必填）
cert_file =
; TLS 私钥文件路径（enable_tls = true 时必填）
key_file =
; 是否启用 IP 白名单访问控制
enable_ip_whitelist = false
; 允许访问的 IP 列表，多个 IP 用逗号分隔，例如：192.168.1.100,192.168.1.101
allowed_ips =

; ==================== 日志配置 ====================
[log]
; 日志输出级别：debug / info / warn / error / fatal
level = info
; 日志文件输出路径，留空则仅输出到控制台
file =
; 单个日志文件的最大大小（单位：MB），超过此大小会自动滚动
max_size = 100
; 保留的旧日志文件最大数量，超过此数量的旧日志将被自动删除
max_backups = 10
; 旧日志文件的最大保留天数，超过此天数的日志将被自动清理
max_age = 30
; 是否启用旧日志文件的 gzip 压缩，开启后可节省磁盘空间
compress = true