- 移除 confs 依赖:删 Conf.hpp 与 confs/configs/ca.ini,配置加载改为 CLI > 环境变量 > 默认值三层(与 dnfs2 同模式) - 新增 16 个配置选项,env 以 CA_* 为主并兼容旧名(LISTEN_ADDR/UPSTREAM_GATEWAY/DB_* 等),启动时配置完整性校验 - 原 ca.ini 配置值迁入 core/services.yaml ca 条目 args - 修复伪造 Token 触发 500:verify_token 统一捕获 RSA 验签异常,按验签失败返回 401(符合黑盒 B3/B4 契约) - 同步更新 ca/README.md 与根 README.md
145 lines
3.8 KiB
YAML
145 lines
3.8 KiB
YAML
# core/services.yaml
|
||
# 声明式服务启动配置
|
||
#
|
||
# 字段说明:
|
||
# name 服务唯一标识(用于日志和未来注册中心)
|
||
# cmd 启动命令
|
||
# args 传递给 _run.sh 的命令行参数列表(可选)
|
||
# env 启动前设置的环境变量(可选)
|
||
# depends_on 依赖的服务名列表(未来 DAG 拓扑排序用,当前仅记录)
|
||
# sleep_before 启动前等待秒数(替代散落在 _run.sh 中的 sleep)
|
||
|
||
services:
|
||
# --- 数据层(最先启动) ---
|
||
- name: db2
|
||
cmd: bash /opt/micro_servers/db2/_run.sh
|
||
args: ["--instance", "db2", "--log-level", "info"]
|
||
depends_on: []
|
||
sleep_before: 0
|
||
|
||
# --- AI 审核 ---
|
||
- name: ai_review
|
||
cmd: bash /opt/micro_servers/ai_review/_run.sh
|
||
args: ["--instance", "ai_review", "--log-level", "info"]
|
||
depends_on: [db2]
|
||
sleep_before: 2
|
||
|
||
# --- 文件服务 ---
|
||
- name: dnfs2
|
||
cmd: bash /opt/micro_servers/dnfs2/_run.sh
|
||
args:
|
||
- "--instance"
|
||
- "dnfs2"
|
||
- "--log-level"
|
||
- "info"
|
||
- "--host"
|
||
- "127.0.0.1"
|
||
- "--port"
|
||
- "8006"
|
||
- "--db-host"
|
||
- "127.0.0.1"
|
||
- "--db-port"
|
||
- "8005"
|
||
- "--db-timeout"
|
||
- "10"
|
||
- "--review-url"
|
||
- "http://127.0.0.1:8007/review"
|
||
- "--review-timeout"
|
||
- "10"
|
||
- "--gateway-url"
|
||
- "http://127.0.0.1:8443/whoami"
|
||
- "--gateway-timeout"
|
||
- "5"
|
||
depends_on: [db2, ai_review]
|
||
sleep_before: 0
|
||
|
||
# --- 邮件服务 ---
|
||
- name: smtp
|
||
cmd: bash /opt/micro_servers/smtp/_run.sh
|
||
args: ["--instance", "smtp", "--log-level", "info"]
|
||
depends_on: []
|
||
sleep_before: 2
|
||
|
||
# --- 前端静态资源 ---
|
||
- name: fsys
|
||
cmd: bash /opt/micro_servers/fsys/_run.sh
|
||
args: ["--instance", "fsys", "--log-level", "info"]
|
||
depends_on: []
|
||
sleep_before: 0
|
||
|
||
# --- 安全链路 ---
|
||
- name: waf
|
||
cmd: bash /opt/micro_servers/waf/_run.sh
|
||
args: ["--instance", "waf", "--log-level", "info"]
|
||
depends_on: [ca, gateway]
|
||
sleep_before: 0
|
||
|
||
- name: ca
|
||
cmd: bash /opt/micro_servers/ca/_run.sh
|
||
args:
|
||
- "--instance"
|
||
- "ca"
|
||
- "--log-level"
|
||
- "info"
|
||
# --- v1.1.0:配置全部经 CLI 传递(原 confs/configs/ca.ini 迁入) ---
|
||
- "--host"
|
||
- "127.0.0.1"
|
||
- "--port"
|
||
- "8443"
|
||
- "--upstream-gateway"
|
||
- "http://127.0.0.1:8445"
|
||
- "--token-keep-time"
|
||
- "3600"
|
||
- "--token-refresh-grace-multiplier"
|
||
- "2"
|
||
- "--token-max-refresh"
|
||
- "10"
|
||
# 管理员白名单(分号分隔):登录命中时 Token 写入 is_admin=true
|
||
- "--admin-users"
|
||
- "1776177662@qq.com;277665039@qq.com"
|
||
- "--cors-origins"
|
||
- "https://qsont.me;https://www.qsont.me;http://127.0.0.1:8443;http://localhost:8443"
|
||
- "--ws-proxy-routes"
|
||
- "/ws/aibox=ws://127.0.0.1:8765"
|
||
- "--db-host"
|
||
- "127.0.0.1"
|
||
- "--db-port"
|
||
- "8005"
|
||
- "--captcha-host"
|
||
- "127.0.0.1"
|
||
- "--captcha-port"
|
||
- "8009"
|
||
- "--smtp-host"
|
||
- "127.0.0.1"
|
||
- "--smtp-port"
|
||
- "8008"
|
||
depends_on: [db2]
|
||
sleep_before: 2
|
||
|
||
- name: gateway
|
||
cmd: bash /opt/micro_servers/gateway/_run.sh
|
||
args: ["--instance", "gateway", "--log-level", "info"]
|
||
depends_on: [db2]
|
||
sleep_before: 2
|
||
|
||
# --- 验证码 ---
|
||
- name: captcha2
|
||
cmd: bash /opt/micro_servers/captcha2/_run.sh
|
||
args: ["--instance", "captcha2", "--log-level", "info"]
|
||
depends_on: []
|
||
sleep_before: 1
|
||
|
||
# --- AI 工具箱 ---
|
||
- name: aibox
|
||
cmd: bash /opt/micro_servers/aibox/_run.sh
|
||
args: []
|
||
depends_on: []
|
||
sleep_before: 0
|
||
|
||
# --- 端口重定向(最后启动) ---
|
||
- name: redirect80
|
||
cmd: bash /opt/micro_servers/redirect80/_run.sh
|
||
args: ["--instance", "redirect80", "--log-level", "info"]
|
||
depends_on: [waf]
|
||
sleep_before: 0
|