Files
blackbird/core/services.yaml
T
qing 3eafc15602 smtp3: 迁移 smtp.ini 至 CLI args,修复 .env 加载与 TLS SNI
- smtp3/src/main.cpp: 移除 confs 依赖(fetch_config_from_confs/merge_ini),
  扩展 CLI 参数至 16 项(--instance/--log-level/--smtp-port/--code-len 等),
  配置优先级改为 CLI > 环境变量 > 默认值
- smtp3/_run.sh: 新增 ../smtp/.env 加载(与 Python smtp_v2.py 共用凭据),
  传递 "",移除 sleep 1
- smtp3/src/main.cpp: SmtpClient 添加 SSL_set_tlsext_host_name (SNI)
- core/services.yaml: 回退到 smtp (Python),smtp3 待生产验证后切换
- confs/configs/smtp.ini: 已删除(配置迁入 services.yaml CLI args)
- README.md: 移除 smtp.ini 表行,更新部署安全约定
- _inst.sh: 新增 inst_module "smtp3"
2026-08-10 09:44:38 +00:00

178 lines
4.5 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
# --- 邮件服务 ---
# smtp3 已修复 .env 加载 + TLS SNI,待生产验证后切换
- 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