Files
aios/deploy/baseline-v1.1/CREDENTIALS.md
T
owner 6ffd7fe19c feat(governed): port Implementation Baseline 1.1 (57 files)
Apply the approved Implementation Baseline 1.1 architecture revisions onto the
current mainline, verified faithful to the delivered change bundle:

- Add aios_baseline: signed owner-delegation-grant.v1 / operational-epoch.v1 /
  task-principal.v1 auth chain, runtime contract + deployment-truth evaluator,
  declarative operation registry (effect-class + fail-closed dispatch),
  lineage ledger, release/recipe/saga ledger, bounded optimization controller,
  authenticated HTTP transport, resident worker loop and systemd host probe.
- Extend existing Job authority (aios_gitops_job_controller/executor) with
  durable intent/receipt/reconcile and fail-closed admission; harden
  task_plane/store heartbeat CAS and terminal-state fencing; make
  reconciliation_controller fail-closed on incomplete/drift evidence.
- Add isolated-validation profile templates (deploy/baseline-v1.1, systemd
  .example), source change/rollback tooling (tools/baseline_v1_1), the
  AT-01..AT-23 acceptance matrix, M0-M5 runbook, installation/rollback docs and
  the baseline_v1_1 test suite.
- Keep legacy write authorities untouched; isolated-validation profile only.

Staged blobs verified byte-identical to the delivered source-changes bundle.
Cross-platform baseline tests pass; systemd/fcntl-dependent paths require the
declared Linux x86_64 + CPython 3.12 + systemd runtime (site-bound).
2026-09-08 03:51:26 +08:00

2.6 KiB
Raw Blame History

Validation 实例的凭证边界

本目录的 .service.example 是候选验证实例模板。它们不自动安装,不替换现有 Task 权威,也不支持 production profile。先按 docs/implementation-baseline-1.1/INSTALLATION.md 完成离线验证,并由安装者将 @RELEASE_ROOT@ 替换为确定的、只读的发行目录,并将 @PYTHON_EXECUTABLE@ 绑定到已验收的独立虚拟环境 Python 绝对路径。

服务端账户为 aios-baseline;Worker 账户为 aios-baseline-worker。Worker 不获得机器签名私钥、Owner 私钥、服务端 token 清单或服务端数据库读取权。Worker 的 transport token 仅映射到已注册 Worker 身份;它不能自行声明租户、用户或权限。

消费者 凭证名 用途
validation API aios-baseline-machine-key 已安装的短期执行证明和 operation receipt 签名身份
validation API aios-baseline-user-token 验证配置中一位用户的 transport token;实际多用户要逐个绑定可信身份
validation API aios-baseline-worker-token 验证 Worker 的 transport token
validation Worker aios-baseline-worker-token 仅用于连接本机 API

每个 unit 使用自己的 LoadCredentialEncrypted= 从稳定的 /etc/credstore.encrypted/ 来源投影。两个服务可以获得同一个受治理 token 的独立投影,但任何服务都不读取另一服务的 /run/credentials/<unit>/。加密凭证名称与 LoadCredentialEncrypted 左侧名称必须一致,避免更名导致解密身份校验失败。

JSON 中仅允许以 ${CREDENTIALS_DIRECTORY}/<name> 引用自己的投影目录;不要写入 token、签名私钥或跨服务路径。Owner 公钥和 Runtime Contract 是受治理配置;Owner 私钥留在既有签发边界,不交给 API 或 Worker。凭证缺失时服务启动或操作准入必须失败,不能临时新建信任根或借用其他服务的运行目录。

本包不提供生成生产信任根的脚本。测试在临时目录生成测试专用密钥;它们不能用于真实部署。实际安装前还要确认当前主机 systemd 支持这些加固项和 encrypted credential,并对已渲染 unit 运行 systemd-analyze verify。本地模板静态检查不能代替实际服务重启、token 轮换及读取权限验收。

service-status 使用固定 /usr/bin/systemctl show 参数和可信 unit 映射,只读取注册组件状态。若目标主机限制状态读取,应对该命名 operation 配置最小读取权限;不要改成以 root 运行 API,也不要开放任意命令或 SSH。