feat: add Go workload deployment artifacts and split Ingress routing
This commit is contained in:
@@ -15,10 +15,25 @@ kubectl -n zhinian create secret generic zhinian-rds-ca \
|
||||
--from-file=ca.pem=./path/to/downloaded-rds-ca.pem
|
||||
kubectl apply -f deploy/ack/configmap.yaml
|
||||
kubectl apply -f deploy/ack/secrets.example.yaml # 仅作模板;先替换全部占位值
|
||||
kubectl apply -f deploy/ack/web.yaml -f deploy/ack/worker.yaml \
|
||||
kubectl apply -f deploy/ack/web.yaml -f deploy/ack/go-api.yaml \
|
||||
-f deploy/ack/service.yaml -f deploy/ack/ingress.yaml
|
||||
```
|
||||
|
||||
生产拓扑为 ADR-003 双工作负载:Next.js 只服务页面/静态资源/SSR(不持有任何
|
||||
RDS/服务商凭据,仅共享会话密钥);Go 工作负载 `zhinian-go-api` 独占
|
||||
`/api`、`/uploads`、`/generated-results`,内嵌 WorkerLoop(生产**不部署**
|
||||
Node Worker,`worker.yaml` 已弃用保留)。Ingress 按路径分流:页面 → Web,
|
||||
后端路径 → Go,`/api/internal/worker` → 无端点 deny Service。
|
||||
|
||||
Go 镜像构建:
|
||||
|
||||
```bash
|
||||
docker build -f backend/Dockerfile -t REGISTRY/PROJECT/zhinian-go-api:TAG backend/
|
||||
```
|
||||
|
||||
Go 首次启动时从 `zhinian-go-bootstrap` Secret 读取
|
||||
`ZHINIAN_BOOTSTRAP_ADMIN_*`,仅当不存在任何超级管理员时创建一次。
|
||||
|
||||
数据库 schema 由部署负责人在发布前手工执行,**不部署迁移 Job Pod**(清单
|
||||
`deploy/ack/migration-job.yaml` 已弃用保留):使用迁移角色账号依次执行
|
||||
`database/migrations/0001_initial_schema.sql`、`0002_generation_lifecycle_fencing.sql`,
|
||||
|
||||
Reference in New Issue
Block a user