Files
blackbird/core/services.yaml
T
qing 80969adc9b db2: 移除confs依赖,配置全部经CLI传递(CLI > ENV > 默认值)
- db2.cpp: 移除 RpcClient/parse_ini/IniMap,load_config 改为
  默认值 → ENV → CLI 三层;新增 --db-url/--retention-days/
  --max-records/--cleanup-interval CLI 参数
- core/services.yaml: db2 条目展开为完整 CLI 声明(10个配置项)
- db2/README.md: 配置章节重写为 CLI 参数表 + 环境变量表 +
  services.yaml 示例
- README.md: 配置链路移除 db2,confs 配置表删除 db.ini 行

与 ca/redirect80 保持一致的配置模式,db2 不再依赖 confs 服务。
2026-08-10 09:03:28 +00:00

177 lines
4.4 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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"
# --- 配置全部经 CLI 传递(原 confs/configs/db.ini 迁入) ---
- "--host"
- "127.0.0.1"
- "--port"
- "8005"
- "--workers"
- "4"
- "--db-url"
- "sqlite:///database.db"
- "--retention-days"
- "30"
- "--max-records"
- "1000000"
- "--cleanup-interval"
- "3600"
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"
# --- 配置全部经 CLI 传递(原 confs/configs/redirect80.ini 迁入) ---
- "--host"
- "0.0.0.0"
- "--port"
- "80"
- "--redirect-port"
- "443"
- "--redirect-code"
- "301"
depends_on: [waf]
sleep_before: 0