本卡屬 FR-193(母卡 FR-193 母案(同清單上一張)),卡 A2,階段 P1,批 2。只改 evidence-agent。依賴:A0。
出貨包多帶 Docker Engine 完整一組(docker-ce、cli、containerd、compose plugin、rootless extras、uidmap、slirp4netns、dbus-user-session 與相依),四個支援的 OS 版本各一份,照 tpm2-tools 那支抓法。A1 的「從包裝」就是裝這裡的東西。
extend:照 fetch_tpm2_debs.sh 先例,目標清單與 tpm2 同一組;build_agent_bundle 多一步呼叫
repo:/Users/chouraymond/Projects/Billows/Audit-Manager/evidence-agent
改既有:scripts/build/build_agent_bundle.sh
新開:scripts/build/fetch_docker_debs.sh
scripts/build/fetch_docker_debs.sh,整支照 BE repo scripts/build/fetch_tpm2_debs.sh 的結構抄(目標清單、在對應版本最精簡容器內 --download-only、el-9 產 repodata、平台固定 linux/amd64)。Docker 版本釘在檔頭一個變數 DOCKER_VERSION。download.docker.com/linux/<ubuntu|debian>,signed-by keyring),apt-get install --download-only docker-ce=<版> docker-ce-cli=<版> containerd.io docker-compose-plugin docker-ce-rootless-extras=<版> uidmap slirp4netns dbus-user-session。el-9:加 docker-ce.repo,dnf download --resolve 同清單加 fuse-overlayfs shadow-utils,createrepo_c。scripts/build/build_agent_bundle.sh 在 tpm2 debs 那步旁邊加一步呼叫,輸出 debs/docker/<目標>/;bundle 的 manifest/簽章範圍要含這些檔(看 gen_agent_manifest.py 怎麼收 debs/tpm2,照做)。dpkg -i/dnf install --disablerepo=* --repofrompath,docker --version 與 dockerd-rootless-setuptool.sh --help 都在。scripts/build/README.md 補一段:體積增量實測數字、DOCKER_VERSION bump 流程、為何不讓客戶自備(D4)。四個目標目錄各有 docker-ce/cli/containerd/compose-plugin/rootless-extras/uidmap/slirp4netns 與相依;el-9 含 repodata;在對應版本乾淨容器內離線 dpkg -i/dnf 裝得起;包體積增量寫進 README
docs/features/FR-193-2611-docker-rootless/design-v1.2.md(現行定稿)§1 決策 D1~D8、§2.2 接入點盤點、§3 詳細設計本卡那節、§4 主機六項、§6 拆卡表本卡那列;design.md/design-v1.1.md 已凍結只當沿革scripts/build/fetch_tpm2_debs.sh(離線套件抓法)、Agent scripts/install/lib/tpm.sh(離線裝法與 gate)、lib/upgrade_order.sh 檔頭(升級單不可信五條)、BE scripts/build/audit_nonroot_stack.sh --agent(總驗工具)