No description
  • Shell 53.1%
  • JavaScript 22.5%
  • HTML 12.3%
  • PowerShell 10.3%
  • Dockerfile 1.8%
Find a file
2026-06-17 10:56:36 +08:00
.forgejo/workflows Initial commit 2026-06-17 10:56:36 +08:00
.qoder Initial commit 2026-06-17 10:56:36 +08:00
deploy/k8s Initial commit 2026-06-17 10:56:36 +08:00
docs Initial commit 2026-06-17 10:56:36 +08:00
scripts Initial commit 2026-06-17 10:56:36 +08:00
sql Initial commit 2026-06-17 10:56:36 +08:00
src Initial commit 2026-06-17 10:56:36 +08:00
templates Initial commit 2026-06-17 10:56:36 +08:00
.env.sandbox.example Initial commit 2026-06-17 10:56:36 +08:00
.gitignore Initial commit 2026-06-17 10:56:36 +08:00
.template-version Initial commit 2026-06-17 10:56:36 +08:00
AGENTS.md Initial commit 2026-06-17 10:56:36 +08:00
CHANGES.md Initial commit 2026-06-17 10:56:36 +08:00
Dockerfile Initial commit 2026-06-17 10:56:36 +08:00
package.json Initial commit 2026-06-17 10:56:36 +08:00
README.md Initial commit 2026-06-17 10:56:36 +08:00
service.yaml Initial commit 2026-06-17 10:56:36 +08:00

Sandbox Service Template

这是给业务开发者使用的 sandbox 服务模板仓库。请从 Forgejo Web 页面使用本模板创建新项目,不要直接在模板仓库中开发。

使用流程

  1. 在 Forgejo 中从 sandbox/sandbox-service-template 创建新仓库(每个新功能一个独立仓库)。
  2. Clone 新仓库到本地。
  3. 用 Qoder 打开整个项目目录。
  4. 运行初始化脚本,填写服务名称和负责人:
    • ./scripts/init-new-service.sh <service-name> <owner> [需求名]
    • ./scripts/init-new-service.ps1 -ServiceName <service-name> -Owner <owner>
  5. .env.sandbox.local 中配置 sandbox MySQL 和老产品测试接口信息(不要提交)。
  6. 请平台为本服务完成一次性“服务注册”(见 docs/service-registration.md)。
  7. 使用 Quest 专家团 + Spec-driven 输入客户需求并开发。
  8. 提交并 Push 到 main,触发自动构建和上线。
  9. 访问 https://sandbox.meos.center/<service> 自测,.../<service>/version 查看版本。

核心边界

  • 每个业务开发者可按需求创建多个 sandbox 服务,每个独立。
  • 每个新服务第一次接入需要平台完成服务注册(创建 per-service Secret、网络策略、读取权限等
  • 只开放 sandbox MySQL不开放 Redis、MQ、ES、对象存储、调度平台等中间件。
  • 只能调用老产品测试环境接口,且接口必须登记在 docs/product-apis/allowed-api-list.md(白名单由平台维护)。
  • 禁止直接读取老产品数据库。
  • sandbox MySQL 凭据不得提交到 Git、代码、日志或通知中。

服务名规范

服务名必须:小写字母开头,仅包含小写字母、数字、连字符,长度 240例如 risklevel-dashboard)。 中文需求名通过初始化脚本的可选参数传入,仅用于展示和通知,不进入镜像 Tag 或 K8S Label。