Files
Agent-System/.doc/ops/short-term/2026-09-25-t20-s4-image-batch.md
T

2.0 KiB
Raw Blame History

title, task_id, status, created, updated, owner, task_type, policy_revision, branch, worktree, base_dev_sha, write_scope, mutex, review_state, integration_state, deployment, cleanup, remote_sync
title task_id status created updated owner task_type policy_revision branch worktree base_dev_sha write_scope mutex review_state integration_state deployment cleanup remote_sync
T20 S4 镜像批(代码层):I1/I4 t20-s4-image-batch-2026-09-25 in_progress 2026-09-25 2026-09-25 Cursor hardening AGENTS.md @ 42436f75 feature/t20-s4-image-batch-2026-09-25 .worktrees/t20-s4-image-batch-2026-09-25 42436f754d
deploy/app/Dockerfile
docker-compose.dev.yml
docker-compose.test.yml
docker-compose.main.yml
infra-config done pending blocked_awaiting_authorization pending not_requested

T20 S4 镜像批(代码层):I1/I4

用户目标与授权

  • 来源:planned-tasks-closeout-plan-2026-09-25 P5 批次;设计 T20 I1/I4。
  • 仅代码/compose 层合入;共享环境部署需另授权(I1 卷权限冒烟须在部署窗口做)。

变更清单

ID 变更 文件
I1 Dockerfile 建 appuser(uid/gid 10001)、chown /app、USER appuser;compose app/events 服务 mem_limit/mem_reservation/cpus(dev 1.5g/2g、test 2g/1g、main 3g/1g app) deploy/app/Dockerfile、docker-compose.*.yml
I4 dev(context_init)与 main(goose baseline)统一改挂 extensions_init.sql → 01-extensions.sql;表结构一律走 app goose 迁移 docker-compose.dev.yml、docker-compose.main.yml

验证

  • docker build --check:无警告。
  • 三环境 docker compose config --quiet:PASS;渲染含 mem_limit/cpus/01-extensions.sql。
  • USER appuser 在 healthcheck/entrypoint 前生效。

部署边界(redline)

  • 新卷首次启动顺序:Postgres 扩展 init → app goose 迁移。已建数据卷不受挂载变更影响(init 脚本仅在空卷执行)。
  • 宿主卷权限:data/* 须对 uid 10001 可写;部署窗口先冒烟 /health + 一次写 data。
  • I6(systemd 备份)不在本批;cap_drop ALL 列为后续可选。