完善配置密钥治理与启动校验
- 为 configuration.py 增加环境变量占位符解析、配置归一化、脱敏快照与启动校验\n- 在 main.py 启动阶段接入配置校验日志,并在致命缺项时阻止进程继续启动\n- 新增 config.example.yaml,并将默认 config.yaml 改为安全占位模板,移除仓库内明文敏感信息\n- 调整 docker-entrypoint.sh 与文档,统一说明配置复制、环境变量注入与当前优化进展
This commit is contained in:
51
README.MD
51
README.MD
@@ -126,28 +126,49 @@ sudo apt-get install -y fonts-noto-color-emoji fonts-noto-cjk fonts-wqy-microhei
|
||||
|
||||
### 1. 配置文件
|
||||
|
||||
配置文件位于 `config.yaml`,包含以下主要配置项:
|
||||
推荐先复制 `config.example.yaml` 为 `config.yaml`,再通过环境变量注入敏感信息:
|
||||
|
||||
```bash
|
||||
# Linux / Mac
|
||||
cp config.example.yaml config.yaml
|
||||
export ABOT_DB_PASSWORD="你的数据库密码"
|
||||
export ABOT_LLM_DIFY_WORKFLOW_CHAT_API_KEY="你的 Dify Key"
|
||||
|
||||
# Windows PowerShell
|
||||
Copy-Item config.example.yaml config.yaml
|
||||
$env:ABOT_DB_PASSWORD="你的数据库密码"
|
||||
$env:ABOT_LLM_DIFY_WORKFLOW_CHAT_API_KEY="你的 Dify Key"
|
||||
```
|
||||
|
||||
`config.yaml` 现已支持 `${ENV_NAME}` / `${ENV_NAME:默认值}` 两种写法:
|
||||
|
||||
- `${ABOT_DB_PASSWORD}`:必须由环境变量提供,否则启动时报错
|
||||
- `${ABOT_DB_HOST:127.0.0.1}`:若环境变量缺失,则回退默认值
|
||||
|
||||
启动时系统会自动执行配置完整性检查,并在日志中输出脱敏后的配置快照。包含以下主要配置项:
|
||||
|
||||
#### 数据库配置
|
||||
|
||||
```yaml
|
||||
db_config:
|
||||
pool_name: "wechat_boot_pool"
|
||||
pool_size: 10
|
||||
host: "your-db-host"
|
||||
user: "your-db-user"
|
||||
password: "your-db-password"
|
||||
database: "message_archive"
|
||||
charset: "utf8mb4"
|
||||
pool_name: "${ABOT_DB_POOL_NAME:wechat_boot_pool}"
|
||||
pool_size: "${ABOT_DB_POOL_SIZE:10}"
|
||||
host: "${ABOT_DB_HOST:127.0.0.1}"
|
||||
port: "${ABOT_DB_PORT:3306}"
|
||||
user: "${ABOT_DB_USER:root}"
|
||||
password: "${ABOT_DB_PASSWORD}"
|
||||
database: "${ABOT_DB_NAME:message_archive}"
|
||||
charset: "${ABOT_DB_CHARSET:utf8mb4}"
|
||||
```
|
||||
|
||||
#### Redis配置
|
||||
|
||||
```yaml
|
||||
redis_config:
|
||||
host: "your-redis-host"
|
||||
port: 6379
|
||||
db: 0
|
||||
host: "${ABOT_REDIS_HOST:127.0.0.1}"
|
||||
port: "${ABOT_REDIS_PORT:6379}"
|
||||
password: "${ABOT_REDIS_PASSWORD:}"
|
||||
db: "${ABOT_REDIS_DB:0}"
|
||||
decode_responses: true
|
||||
```
|
||||
#### ipad 客户端配置
|
||||
@@ -272,9 +293,9 @@ abot/
|
||||
### 开发规范
|
||||
|
||||
- 遵循PEP 8编码规范
|
||||
- 添加适当的注释
|
||||
- 编写单元测试
|
||||
- 更新文档
|
||||
- 添加适当的中文注释
|
||||
- 优先补齐文档与人工验证步骤
|
||||
- 敏感配置优先使用环境变量注入
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
@@ -342,4 +363,4 @@ python -m pip install --upgrade pip
|
||||
|
||||
## 🙏 致谢
|
||||
|
||||
感谢所有为本项目做出贡献的开发者。
|
||||
感谢所有为本项目做出贡献的开发者。
|
||||
|
||||
Reference in New Issue
Block a user