配置体系
ovra-zero 的服务配置由 toolkit/configloader 统一加载。它会先读取同目录下的 common.yaml,再读取当前服务配置,并递归合并。
默认规则
服务启动时会读取环境变量 ENV:
ENV=dev go run app/auth/auth.go
如果未设置 ENV,默认值为 dev。
默认配置路径:
auth: etc/<ENV>/auth.yaml
system: etc/<ENV>/system.yaml
demo: etc/<ENV>/demo.yaml
公共配置
公共配置文件:
etc/dev/common.yaml
适合放公共能力:
- MySQL
- Redis
- etcd hosts
- JWT
- API 加密
- 签名
- 幂等
- 租户开关
服务配置覆盖
服务配置只放服务特有项,例如端口、服务名、RPC key:
RestConf:
Name: system
Port: 8092
RpcConf:
Name: system
ListenOn: 0.0.0.0:9092
Etcd:
Key: system.rpc
如果服务配置和 common.yaml 有同名字段,服务配置优先。
部署环境建议
建议按环境拆分目录:
etc/dev
etc/docker
etc/prod
容器部署时设置:
ENV=docker
生产环境设置:
ENV=prod