feat: P1 profile/portrait API and freeze local-dev environment
Add host-first environment contracts (Local vs CI vs Prod), deps-only compose, and the Profile → Portrait → deep-access mock payment slice with device identity and auto-migrate on API startup. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# Docker Policy — AI Contract
|
||||
|
||||
## Docker SHOULD be used for
|
||||
|
||||
| ✓ | Examples |
|
||||
|---|---|
|
||||
| 依赖数据服务 | PostgreSQL |
|
||||
| 缓存 | Redis(需要时) |
|
||||
| 消息队列 | 需要时再加 |
|
||||
| 对象存储 | MinIO / S3 兼容(需要时) |
|
||||
| 第三方依赖模拟 | mailhog 等(需要时) |
|
||||
| 生产/CI 应用交付 | 不可变 api / web 镜像 |
|
||||
|
||||
## Docker SHOULD NOT be used for
|
||||
|
||||
| ✗ | Why |
|
||||
|---|---|
|
||||
| Go API 日常开发 | 拖慢反馈;用本机 `go run` / `air` |
|
||||
| Vue H5 日常开发 | 拖慢 HMR;用本机 Vite |
|
||||
| Hot reload 工作流 | 禁止「改代码 → docker build → run」 |
|
||||
| 把本机当成迷你 K8s | 违反 constitution:本地反馈速度优先 |
|
||||
|
||||
见 [development.md](development.md) · [environment.md](environment.md)。
|
||||
|
||||
---
|
||||
|
||||
## Local compose(deps only)
|
||||
|
||||
| File | Role |
|
||||
|---|---|
|
||||
| `docker-compose.dev.yml`(仓库根) | **默认本地**:仅依赖服务 |
|
||||
| `deploy/docker-compose.yml` | 与 dev 对齐的依赖入口(兼容旧命令);生产见 prod 文件 |
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.dev.yml up -d
|
||||
```
|
||||
|
||||
**允许的服务(local):** `postgres`(+ 需要时 `redis` / `minio`)
|
||||
**禁止默认加入(local):** `api` · `user-h5` · `worker` · `nginx`
|
||||
|
||||
---
|
||||
|
||||
## Production / CI images
|
||||
|
||||
| Artifact | Location (target) |
|
||||
|---|---|
|
||||
| Backend Dockerfile | `deploy/Dockerfile.api`(按需新增) |
|
||||
| H5/Nginx Dockerfile | `deploy/Dockerfile.user-h5`(按需新增) |
|
||||
| Prod compose / K8s | `deploy/docker-compose.prod.yml` 等 |
|
||||
|
||||
生产镜像规则见 [deployment.md](deployment.md):禁止 `latest`;语义化版本或 git SHA。
|
||||
|
||||
---
|
||||
|
||||
## AI MUST NOT
|
||||
|
||||
- 把「本地开发」文档写成只能 `docker compose up` 全栈。
|
||||
- 在业务 PR 里强制同事每次改代码都 build 应用镜像。
|
||||
- 将 `.env` 秘密 `COPY` 进镜像。
|
||||
- 混用 `docker-compose.dev.yml` 与 prod 环境变量文件。
|
||||
|
||||
---
|
||||
|
||||
## When full-stack compose is OK
|
||||
|
||||
仅当任务明确是:
|
||||
|
||||
- 验证 prod compose / 镜像入口
|
||||
- CI integration job
|
||||
- 演示「一键依赖+应用」给非开发角色(仍非日常编码默认)
|
||||
Reference in New Issue
Block a user