feat: establish production SaaS foundation

This commit is contained in:
Codex
2026-07-12 19:26:57 +08:00
parent 1c2ce38cea
commit 39f7332f33
219 changed files with 20647 additions and 2628 deletions

View File

@@ -48,7 +48,7 @@ docs/refactor/
```bash
npm run supabase:start
npm run supabase:reset
npm run db:smoke-seed
npm run db:smoke-seed -- --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY
npm run dev:api
```
@@ -60,7 +60,7 @@ npm run docker:api:build
npm run docker:api:up
```
如果 Docker 拉取 `node:20-alpine` 超时,先配置 Docker Desktop 镜像源代理,再重试 `npm run docker:api:build`
API Dockerfile 锁定 `node:20.20.2-alpine3.23` 多架构 manifest最终镜像以 `node` 用户运行,只复制生产依赖和编译产物。若 Docker Hub 超时,先配置受信镜像源/代理并确认拉取到相同 digest,再重试 `npm run docker:api:build`,不要移除 digest 锁定
本地容量预演可以使用专门的 benchmark override
@@ -89,10 +89,10 @@ npm run pb:import:validate
- Docker Desktop 可用。
- Supabase 本地容器可启动。
- API Dockerfile 已验证可构建benchmark override 可启动受限 API 容器并通过短压测 smoke。
- API Dockerfile 已验证可构建;最终镜像约 `53 MB`、生产 `node_modules``24.3 MB`,不含 TypeScript/tsxUID 为 `1000(node)`,连接隔离测试库通过 `/health`benchmark override 可启动受限 API 容器并通过短压测 smoke。
- `supabase db reset` 可完整执行三份 migration 和 seed。
- `supabase db reset` 可完整执行全部 migration 和 seed。
- `npm run db:smoke-seed`恢复最小业务烟测数据。
- `npm run db:smoke-seed -- --confirm=SMOKE_SEED_LOCAL_OR_CI_ONLY` 只能在已标记为 `local/test/ci` 的隔离库恢复最小业务烟测数据。
- `platform-admin` 可完成平台概览、租户创建、订阅、账单生成、人工收款确认、使用量记录。
- API `/health` 可连 PostgreSQL 并返回 `db: ok`
- API `/api/tenant/resolve?host=localhost` 可解析主租户。