3.5 KiB
3.5 KiB
AGENTS.md
Working agreements
- 做任何事情之前不要猜测,先看代码和现有链路。
- 找最直接的方案解决问题。
- 所有解决的问题都要验证。
- 修改时碰到已有改动无需询问,继续修改,不回滚无关改动。
数据资源
- MySQL、Redis、MQ 都是腾讯云托管资源。
- 数据资源状态入口:
GET /deploy/api/hyapp/resources?remote=1。 - 读取链路:Tencent TAT -> deploy 机器。
- 业务服务器配置优先用 deploy 机器 SSH 读取。
- 业务服务器 SSH 失败时,对对应 CVM 使用 TAT 兜底读取。
- 禁止把 MySQL、Redis、MQ 当服务器 SSH。
- 禁止开放生产 SQL、Mongo 查询入口。
- TAT 未返回前,页面保持加载状态。
微服务
- 微服务列表和详情必须使用
GET /deploy/api/hyapp/discover?remote=1的真实数据。 - 禁止用静态假数据兜底展示微服务运行态。
- 配置 YAML 只在列表右侧三点和详情配置区展示。
- 读取 YAML 时使用
includeConfig=1,密钥字段保持脱敏。
测试 server / testbox
- 测试 server 指 HyApp 后端测试机 testbox:
43.165.195.39/10.11.0.2,实例lhins-q0m38zc6,区域ap-jakarta。 - 测试机根目录固定为
/opt/hyapp-server-test,代码目录为/opt/hyapp-server-test/source。 - 测试机部署不走生产镜像仓库,不摘 CLB;当前模式是测试机拉取远端
test分支。 - 自动更新由
hyapp-server-test-deploy.timer每分钟触发,部署脚本为/opt/hyapp-server-test/bin/deploy.sh。 - 只有 Compose 服务全部 healthy 后,才认为部署成功并写入
/opt/hyapp-server-test/.deployed_commit。 - 测试服务页面必须通过
GET /deploy/api/hyapp/testbox/status读取真实状态,禁止静态假数据兜底。 - 测试服务操作必须走固定 API 和
deploy/tencent_tat/hyapp_testbox_config.py,禁止在页面开放任意 shell。 - 服务操作只允许
update/start/stop/restart,timer 操作只允许start/stop/restart/status。 - 测试机配置读取默认脱敏;除非服务端显式设置
HYAPP_TESTBOX_CONFIG_ALLOW_RAW=1且请求带raw=1,否则不得返回原始密钥。 - 保存配置前必须备份旧文件;包含
***脱敏占位符的配置禁止保存。 - 测试库 migration 只允许列出或执行测试机仓库
source/server/admin/migrations/*.sql,禁止页面手写 SQL。
测试 server 日志 debug
- Debug 前先用
GET /deploy/api/hyapp/testbox/status或python3 deploy/tencent_tat/hyapp_testbox_config.py status --env-file /opt/hy-app-monitor/.env确认真实状态。 - 页面或 API 异常时,先查 deploy-platform 自身:
journalctl -u hyapp-deploy-platform -n 200 --no-pager和docker logs --tail=200 hyapp-deploy-platform。 - 测试机自动部署异常时,查
hyapp-server-test-deploy.timer和hyapp-server-test-deploy.service的journalctl。 - 业务服务异常时,在测试机
/opt/hyapp-server-test/source下查 Docker Compose 项目hyapp-test的ps、logs、inspect。 - 如果
/opt/hyapp-server-test/docker-compose.testbox.yml不存在,Compose 命令只能使用source/docker-compose.yml。 - Debug 过程可以通过 SSH 或腾讯云 TAT 执行只读命令;不要新增生产 SQL、Mongo 查询入口,不要把 MySQL、Redis、MQ 当服务器 SSH。
- 修复后必须验证:刷新测试服务页、调用 status API,或直接运行
hyapp_testbox_config.py status,确认 commit、timer、服务 health 与预期一致。